Misc corrections up thru Chpt 5
[dwarf-doc.git] / dwarf5 / latexdoc / dataobject.tex
index a986ecd..4584829 100644 (file)
@@ -26,10 +26,13 @@ have true named constants.}
 The debugging information entry for a program variable,
 formal parameter or constant may have the following attributes:
 \begin{enumerate}[1.]
-\item A \livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute, whose value is a null-terminated
+\item A \livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute,
+\addtoindexx{name attribute}
+whose value is a null-terminated
 string, containing the data object name as it appears in the
-source program.  If a variable entry describes 
-an 
+source program.
+
+If a variable entry describes an 
 \addtoindex{anonymous union},
 the name attribute is omitted or consists of a single
 zero byte.
@@ -40,10 +43,13 @@ which
 \addtoindexx{external attribute}
 is a \livelink{chap:flag}{flag}, if the name
 of a variable is visible outside of its enclosing compilation
-unit.  The definitions of C++ static data members of structures
+unit.  
+
+\textit{The definitions of C++ static data members of structures
 or classes are represented by variable entries \nolink{flagged} as
 external. Both file static and local variables in C and C++
 are represented by non-external variable entries.
+}
 
 \item A \livelink{chap:DWATdeclaration}{DW\-\_AT\-\_declaration} attribute, 
 \addtoindexx{declaration attribute}
@@ -51,15 +57,18 @@ which is a \livelink{chap:flag}{flag} that
 indicates whether this entry represents a non-defining
 declaration of an object.
 
-\item A \livelink{chap:DWATlocation}{DW\-\_AT\-\_location} attribute, whose value describes the
-location of a variable or parameter at run-time.  In a variable
+\item A \livelink{chap:DWATlocation}{DW\-\_AT\-\_location} attribute,
+\addtoindexx{location attribute}
+whose value describes the location of a variable or parameter at run-time.
+
+If no location attribute is present in a variable 
 entry representing the definition of a variable (that is,
 \addtoindexx{declaration attribute}
 with no 
-\livelink{chap:DWATdeclaration}{DW\-\_AT\-\_declaration} attribute) 
-if no location attribute
-is present, or if the location attribute is present but has
+\livelink{chap:DWATdeclaration}{DW\-\_AT\-\_declaration} attribute),
+or if the location attribute is present but has
 an empty location description (as described in Section 2.6),
+\addtoindexx{unallocated variable}
 the variable is assumed to exist in the source code but not
 in the executable program (but see number 10, below).
 
@@ -67,7 +76,10 @@ In a variable entry representing a non-defining declaration of a variable, the l
 specified modifies the location specified by the defining declaration and only applies for the
 scope of the variable entry; if no location is specified, then the location specified in the
 defining declaration applies.
-The location of a variable may be further specified with a \livelink{chap:DWATsegment}{DW\-\_AT\-\_segment} attribute, if
+The location of a variable may be further specified with 
+\addtoindexx{segment attribute!and data segment}
+a 
+\livelink{chap:DWATsegment}{DW\-\_AT\-\_segment} attribute, if
 appropriate.
 
 \item A \livelink{chap:DWATtype}{DW\-\_AT\-\_type} attribute describing the type of the variable,
@@ -79,13 +91,17 @@ the entry has a \livelink{chap:DWATspecification}{DW\-\_AT\-\_specification} att
 reference to the debugging information entry representing the
 declaration of this data member. The referenced entry has the
 tag \livelink{chap:DWTAGmember}{DW\-\_TAG\-\_member} and will be a child of some class, structure
-or union type entry.  If the variable entry represents a
+or union type entry.
+
+If the variable entry represents a
 non-defining declaration, \livelink{chap:DWATspecification}{DW\-\_AT\-\_specification} may be used
 to reference the defining declaration of the variable. If
 no \livelink{chap:DWATspecification}{DW\-\_AT\-\_specification} attribute is present, the defining
 declaration may be found as a global definition either in the
 current compilation unit or in another compilation unit with
-the \livelink{chap:DWATexternal}{DW\-\_AT\-\_external} attribute.  Variable entries containing
+the \livelink{chap:DWATexternal}{DW\-\_AT\-\_external} attribute.  
+
+Variable entries containing
 the \livelink{chap:DWATspecification}{DW\-\_AT\-\_specification} attribute do not need to duplicate
 information provided by the declaration entry referenced by
 the specification attribute. In particular, such variable
@@ -106,8 +122,10 @@ value in the calling function cannot be modified by the callee.
 
 \item A \livelink{chap:DWATisoptional}{DW\-\_AT\-\_is\-\_optional} attribute, 
 \hypertarget{chap:DWATisoptionaloptionalparameter}
-which is a \livelink{chap:flag}{flag}, if a
-parameter entry represents an optional parameter.
+which 
+\addtoindexx{is optional attribute}
+is a \livelink{chap:flag}{flag}, if a
+parameter entry represents an \addtoindex{optional parameter}.
 
 \item A \livelink{chap:DWATdefaultvalue}{DW\-\_AT\-\_default\-\_value} attribute 
 \addtoindexx{default value attribute}
@@ -141,12 +159,17 @@ or data \livelink{chap:block}{block} forms,
 as appropriate for the representation
 of the variable’s value. The value is the actual constant
 value of the variable, represented as it would be on the
-target architecture.  One way in which a formal parameter
+target architecture.  
+
+\textit{One way in which a formal parameter
 with a constant value and no location can arise is for a
 formal parameter of an inlined subprogram that corresponds
 to a constant actual parameter of a call that is inlined.
+}
 
