Index v and other stuff
[dwarf-doc.git] / dwarf5 / latexdoc / typeentries.tex
index 3eaa8dd..ddeaad3 100644 (file)
@@ -60,8 +60,8 @@ a value of the type.
 \addtoindex{C} type int on a machine that uses 32\dash bit
 integers is represented by a base type entry with a name
 attribute whose value is “int”, an encoding attribute
-whose value is \livelink{chap:DWATEsigned}{DW\-\_ATE\-\_signed} and a byte size attribute whose
-value is 4.}
+whose value is \livelink{chap:DWATEsigned}{DW\-\_ATE\-\_signed}
+and a byte size attribute whose value is 4.}
 
 If the value of an object of the given type does not fully
 occupy the storage described by a byte size attribute,
@@ -112,7 +112,8 @@ support its use for compatibility.}
 \textit{The DWARF Version 3 definition of these attributes is as follows.}
 
 \begin{myindentpara}{1cm}
-\textit{A base type entry has a \livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size} attribute, whose value
+\textit{A base type entry has a \livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size}
+attribute, whose value
 (see Section \refersec{chap:staticanddynamicvaluesofattributes})
 is the size in bytes of the storage unit
 used to represent an object of the given type.}
@@ -138,7 +139,8 @@ defines the following combinations of attributes:}
 \begin{itemize}
 \item \textit{DW\-\_AT\-\_byte\-\_size}
 \item \textit{DW\-\_AT\-\_bit\-\_size}
-\item \textit{\livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size}, \livelink{chap:DWATbitsize}{DW\-\_AT\-\_bit\-\_size} 
+\item \textit{\livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size},
+\livelink{chap:DWATbitsize}{DW\-\_AT\-\_bit\-\_size} 
 and optionally \livelink{chap:DWATdatabitoffset}{DW\-\_AT\-\_data\-\_bit\-\_offset}}
 \end{itemize}
 DWARF V3 defines the following combinations:
@@ -146,7 +148,9 @@ DWARF V3 defines the following combinations:
 % bullet list, which looks horrible as a result.
 \begin{itemize}
 \item \textit{DW\-\_AT\-\_byte\-\_size}
-\item \textit{\livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size}, \livelink{chap:DWATbitsize}{DW\-\_AT\-\_bit\-\_size} and \livelink{chap:DWATbitoffset}{DW\-\_AT\-\_bit\-\_offset}}
+\item \textit{\livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size}, 
+\livelink{chap:DWATbitsize}{DW\-\_AT\-\_bit\-\_size} and 
+\livelink{chap:DWATbitoffset}{DW\-\_AT\-\_bit\-\_offset}}
 \end{itemize}
 
 \begin{figure}[!here]
@@ -158,9 +162,11 @@ Name&Meaning\\ \hline
   Section \refersec{chap:segmentedaddresses}) \\
 \livetarg{chap:DWATEboolean}{DW\-\_ATE\-\_boolean}& true or false \\
 
-\livetarg{chap:DWATEcomplexfloat}{DW\-\_ATE\-\_complex\-\_float}& complex binary floating\dash point number \\
+\livetarg{chap:DWATEcomplexfloat}{DW\-\_ATE\-\_complex\-\_float}& complex binary
+floating\dash point number \\
 \livetarg{chap:DWATEfloat}{DW\-\_ATE\-\_float} & binary floating\dash point number \\
-\livetarg{chap:DWATEimaginaryfloat}{DW\-\_ATE\-\_imaginary\-\_float}& imaginary binary floating\dash point number \\
+\livetarg{chap:DWATEimaginaryfloat}{DW\-\_ATE\-\_imaginary\-\_float}& imaginary binary
+floating\dash point number \\
 \livetarg{chap:DWATEsigned}{DW\-\_ATE\-\_signed}& signed binary integer \\
 \livetarg{chap:DWATEsignedchar}{DW\-\_ATE\-\_signed\-\_char}& signed character \\
 \livetarg{chap:DWATEunsigned}{DW\-\_ATE\-\_unsigned} & unsigned binary integer \\
@@ -221,7 +227,8 @@ value that represents the number of digits in an instance of
 the type.
 
 \hypertarget{chap:DWATdecimalscaledecimalscalefactor}
-The \livelink{chap:DWATdecimalscale}{DW\-\_AT\-\_decimal\-\_scale} attribute is an integer constant value
+The \livelink{chap:DWATdecimalscale}{DW\-\_AT\-\_decimal\-\_scale}
+attribute is an integer constant value
 that represents the exponent of the base ten scale factor to
 be applied to an instance of the type. A scale of zero puts the
 decimal point immediately to the right of the least significant