-\item A \livelink{chap:DWATstartscope}{DW\-\_AT\-\_start\-\_scope} attribute if the scope of an
+\item A \livelink{chap:DWATstartscope}{DW\-\_AT\-\_start\-\_scope} attribute if the scope of 
+\addtoindexx{start scope attribute}
+an
 \hypertarget{chap:DWATstartscopeobjectdeclaration}
 object is smaller than (that is, is a subset of the addresses
 of) the scope most closely enclosing the object. There are
@@ -164,12 +187,13 @@ is non-contiguous
 (see \refersec{chap:noncontiguousaddressranges})
 the value of this
 attribute is the offset in bytes of the beginning of the scope
-for the object from the beginning of the first range list entry
+for the object from the beginning of the first \addtoindex{range list} entry
 that is not a base selection entry or an end of list entry.
 
 \item Otherwise, the scope of the object is specified using
-a value of class \livelink{chap:rangelistptr}{rangelistptr}. This value indicates the
-beginning of a range list
+a value of class \livelink{chap:rangelistptr}{rangelistptr}. 
+This value indicates the
+beginning of a \addtoindex{range list}
 (see \refersec{chap:noncontiguousaddressranges}).
 \end{enumerate}
 
@@ -198,9 +222,9 @@ because the scope of the local variable x only starts after
 the full declarator for the local x.}
 
 \textit{Due to optimization, the scope of an object may be
-non-contiguous and require use of a range list even when
+non-contiguous and require use of a \addtoindex{range list} even when
 the containing scope is contiguous. Conversely, the scope of
-an object may not require its own range list even when the
+an object may not require its own \addtoindex{range list} even when the
 containing scope is non\dash contiguous.}
 
 \item A \livelink{chap:DWATendianity}{DW\-\_AT\-\_endianity} attribute, 
@@ -212,11 +236,14 @@ that
 \addtoindexx{big-endian encoding|see{endianity attribute}}
 specifies 
 the endianity of the object. The value of
-this attribute specifies an ABI\dash defined byte ordering for
+this attribute specifies an ABI\dash defined 
+byte ordering \addtoindexx{ordering attribute} for
 the value of the object. If omitted, the default endianity
-of data for the given type is assumed.  The set of values
+of data for the given type is assumed.  
+
+The set of values
 and their meaning for this attribute is given in 
-Figure \refersec{fig:endianityattributevalues}.
+Figure \ref{fig:endianityattributevalues}.
 
 \begin{figure}[here]
 \centering
@@ -234,7 +261,7 @@ Name&Meaning\\ \hline
 
 
 These represent the default encoding formats as defined by
-the target architectures ABI or processor definition. The
+the target architecture's ABI or processor definition. The
 exact definition of these formats may differ in subtle ways
 for different architectures.
 
@@ -268,14 +295,18 @@ information entry with the
 tag \livetarg{chap:DWTAGcommonblock}{DW\-\_TAG\-\_common\-\_block}. 
 The
 common \nolink{block} 
-entry has a \livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute whose value
+entry has a \livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute 
+\addtoindexx{name attribute}
+whose value
 is a null-terminated string containing the 
 \livetargi{chap:commonblockreferenceattribute}{common}{common block reference attribute} \nolink{block}
 name as it appears in the source program. It may also have a
 \livelink{chap:DWATlinkagename}{DW\-\_AT\-\_linkage\-\_name} attribute as described in 
 Section \refersec{chap:linkagenames}. 
 It
-also has a \livelink{chap:DWATlocation}{DW\-\_AT\-\_location} attribute whose value describes the
+also has a \livelink{chap:DWATlocation}{DW\-\_AT\-\_location} attribute
+\addtoindexx{location attribute}
+whose value describes the
 location of the beginning of the common \nolink{block}. The common
 \nolink{block} entry owns debugging information entries describing
 the variables contained within the common \nolink{block}.
@@ -290,8 +321,11 @@ as a replacement for the list of names in various contexts.}
 A namelist is represented by a debugging information entry
 with the 
 tag \livetarg{chap:DWTAGnamelist}{DW\-\_TAG\-\_namelist}. 
+\addtoindexx{namelist entry}
 If the namelist itself has a
-name, the namelist entry has a \livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute, whose
+name, the namelist entry has a \livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute,
+\addtoindexx{name attribute}
+whose
 value is a null-terminated string containing the namelist’s
 name as it appears in the source program.
 
@@ -301,12 +335,18 @@ name that is part of the namelist is represented
 by a debugging information entry with the tag
 \livetarg{chap:DWTAGnamelistitem}{DW\-\_TAG\-\_namelist\-\_item}. 
 Each such entry is a child of the
-namelist entry, and all of the namelist item entries for a
+namelist entry, and all of the 
+namelist item entries for a
+\addtoindexx{namelist item entry}
 given namelist are ordered as were the list of names they
 correspond to in the source program.
 
-Each namelist item entry contains a \livelink{chap:DWATnamelistitem}{DW\-\_AT\-\_namelist\-\_item}
-attribute whose value is a reference to the debugging
+Each namelist item entry contains a 
+\livelink{chap:DWATnamelistitem}{DW\-\_AT\-\_namelist\-\_item} attribute
+\addtoindexx{namelist item attribute}
+whose 
+\addtoindexx{namelist item entry}
+value is a reference to the debugging
 information entry representing the declaration of the item
 whose name appears in the namelist.