@@ -305,8 +312,10 @@ attribute in mind.}
 \begin{tabular}{lp{9cm}}
 Name&Meaning\\ \hline
 \livetarg{chap:DWDSunsigned}{DW\-\_DS\-\_unsigned} &  unsigned \\
-\livetarg{chap:DWDSleadingoverpunch}{DW\-\_DS\-\_leading\-\_overpunch} & Sign is encoded in the most significant digit in a target\dash dependent  manner \\
-\livetarg{chap:DWDStrailingoverpunch}{DW\-\_DS\-\_trailing\-\_overpunch} & Sign is encoded in the least significant digit in a target\dash dependent manner \\
+\livetarg{chap:DWDSleadingoverpunch}{DW\-\_DS\-\_leading\-\_overpunch} & Sign
+is encoded in the most significant digit in a target\dash dependent  manner \\
+\livetarg{chap:DWDStrailingoverpunch}{DW\-\_DS\-\_trailing\-\_overpunch} & Sign
+is encoded in the least significant digit in a target\dash dependent manner \\
 \livetarg{chap:DWDSleadingseparate}{DW\-\_DS\-\_leading\-\_separate} 
 & Decimal type: Sign is a ``+'' or ``-'' character 
 to the left of the most significant digit. \\
@@ -323,9 +332,11 @@ indicating positive or negative. \\
 
 \section{Unspecified Type Entries}
 \label{chap:unspecifiedtypeentries}
+\addtoindexx{unspecified type entry}
+\addtoindexx{void type|see{unspecified type entry}}
 Some languages have constructs in which a type 
 may be left unspecified or the absence of a type
-\addtoindex{unspecified type entry}
+
 may be explicitly indicated.
 
 An unspecified (implicit, unknown, ambiguous or nonexistent)
@@ -333,7 +344,8 @@ type is represented by a debugging information entry with
 the tag \livetarg{chap:DWTAGunspecifiedtype}{DW\-\_TAG\-\_unspecified\-\_type}. 
 If a name has been given
 to the type, then the corresponding unspecified type entry
-has a \livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute whose value is a null\dash terminated
+has a \livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute whose value is
+a null\dash terminated
 string containing the name as it appears in the source program.
 
 The interpretation of this debugging information entry is
@@ -353,8 +365,11 @@ respectively). As another
 example, in \addtoindex{Ada} such an unspecified type entry can be referred
 to by the type attribute of an access type where the denoted
 type is incomplete (the name is declared as a type but the
-definition is deferred to a separate compilation unit). Type
-Modifier Entries
+definition is deferred to a separate compilation unit).
+
+\section{Type Modifier Entries}
+\label{chap:typemodifierentries}
+\addtoindexx{type modifier entry}
 
 A base or user\dash defined type may be modified in different ways
 in different languages. A type modifier is represented in
@@ -362,7 +377,6 @@ DWARF by a debugging information entry with one of the tags
 given in 
 Figure \refersec{fig:typemodifiertags}.
 
-
 If a name has been given to the modified type in the source
 program, then the corresponding modified type entry has
 a \livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute whose value is a null-terminated
@@ -376,7 +390,8 @@ describing a base type, a user-defined type or another type
 modifier.
 
 A modified type entry describing a pointer or reference
-type (using \livelink{chap:DWTAGpointertype}{DW\-\_TAG\-\_pointer\-\_type}, \livelink{chap:DWTAGreferencetype}{DW\-\_TAG\-\_reference\-\_type} or
+type (using \livelink{chap:DWTAGpointertype}{DW\-\_TAG\-\_pointer\-\_type},
+\livelink{chap:DWTAGreferencetype}{DW\-\_TAG\-\_reference\-\_type} or
 \livelink{chap:DWTAGrvaluereferencetype}{DW\-\_TAG\-\_rvalue\-\_reference\-\_type}) 
 % Another instance of no-good-place-to-put-index entry.
 may
@@ -389,7 +404,8 @@ attribute to describe how objects having the given pointer
 or reference type ought to be dereferenced.
 
 A modified type entry describing a shared qualified type
-(using \livelink{chap:DWTAGsharedtype}{DW\-\_TAG\-\_shared\-\_type}) may have a \livelink{chap:DWATcount}{DW\-\_AT\-\_count} attribute
+(using \livelink{chap:DWTAGsharedtype}{DW\-\_TAG\-\_shared\-\_type}) may have a
+\livelink{chap:DWATcount}{DW\-\_AT\-\_count} attribute
 whose value is a constant expressing the blocksize of the
 type. If no count attribute is present, then the “infinite”
 blocksize is assumed.
@@ -403,16 +419,24 @@ order in the source presentation.
 \centering
 \begin{tabular}{lp{9cm}}
 Name&Meaning\\ \hline
-\livetarg{chap:DWTAGconsttype}{DW\-\_TAG\-\_const\-\_type} &  C or C++ const qualified type \addtoindexx{C} \addtoindexx{C++} \\
-\livetarg{chap:DWTAGpackedtype}{DW\-\_TAG\-\_packed\-\_type}& Pascal or Ada packed type \addtoindexx{Ada} \addtoindexx{Pascal} \\
-\livetarg{chap:DWTAGpointertype}{DW\-\_TAG\-\_pointer\-\_type} & Pointer to an object of the type being modified \\
-\livetarg{chap:DWTAGreferencetype}{DW\-\_TAG\-\_reference\-\_type}& C++ (lvalue) reference to an object of the type 
-being modified \\
-\livetarg{chap:DWTAGrestricttype}{DW\-\_TAG\-\_restrict\-\_type}&C restrict qualified type \\
-\livetarg{chap:DWTAGrvaluereferencetype}{DW\-\_TAG\-\_rvalue\-\_reference\-\_type} & C++ rvalue reference to an object of the type
-being modified \\
-\livetarg{chap:DWTAGsharedtype}{DW\-\_TAG\-\_shared\-\_type}&UPC shared qualified type \\
-\livetarg{chap:DWTAGvolatiletype}{DW\-\_TAG\-\_volatile\-\_type}&C or C++ volatile qualified type \\
+\livetarg{chap:DWTAGconsttype}{DW\-\_TAG\-\_const\-\_type} &  C or C++ const qualified type
+\addtoindexx{const qualified type entry} \addtoindexx{C} \addtoindexx{C++} \\
+\livetarg{chap:DWTAGpackedtype}{DW\-\_TAG\-\_packed\-\_type}& Pascal or Ada packed type
+\addtoindexx{packed qualified type entry} \addtoindexx{Ada} \addtoindexx{Pascal} \\
+\livetarg{chap:DWTAGpointertype}{DW\-\_TAG\-\_pointer\-\_type} & Pointer to an object of
+the type being modified \addtoindexx{pointer qualified type entry} \\
+\livetarg{chap:DWTAGreferencetype}{DW\-\_TAG\-\_reference\-\_type}& C++ (lvalue) reference
+to an object of the type 
+being modified \addtoindexx{reference qualified type entry} \\
+\livetarg{chap:DWTAGrestricttype}{DW\-\_TAG\-\_restrict\-\_type}&C restrict qualified type
+\addtoindexx{restricted qualified type entry} \\
+\livetarg{chap:DWTAGrvaluereferencetype}{DW\-\_TAG\-\_rvalue\-\_reference\-\_type} & C++
+rvalue reference to an object of the type being modified 
+\addtoindexx{rvalue reference qualified type entry} \\
+\livetarg{chap:DWTAGsharedtype}{DW\-\_TAG\-\_shared\-\_type}&UPC shared qualified type 
+\addtoindexx{shared qualified type entry} \\
+\livetarg{chap:DWTAGvolatiletype}{DW\-\_TAG\-\_volatile\-\_type}&C or C++ volatile qualified type 
+\addtoindex{volatile qualified type entry} \\
 \end{tabular}
 \caption{Type modifier tags}
 \label{fig:typemodifiertags}
@@ -552,7 +576,8 @@ the number of array elements by the size of each element.}
 
 Each array dimension is described by a debugging information
 entry with either the tag \livelink{chap:DWTAGsubrangetype}{DW\-\_TAG\-\_subrange\-\_type} or the tag
-\livelink{chap:DWTAGenumerationtype}{DW\-\_TAG\-\_enumeration\-\_type}. These entries are children of the
+\livelink{chap:DWTAGenumerationtype}{DW\-\_TAG\-\_enumeration\-\_type}. These entries are
+children of the
 array type entry and are ordered to reflect the appearance of
 the dimensions in the source program (i.e., leftmost dimension
 first, next to leftmost second, and so on).
@@ -592,6 +617,7 @@ own space in computer memory. The components of a C or C++
 
 \textit{\addtoindex{Pascal} and 
 other languages have a “discriminated union,”
+\addtoindex{discriminated union|see {variant entry}}
 also called a “variant record.” Here, selection of a
 number of alternative substructures (“variants”) is based
 on the value of a component that is not part of any of those
@@ -632,7 +658,8 @@ and appear in the same order as the corresponding declarations
 in the source program.
 
 A structure type, union type or class type entry may have
-either a \livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size} or a \livelink{chap:DWATbitsize}{DW\-\_AT\-\_bit\-\_size} attribute 
+either a \livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size} or a
+\livelink{chap:DWATbitsize}{DW\-\_AT\-\_bit\-\_size} attribute 
 \hypertarget{chap:DWATbitsizedatamemberbitsize}
 (see Section \refersec{chap:byteandbitsizes}), 
 whose value is the amount of storage needed
@@ -887,12 +914,14 @@ The member entry corresponding to a data member that is
 defined 
 \hypertarget{chap:DWATdatamemberlocationdatamemberlocation}
 in a structure, union or class may have either a
-\livelink{chap:DWATdatamemberlocation}{DW\-\_AT\-\_data\-\_member\-\_location} attribute or a \livelink{chap:DWATdatabitoffset}{DW\-\_AT\-\_data\-\_bit\-\_offset}
+\livelink{chap:DWATdatamemberlocation}{DW\-\_AT\-\_data\-\_member\-\_location} attribute or a
+\livelink{chap:DWATdatabitoffset}{DW\-\_AT\-\_data\-\_bit\-\_offset}
 attribute. If the beginning of the data member is the same as
 the beginning of the containing entity then neither attribute
 is required.
 
-For a \livelink{chap:DWATdatamemberlocation}{DW\-\_AT\-\_data\-\_member\-\_location} attribute there are two cases:
+For a \livelink{chap:DWATdatamemberlocation}{DW\-\_AT\-\_data\-\_member\-\_location} attribute
+there are two cases:
 
 \begin{enumerate}[1.]
 
@@ -912,20 +941,22 @@ the evaluation is the base address of the member entry.
 the containing construct is equivalent to execution of the
 \livelink{chap:DWOPpushobjectaddress}{DW\-\_OP\-\_push\-\_object\-\_address} operation 
 (see Section \refersec{chap:stackoperations});
-\livelink{chap:DWOPpushobjectaddress}{DW\-\_OP\-\_push\-\_object\-\_address} therefore is not needed at the
+\livelink{chap:DWOPpushobjectaddress}{DW\-\_OP\-\_push\-\_object\-\_address} therefore 
+is not needed at the
 beginning of a location description for a data member. The
 result of the evaluation is a location--either an address or
 the name of a register, not an offset to the member.}
 
-\textit{A \livelink{chap:DWATdatamemberlocation}{DW\-\_AT\-\_data\-\_member\-\_location} attribute that has the form of a
+\textit{A \livelink{chap:DWATdatamemberlocation}{DW\-\_AT\-\_data\-\_member\-\_location} 
+attribute that has the form of a
 location description is not valid for a data member contained
 in an entity that is not byte aligned because DWARF operations
 do not allow for manipulating or computing bit offsets.}
 
 \end{enumerate}
 
-For a \livelink{chap:DWATdatabitoffset}{DW\-\_AT\-\_data\-\_bit\-\_offset} attribute, the value is an integer
-constant 
+For a \livelink{chap:DWATdatabitoffset}{DW\-\_AT\-\_data\-\_bit\-\_offset} attribute, 
+the value is an integer constant 
 (see Section \refersec{chap:staticanddynamicvaluesofattributes}) 
 that specifies the number of bits
 from the beginning of the containing entity to the beginning
@@ -946,7 +977,8 @@ of storage needed to hold the value of the data member.
 \textit{\addtoindex{C} and \addtoindex{C++} 
 \addtoindex{bit fields} 
 typically require the use of the
-\livelink{chap:DWATdatabitoffset}{DW\-\_AT\-\_data\-\_bit\-\_offset} and \livelink{chap:DWATbitsize}{DW\-\_AT\-\_bit\-\_size} attributes.}
+\livelink{chap:DWATdatabitoffset}{DW\-\_AT\-\_data\-\_bit\-\_offset} and 
+\livelink{chap:DWATbitsize}{DW\-\_AT\-\_bit\-\_size} attributes.}
 
 \textit{This Standard uses the following bit numbering and direction
 conventions in examples. These conventions are for illustrative
@@ -1040,13 +1072,14 @@ the target architecture may or may not make this seem natural.}
 and arrays, see 
 Appendix \refersec{app:pascalexample}.}
 
-\textit{Attribute \livelink{chap:DWATdatabitoffset}{DW\-\_AT\-\_data\-\_bit\-\_offset} is new in DWARF Version 4 and
-is also used for base types 
+\textit{Attribute \livelink{chap:DWATdatabitoffset}{DW\-\_AT\-\_data\-\_bit\-\_offset} 
+is new in DWARF Version 4 and is also used for base types 
 (see Section 
 \refersec{chap:basetypeentries}). 
 It replaces the
 \livetarg{chap:DWATbitoffsetdatamemberbitlocation}
-attributes \livelink{chap:DWATbitoffset}{DW\-\_AT\-\_bit\-\_offset} and \livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size} when used to
+attributes \livelink{chap:DWATbitoffset}{DW\-\_AT\-\_bit\-\_offset} and
+\livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size} when used to
 identify the beginning of bit field data members as defined
 in DWARF V3 and earlier. The earlier attributes are defined
 in a manner suitable for bit field members on big-endian
@@ -1109,21 +1142,25 @@ the bit field is the value of the bit offset attribute.}
 
 
 \textit{Diagrams similar to the above that show the use of the
-\livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size}, \livelink{chap:DWATbitsize}{DW\-\_AT\-\_bit\-\_size} and \livelink{chap:DWATbitoffset}{DW\-\_AT\-\_bit\-\_offset} attribute
+\livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size}, 
+\livelink{chap:DWATbitsize}{DW\-\_AT\-\_bit\-\_size} and 
+\livelink{chap:DWATbitoffset}{DW\-\_AT\-\_bit\-\_offset} attribute
 combination may be found in the DWARF Version 3 Standard.}
 
 \textit{In comparing DWARF Versions 3 and 4, note that DWARF V4
 defines the following combinations of attributes:}
 
 \begin{itemize}
-\item \textit{either \livelink{chap:DWATdatamemberlocation}{DW\-\_AT\-\_data\-\_member\-\_location} or
-\livelink{chap:DWATdatabitoffset}{DW\-\_AT\-\_data\-\_bit\-\_offset} (to specify the beginning of the
-data member)}
+\item \textit{either \livelink{chap:DWATdatamemberlocation}{DW\-\_AT\-\_data\-\_member\-\_location} 
+or
+\livelink{chap:DWATdatabitoffset}{DW\-\_AT\-\_data\-\_bit\-\_offset} 
+(to specify the beginning of the data member)}
 
 % FIXME: the indentation of the following line is suspect.
 \textit{optionally together with}
 
-\item  \textit{either \livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size} or \livelink{chap:DWATbitsize}{DW\-\_AT\-\_bit\-\_size} (to
+\item  \textit{either \livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size} or 
+\livelink{chap:DWATbitsize}{DW\-\_AT\-\_bit\-\_size} (to
 specify the size of the data member)}
 
 \end{itemize}
@@ -1131,14 +1168,17 @@ specify the size of the data member)}
 \textit{DWARF V3 defines the following combinations}
 
 \begin{itemize}
-\item \textit{\livelink{chap:DWATdatamemberlocation}{DW\-\_AT\-\_data\-\_member\-\_location} (to specify the beginning
+\item \textit{\livelink{chap:DWATdatamemberlocation}{DW\-\_AT\-\_data\-\_member\-\_location} 
+(to specify the beginning
 of the data member, except this specification is only partial
 in the case of a bit field) }
 
 % FIXME: the indentation of the following line is suspect.
 \textit{optionally together with}
 
-\item \textit{\livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size}, \livelink{chap:DWATbitsize}{DW\-\_AT\-\_bit\-\_size} and \livelink{chap:DWATbitoffset}{DW\-\_AT\-\_bit\-\_offset}
+\item \textit{\livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size}, 
+\livelink{chap:DWATbitsize}{DW\-\_AT\-\_bit\-\_size} and 
+\livelink{chap:DWATbitoffset}{DW\-\_AT\-\_bit\-\_offset}
 (to further specify the beginning of a bit field data member
 as well as specify the size of the data member) }
 \end{itemize}
@@ -1147,7 +1187,8 @@ as well as specify the size of the data member) }
 \label{chap:memberfunctionentries}
 
 A member function is represented by a debugging information
-entry with the tag \livelink{chap:DWTAGsubprogram}{DW\-\_TAG\-\_subprogram}. The member function entry
+entry with the tag \livelink{chap:DWTAGsubprogram}{DW\-\_TAG\-\_subprogram}.
+The member function entry
 may contain the same attributes and follows the same rules
 as non\dash member global subroutine entries 
 (see Section \refersec{chap:subroutineandentrypointentries}).
@@ -1175,7 +1216,8 @@ function, then that entry has a
 An 
 \hypertarget{chap:DWATvtableelemlocationvirtualfunctiontablevtableslot}
 entry for a virtual function also has a
-\livelink{chap:DWATvtableelemlocation}{DW\-\_AT\-\_vtable\-\_elem\-\_location} attribute whose value contains
+\livelink{chap:DWATvtableelemlocation}{DW\-\_AT\-\_vtable\-\_elem\-\_location}
+\addtoindexi{attribute}{vtable element location attribute} whose value contains
 a location description yielding the address of the slot
 for the function within the virtual function table for the
 enclosing class. The address of an object of the enclosing
@@ -1185,7 +1227,8 @@ description is evaluated.
 If 
 \hypertarget{chap:DWATobjectpointerobjectthisselfpointerofmemberfunction}
 the member function entry describes a non\dash static member
-function, then that entry has a \livelink{chap:DWATobjectpointer}{DW\-\_AT\-\_object\-\_pointer} attribute
+function, then that entry has a \livelink{chap:DWATobjectpointer}{DW\-\_AT\-\_object\-\_pointer} 
+attribute
 whose value is a reference to the formal parameter entry
 that corresponds to the object for which the function is
 called. The name attribute of that formal parameter is defined
@@ -1196,7 +1239,8 @@ and some other languages). That parameter
 also has a \livelink{chap:DWATartificial}{DW\-\_AT\-\_artificial} attribute whose value is true.
 
 Conversely, if the member function entry describes a static
-member function, the entry does not have a \livelink{chap:DWATobjectpointer}{DW\-\_AT\-\_object\-\_pointer}
+member function, the entry does not have a 
+\livelink{chap:DWATobjectpointer}{DW\-\_AT\-\_object\-\_pointer}
 attribute.
 
 If the member function entry describes a non\dash static member
@@ -1208,7 +1252,8 @@ const\dash volatile qualification.
 If a subroutine entry represents the defining declaration
 of a member function and that definition appears outside of
 the body of the enclosing class declaration, the subroutine
-entry has a \livelink{chap:DWATspecification}{DW\-\_AT\-\_specification} attribute, whose value is
+entry has a \livelink{chap:DWATspecification}{DW\-\_AT\-\_specification} 
+attribute, whose value is
 a reference to the debugging information entry representing
 the declaration of this function member. The referenced entry
 will be a child of some class (or structure) type entry.
@@ -1232,7 +1277,8 @@ definition, but does represent each instantiation.}
 
 A class template instantiation is represented by a
 debugging information entry with the tag \livelink{chap:DWTAGclasstype}{DW\-\_TAG\-\_class\-\_type},
-\livelink{chap:DWTAGstructuretype}{DW\-\_TAG\-\_structure\-\_type} or \livelink{chap:DWTAGuniontype}{DW\-\_TAG\-\_union\-\_type}. With five
+\livelink{chap:DWTAGstructuretype}{DW\-\_TAG\-\_structure\-\_type} or 
+\livelink{chap:DWTAGuniontype}{DW\-\_TAG\-\_union\-\_type}. With five
 exceptions, such an entry will contain the same attributes
 and have the same types of child entries as would an entry
 for a class type defined explicitly using the instantiation
@@ -1241,7 +1287,8 @@ types and values. The exceptions are:
 \begin{enumerate}[1.]
 \item Each formal parameterized type declaration appearing in the
 template definition is represented by a debugging information
-entry with the tag \livelink{chap:DWTAGtemplatetypeparameter}{DW\-\_TAG\-\_template\-\_type\-\_parameter}. Each
+entry with the tag 
+\livelink{chap:DWTAGtemplatetypeparameter}{DW\-\_TAG\-\_template\-\_type\-\_parameter}. Each
 such entry may have a \livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute, whose value is
 a null\dash terminated string containing the name of the formal
 type parameter as it appears in the source program. The
@@ -1293,7 +1340,7 @@ generated artificially by the compiler.
 \label{chap:variantentries}
 
 A variant part of a structure is represented by a debugging
-information entry with the 
+information entry\addtoindexx{variant part entry} with the 
 tag \livetarg{chap:DWTAGvariantpart}{DW\-\_TAG\-\_variant\-\_part} and is
 owned by the corresponding structure type entry.
 
@@ -1313,7 +1360,7 @@ the tag type.
 
 Each variant of a particular variant part is represented by
 \hypertarget{chap:DWATdiscrvaluediscriminantvalue}
-a debugging information entry with the 
+a debugging information entry\addtoindexx{variant entry} with the 
 tag \livetarg{chap:DWTAGvariant}{DW\-\_TAG\-\_variant}
 and is a child of the variant part entry. The value that
 selects a given variant may be represented in one of three
@@ -1337,7 +1384,8 @@ item on the list is prefixed with a discriminant value
 descriptor that determines whether the list item represents
 a single label or a label range. A single case label is
 represented as an LEB128 number as defined above for the
-\livelink{chap:DWATdiscrvalue}{DW\-\_AT\-\_discr\-\_value} attribute. A label range is represented by
+\livelink{chap:DWATdiscrvalue}{DW\-\_AT\-\_discr\-\_value} 
+attribute. A label range is represented by
 two LEB128 numbers, the low value of the range followed by the
 high value. Both values follow the rules for signedness just
 described. The discriminant value descriptor is an integer
@@ -1372,7 +1420,8 @@ Semantically, the condition is ‛true’ if the conditional
 variable's value matches any of the described constants,
 and the condition is ‛false’ otherwise.}
 
-The \livetarg{chap:DWTAGcondition}{DW\-\_TAG\-\_condition} debugging information entry
+The \livetarg{chap:DWTAGcondition}{DW\-\_TAG\-\_condition}
+debugging information entry\addtoindexx{condition entry}
 describes a
 logical condition that tests whether a given data item’s
 value matches one of a set of constant values. If a name
@@ -1382,7 +1431,8 @@ giving the condition name as it appears in the source program.
 
 The condition entry's parent entry describes the conditional
 variable; normally this will be a \livelink{chap:DWTAGvariable}{DW\-\_TAG\-\_variable},
-\livelink{chap:DWTAGmember}{DW\-\_TAG\-\_member} or \livelink{chap:DWTAGformalparameter}{DW\-\_TAG\-\_formal\-\_parameter} entry. If the parent
+\livelink{chap:DWTAGmember}{DW\-\_TAG\-\_member} or 
+\livelink{chap:DWTAGformalparameter}{DW\-\_TAG\-\_formal\-\_parameter} entry. If the parent
 entry has an array type, the condition can test any individual
 element, but not the array as a whole. The condition entry
 implicitly specifies a “comparison type” that is the
@@ -1449,8 +1499,8 @@ integral type determined by the compiler from the properties of
 \hypertarget{chap:DWATenumclasstypesafeenumerationdefinition}
 the enumeration literal values. A \addtoindex{C++} type declaration written
 using enum class declares a strongly typed enumeration and
-is represented using \livelink{chap:DWTAGenumerationtype}{DW\-\_TAG\-\_enumeration\-\_type} in combination
-with \livelink{chap:DWATenumclass}{DW\-\_AT\-\_enum\-\_class}.}
+is represented using \livelink{chap:DWTAGenumerationtype}{DW\-\_TAG\-\_enumeration\-\_type} 
+in combination with \livelink{chap:DWATenumclass}{DW\-\_AT\-\_enum\-\_class}.}
 
 Each enumeration literal is represented by a debugging
 information entry with the 
@@ -1476,7 +1526,8 @@ dimension of an array type, and the stride for that dimension
 \hypertarget{chap:DWATbytestrideenumerationstridedimensionofarraytype}
 is different than what would otherwise be determined, then
 \hypertarget{chap:DWATbitstrideenumerationstridedimensionofarraytype}
-the enumeration type entry has either a \livelink{chap:DWATbytestride}{DW\-\_AT\-\_byte\-\_stride}
+the enumeration type entry has either a 
+\livelink{chap:DWATbytestride}{DW\-\_AT\-\_byte\-\_stride}
 or \livelink{chap:DWATbitstride}{DW\-\_AT\-\_bit\-\_stride} attribute 
 \addtoindexx{bit stride attribute}
 which specifies the separation
@@ -1544,7 +1595,8 @@ interpretations:
 \begin{enumerate}[1.]
 \item The formal parameters of a parameter list (that have a
 specific type) are represented by a debugging information entry
-with the tag \livelink{chap:DWTAGformalparameter}{DW\-\_TAG\-\_formal\-\_parameter}. Each formal parameter
+with the tag \livelink{chap:DWTAGformalparameter}{DW\-\_TAG\-\_formal\-\_parameter}. 
+Each formal parameter
 entry has a \livelink{chap:DWATtype}{DW\-\_AT\-\_type} attribute that refers to the type of
 the formal parameter.
 
@@ -1592,7 +1644,8 @@ size attribute is present, the size of the data to be retrieved
 is the same as the size of an address on the target machine.
 
 If no string length attribute is present, the string type
-entry may have a \livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size} attribute or \livelink{chap:DWATbitsize}{DW\-\_AT\-\_bit\-\_size}
+entry may have a \livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size} attribute or 
+\livelink{chap:DWATbitsize}{DW\-\_AT\-\_bit\-\_size}
 attribute, whose value 
 (see Section \refersec{chap:byteandbitsizes}) 
 is the amount of
@@ -1619,7 +1672,8 @@ If the amount of storage allocated to hold each element of an
 object of the given set type is different from the amount of
 storage that is normally allocated to hold an individual object
 of the indicated element type, then the set type entry has
-either a \livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size} attribute, or \livelink{chap:DWATbitsize}{DW\-\_AT\-\_bit\-\_size} attribute
+either a \livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size} attribute, or 
+\livelink{chap:DWATbitsize}{DW\-\_AT\-\_bit\-\_size} attribute
 whose value (see Section \refersec{chap:byteandbitsizes}) is
 the amount of storage needed to hold a value of the set type.
 
@@ -1650,7 +1704,8 @@ If the amount of storage allocated to hold each element of an
 object of the given subrange type is different from the amount
 of storage that is normally allocated to hold an individual
 object of the indicated element type, then the subrange
-type entry has a \livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size} attribute or \livelink{chap:DWATbitsize}{DW\-\_AT\-\_bit\-\_size}
+type entry has a \livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size} attribute or 
+\livelink{chap:DWATbitsize}{DW\-\_AT\-\_bit\-\_size}
 attribute, whose value 
 (see Section \refersec{chap:staticanddynamicvaluesofattributes})
 is the amount of
@@ -1678,7 +1733,8 @@ subrange
 entry may have the attributes 
 \livelink{chap:DWATlowerbound}{DW\-\_AT\-\_lower\-\_bound}
 and \livelink{chap:DWATupperbound}{DW\-\_AT\-\_upper\-\_bound} to specify, respectively, the lower
-and upper bound values of the subrange. The \livelink{chap:DWATupperbound}{DW\-\_AT\-\_upper\-\_bound}
+and upper bound values of the subrange. The 
+\livelink{chap:DWATupperbound}{DW\-\_AT\-\_upper\-\_bound}
 attribute 
 \hypertarget{chap:DWATcountelementsofsubrangetype}
 may be replaced by a 
@@ -1784,12 +1840,12 @@ rather than with each instance of the type.}
 The \livelink{chap:DWATuselocation}{DW\-\_AT\-\_use\-\_location} description is used in conjunction
 with the location descriptions for a particular object of the
 given pointer to member type and for a particular structure or
-class instance. The \livelink{chap:DWATuselocation}{DW\-\_AT\-\_use\-\_location} attribute expects two
-values to be 
+class instance. The \livelink{chap:DWATuselocation}{DW\-\_AT\-\_use\-\_location} 
+attribute expects two values to be 
 \addtoindexi{pushed}{address!implicit push for member operator}
 onto the DWARF expression stack before
-the \livelink{chap:DWATuselocation}{DW\-\_AT\-\_use\-\_location} description is evaluated. The first
-value 
+the \livelink{chap:DWATuselocation}{DW\-\_AT\-\_use\-\_location} description is evaluated.
+The first value 
 \addtoindexi{pushed}{address!implicit push for member operator}
 is the value of the pointer to member object
 itself. The second value 
@@ -1951,7 +2007,8 @@ the following child entries:
 \item Each formal parameterized type declaration appearing
 in the template alias declaration is represented
 by a debugging information entry with the tag
-\livelink{chap:DWTAGtemplatetypeparameter}{DW\-\_TAG\-\_template\-\_type\-\_parameter}. Each such entry may have
+\livelink{chap:DWTAGtemplatetypeparameter}{DW\-\_TAG\-\_template\-\_type\-\_parameter}. 
+Each such entry may have
 a \livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute, whose value is a null\dash terminated
 string containing the name of the formal type parameter as it
 appears in the source program. The template type parameter
@@ -1961,14 +2018,15 @@ type by which the formal is replaced for this instantiation.
 \item Each formal parameterized value declaration
 appearing in the template alias declaration is
 represented by a debugging information entry with the tag
-\livelink{chap:DWTAGtemplatevalueparameter}{DW\-\_TAG\-\_template\-\_value\-\_parameter}. Each such entry may have
+\livelink{chap:DWTAGtemplatevalueparameter}{DW\-\_TAG\-\_template\-\_value\-\_parameter}. 
+Each such entry may have
 a \livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute, whose value is a null\dash terminated
 string containing the name of the formal value parameter
 as it appears in the source program. The template value
 parameter entry also has a \livelink{chap:DWATtype}{DW\-\_AT\-\_type} attribute describing
 the type of the parameterized value. Finally, the template
-value parameter entry has a \livelink{chap:DWATconstvalue}{DW\-\_AT\-\_const\-\_value} attribute, whose
-value is the actual constant value of the value parameter for
+value parameter entry has a \livelink{chap:DWATconstvalue}{DW\-\_AT\-\_const\-\_value} 
+attribute, whose value is the actual constant value of the value parameter for
 this instantiation as represented on the target architecture.
 \end{enumerate}