AT_m n o links from attribute table (chap 2) to document
[dwarf-doc.git] / dwarf5 / latexdoc / typeentries.tex
index 94289a3..9eb3aa9 100644 (file)
@@ -40,7 +40,10 @@ Section \refersec{chap:dataobjectentries}.
 If omitted, the encoding assumes the representation that
 is the default for the target architecture.
 
-A base type entry has either a \livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size} attribute
+A base type entry has 
+\hypertarget{chap:DWATbytesizedataobjectordatatypesize}
+either a \livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size} attribute
+\hypertarget{chap:DWATbitsizebasetypebitsize}
 or a \livelink{chap:DWATbitsize}{DW\-\_AT\-\_bit\-\_size} attribute whose integer constant value
 (see Section \refersec{chap:byteandbitsizes}) 
 is the amount of storage needed to hold
@@ -49,12 +52,14 @@ a value of the type.
 \textit{For example, the 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 DW\-\_ATE\-\_signed and a byte size attribute whose
+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,
-the base type entry may also have a \livelink{chap:DWATbitsize}{DW\-\_AT\-\_bit\-\_size} and a
+\hypertarget{chap:DWATdatabitoffsetbasetypebitlocation}
+the base type entry may also have a 
+\livelink{chap:DWATbitsize}{DW\-\_AT\-\_bit\-\_size} and a
 \livelink{chap:DWATdatabitoffset}{DW\-\_AT\-\_data\-\_bit\-\_offset} attribute, both of whose values are
 integer constant values (
 see Section \refersec{chap:staticanddynamicvaluesofattributes}). 
@@ -74,13 +79,15 @@ of zero is assumed.
 is also used for bit field members 
 (see Section \refersec{chap:datamemberentries}). 
 It
+\hypertarget{chap:DWATbitoffsetbasetypebitlocation}
 replaces the attribute \livelink{chap:DWATbitoffset}{DW\-\_AT\-\_bit\-\_offset} when used for base
 types as defined in DWARF V3 and earlier. The earlier attribute
 is defined in a manner suitable for bit field members on
 big\dash endian architectures but which is wasteful for use on
 little\dash endian architectures.}
 
-\textit{The attribute \livelink{chap:DWATbitoffset}{DW\-\_AT\-\_bit\-\_offset} is deprecated in DWARF Version
+\textit{The attribute \livelink{chap:DWATbitoffset}{DW\-\_AT\-\_bit\-\_offset} is 
+deprecated in DWARF Version
 4 for use in base types, but implementations may continue to
 support its use for compatibility.}
 
@@ -123,46 +130,56 @@ DWARF V3 defines the following combinations:
 \centering
 \begin{tabular}{lp{9cm}}
 Name&Meaning\\ \hline
-DW\-\_ATE\-\_address &  linear machine address (for
+\livetarg{chap:DWATEaddress}{DW\-\_ATE\-\_address} &  linear machine address (for
   segmented addresses see
   Section \refersec{chap:segmentedaddresses}) \\
-DW\-\_ATE\-\_boolean& true or false \\
-
-DW\-\_ATE\-\_complex\-\_float& complex binary floating\dash point number \\
-DW\-\_ATE\-\_float & binary floating\dash point number \\
-DW\-\_ATE\-\_imaginary\-\_float& imaginary binary floating\dash point number \\
-DW\-\_ATE\-\_signed& signed binary integer \\
-DW\-\_ATE\-\_signed\-\_char& signed character \\
-DW\-\_ATE\-\_unsigned & unsigned binary integer \\
-DW\-\_ATE\-\_unsigned\-\_char & unsigned character \\
-DW\-\_ATE\-\_packed\-\_decimal  & packed decimal \\
-DW\-\_ATE\-\_numeric\-\_string& numeric string \\
-DW\-\_ATE\-\_edited & edited string \\
-DW\-\_ATE\-\_signed\-\_fixed & signed fixed\dash point scaled integer \\
-DW\-\_ATE\-\_unsigned\-\_fixed& unsigned fixed\dash point scaled integer \\
-DW\-\_ATE\-\_decimal\-\_float & decimal floating\dash point number \\ 
-DW\-\_ATE\-\_UTF & Unicode character \\
+\livetarg{chap:DWATEboolean}{DW\-\_ATE\-\_boolean}& true or false \\
+
+\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: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 \\
+\livetarg{chap:DWATEunsignedchar}{DW\-\_ATE\-\_unsigned\-\_char} & unsigned character \\
+\livetarg{chap:DWATEpackeddecimal}{DW\-\_ATE\-\_packed\-\_decimal}  & packed decimal \\
+\livetarg{chap:DWATEnumericstring}{DW\-\_ATE\-\_numeric\-\_string}& numeric string \\
+\livetarg{chap:DWATEedited}{DW\-\_ATE\-\_edited} & edited string \\
+\livetarg{chap:DWATEsignedfixed}{DW\-\_ATE\-\_signed\-\_fixed} & signed fixed\dash point scaled integer \\
+\livetarg{chap:DWATEunsignedfixed}{DW\-\_ATE\-\_unsigned\-\_fixed}& unsigned fixed\dash point scaled integer \\
+\livetarg{chap:DWATEdecimalfloat}{DW\-\_ATE\-\_decimal\-\_float} & decimal floating\dash point number \\ 
+\livetarg{chap:DWATEUTF}{DW\-\_ATE\-\_UTF} & Unicode character \\
 \end{tabular}
 \caption{Encoding attribute values}
 \label{fig:encodingattributevalues}
 \end{figure}
 
-\textit{The DW\-\_ATE\-\_decimal\-\_float encoding is intended for
+\textit{The \livelink{chap:DWATEdecimalfloat}{DW\-\_ATE\-\_decimal\-\_float} encoding is intended for
 floating\dash point representations that have a power\dash of\dash ten
 exponent, such as that specified in IEEE 754R.}
 
-\textit{The DW\-\_ATE\-\_UTF encoding is intended for Unicode string
+\textit{The \livelink{chap:DWATEUTF}{DW\-\_ATE\-\_UTF} encoding is intended for Unicode string
 encodings (see the Universal Character Set standard,
 ISO/IEC 10646\dash 1:1993). For example, the C++ type char16\_t is
 represented by a base type entry with a name attribute whose
 value is “char16\_t”, an encoding attribute whose value
-is DW\-\_ATE\-\_UTF and a byte size attribute whose value is 2.}
+is \livelink{chap:DWATEUTF}{DW\-\_ATE\-\_UTF} and a byte size attribute whose value is 2.}
 
-The DW\-\_ATE\-\_packed\-\_decimal and DW\-\_ATE\-\_numeric\-\_string base types
+The 
+\livelink{chap:DWATEpackeddecimal}{DW\-\_ATE\-\_packed\-\_decimal} 
+and 
+\livelink{chap:DWATEnumericstring}{DW\-\_ATE\-\_numeric\-\_string} 
+base types
 represent packed and unpacked decimal string numeric data
 types, respectively, either of which may be either signed
-or unsigned. These base types are used in combination with
-\livelink{chap:DWATdecimalsign}{DW\-\_AT\-\_decimal\-\_sign}, \livelink{chap:DWATdigitcount}{DW\-\_AT\-\_digit\-\_count} and \livelink{chap:DWATdecimalscale}{DW\-\_AT\-\_decimal\-\_scale}
+or unsigned. 
+\hypertarget{chap:DWATdecimalsigndecimalsignrepresentation}
+These 
+\hypertarget{chap:DWATdigitcountdigitcountforpackeddecimalornumericstringtype}
+base types are used in combination with
+\livelink{chap:DWATdecimalsign}{DW\-\_AT\-\_decimal\-\_sign}, 
+\livelink{chap:DWATdigitcount}{DW\-\_AT\-\_digit\-\_count} and 
+\livelink{chap:DWATdecimalscale}{DW\-\_AT\-\_decimal\-\_scale}
 attributes.
 
 A \livelink{chap:DWATdecimalsign}{DW\-\_AT\-\_decimal\-\_sign} attribute is an integer constant that
@@ -173,10 +190,13 @@ mean that the type has a leading overpunch, trailing overpunch,
 leading separate or trailing separate sign representation or,
 alternatively, no sign at all.
 
-The \livelink{chap:DWATdigitcount}{DW\-\_AT\-\_digit\-\_count} attribute is an integer constant
+The 
+\livelink{chap:DWATdigitcount}{DW\-\_AT\-\_digit\-\_count}
+attribute is an integer constant
 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
 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
@@ -188,7 +208,7 @@ decimal point to the left; if the absolute value of the scale
 is larger than the digit count, this implies additional zero
 digits on the left are not stored in an instance of the type.
 
-The DW\-\_ATE\-\_edited base type is used to represent an edited
+The \livelink{chap:DWATEedited}{DW\-\_ATE\-\_edited} base type is used to represent an edited
 numeric or alphanumeric data type. It is used in combination
 with an \livelink{chap:DWATpicturestring}{DW\-\_AT\-\_picture\-\_string} attribute whose value is a 
 null\dash terminated string containing the target\dash dependent picture
@@ -197,8 +217,8 @@ string associated with the type.
 If the edited base type entry describes an edited numeric
 data type, the edited type entry has a \livelink{chap:DWATdigitcount}{DW\-\_AT\-\_digit\-\_count} and a
 \livelink{chap:DWATdecimalscale}{DW\-\_AT\-\_decimal\-\_scale} attribute. These attributes have the same
-interpretation as described for the DW\-\_ATE\-\_packed\-\_decimal and
-DW\-\_ATE\-\_numeric\-\_string base types. If the edited type entry
+interpretation as described for the \livelink{chap:DWATEpackeddecimal}{DW\-\_ATE\-\_packed\-\_decimal} and
+\livelink{chap:DWATEnumericstring}{DW\-\_ATE\-\_numeric\-\_string} base types. If the edited type entry
 describes an edited alphanumeric data type, the edited type
 entry does not have these attributes.
 
@@ -209,19 +229,20 @@ distinguish edited numeric from edited alphanumeric, although
 in principle the digit count and scale are derivable by
 interpreting the picture string.}
 
-The DW\-\_ATE\-\_signed\-\_fixed and DW\-\_ATE\-\_unsigned\-\_fixed entries
+The \livelink{chap:DWATEsignedfixed}{DW\-\_ATE\-\_signed\-\_fixed} and \livelink{chap:DWATEunsignedfixed}{DW\-\_ATE\-\_unsigned\-\_fixed} entries
 describe signed and unsigned fixed\dash point binary data types,
 respectively.
 
 The fixed binary type entries have a \livelink{chap:DWATdigitcount}{DW\-\_AT\-\_digit\-\_count}
 attribute with the same interpretation as described for the
-DW\-\_ATE\-\_packed\-\_decimal and DW\-\_ATE\-\_numeric\-\_string base types.
+\livelink{chap:DWATEpackeddecimal}{DW\-\_ATE\-\_packed\-\_decimal} and \livelink{chap:DWATEnumericstring}{DW\-\_ATE\-\_numeric\-\_string} base types.
 
 For a data type with a decimal scale factor, the fixed binary
 type entry has a \livelink{chap:DWATdecimalscale}{DW\-\_AT\-\_decimal\-\_scale} attribute with the same
-interpretation as described for the DW\-\_ATE\-\_packed\-\_decimal
-and DW\-\_ATE\-\_numeric\-\_string base types.
+interpretation as described for the \livelink{chap:DWATEpackeddecimal}{DW\-\_ATE\-\_packed\-\_decimal}
+and \livelink{chap:DWATEnumericstring}{DW\-\_ATE\-\_numeric\-\_string} base types.
 
+\hypertarget{chap:DWATbinaryscalebinaryscalefactorforfixedpointtype}
 For a data type with a binary scale factor, the fixed
 binary type entry has a \livelink{chap:DWATbinaryscale}{DW\-\_AT\-\_binary\-\_scale} attribute. The
 \livelink{chap:DWATbinaryscale}{DW\-\_AT\-\_binary\-\_scale} attribute is an integer constant value
@@ -250,10 +271,14 @@ attribute in mind.}
 \centering
 \begin{tabular}{lp{9cm}}
 Name&Meaning\\ \hline
-DW\-\_DS\-\_unsigned &  unsigned \\
-DW\-\_DS\-\_leading\-\_overpunch & Sign is encoded in the most significant digit in a target\dash dependent  manner \\
-DW\-\_DS\-\_trailing\-\_overpunch & Sign is encoded in the least significant digit in a target\dash dependent manner \\
-DW\-\_DS\-\_leading\-\_separate & Decimal type: Sign a ``+'' or ``-'' character 
+\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:DWDSleadingseparate}{DW\-\_DS\-\_leading\-\_separate} 
+& Decimal type: Sign is a ``+'' or ``-'' character 
+to the left of the most significant digit. \\
+\livetarg{chap:DWDStrailingseparate}{DW\-\_DS\-\_trailing\-\_separate} 
+& Decimal type: Sign is a ``+'' or ``-'' character 
 to the right of the least significant digit. \\
 &Packed decimal type: Least significant nibble contains
 a target\dash dependent value
@@ -308,14 +333,19 @@ a \livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute whose value is a null-ter
 string containing the modified type name as it appears in
 the source program.
 
-Each of the type modifier entries has a \livelink{chap:DWATtype}{DW\-\_AT\-\_type} attribute,
+Each of the type modifier entries has a 
+\livelink{chap:DWATtype}{DW\-\_AT\-\_type} attribute,
 whose value is a reference to a debugging information entry
 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
-\livelink{chap:DWTAGrvaluereferencetype}{DW\-\_TAG\-\_rvalue\-\_reference\-\_type}) may have a \livelink{chap:DWATaddressclass}{DW\-\_AT\-\_address\-\_class}
+\livelink{chap:DWTAGrvaluereferencetype}{DW\-\_TAG\-\_rvalue\-\_reference\-\_type}) 
+may have 
+\hypertarget{chap:DWATadressclasspointerorreferencetypes}
+a 
+\livelink{chap:DWATaddressclass}{DW\-\_AT\-\_address\-\_class}
 attribute to describe how objects having the given pointer
 or reference type ought to be dereferenced.
 
@@ -416,7 +446,9 @@ array type entry has a \livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute whos
 null-terminated string containing the array type name as it
 appears in the source program.
 
-The array type entry describing a multidimensional array may
+The 
+\hypertarget{chap:DWATorderingarrayrowcolumnordering}
+array type entry describing a multidimensional array may
 have a \livelink{chap:DWATordering}{DW\-\_AT\-\_ordering} attribute whose integer constant value is
 interpreted to mean either row-major or column-major ordering
 of array elements. The set of values and their meanings
@@ -429,8 +461,8 @@ attribute of the enclosing compilation unit entry) is assumed.
 
 \begin{figure}[here]
 \autorows[0pt]{c}{1}{l}{
-\addtoindex{DW\-\_ORD\-\_col\-\_major},
-\addtoindex{DW\-\_ORD\-\_row\-\_major}
+\livetarg{chap:DWORDcolmajor}{DW\-\_ORD\-\_col\-\_major},
+\livetarg{chap:DWORDrowmajor}{DW\-\_ORD\-\_row\-\_major}
 }
 \caption{Array ordering}\label{fig:arrayordering}
 \end{figure}
@@ -444,7 +476,10 @@ the type of each element of the array.
 If the amount of storage allocated to hold each element of an
 object of the given array type is different from the amount
 of storage that is normally allocated to hold an individual
-object of the indicated element type, then the array type
+\hypertarget{chap:DWATbitstridearrayelementstrideofarraytype}
+object of the 
+\hypertarget{chap:DWATbytestridearrayelementstrideofarraytype}
+indicated element type, then the array type
 entry has either a \livelink{chap:DWATbytestride}{DW\-\_AT\-\_byte\-\_stride} or a \livelink{chap:DWATbitstride}{DW\-\_AT\-\_bit\-\_stride}
 attribute, whose value 
 (see Section \refersec{chap:staticanddynamicvaluesofattributes}) 
@@ -475,7 +510,9 @@ be represented by a debugging information entry for a
 multidimensional array.
 
 Other attributes especially applicable to arrays are
-\livelink{chap:DWATallocated}{DW\-\_AT\-\_allocated}, \livelink{chap:DWATassociated}{DW\-\_AT\-\_associated} and \livelink{chap:DWATdatalocation}{DW\-\_AT\-\_data\-\_location},
+\livelink{chap:DWATallocated}{DW\-\_AT\-\_allocated}, 
+\livelink{chap:DWATassociated}{DW\-\_AT\-\_associated} and 
+\livelink{chap:DWATdatalocation}{DW\-\_AT\-\_data\-\_location},
 which are described in 
 Section \refersec{chap:dynamictypeproperties}. 
 For relevant examples,
@@ -535,6 +572,7 @@ 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 
+\hypertarget{chap:DWATbitsizedatamemberbitsize}
 (see Section \refersec{chap:byteandbitsizes}), 
 whose value is the amount of storage needed
 to hold an instance of the structure, union or class type,
@@ -648,7 +686,9 @@ class or interface from which the parent class or structure
 of the inheritance entry is derived, extended or implementing.
 
 An inheritance entry for a class that derives from or extends
-another class or struct also has a \livelink{chap:DWATdatamemberlocation}{DW\-\_AT\-\_data\-\_member\-\_location}
+\hypertarget{chap:DWATdatamemberlocationinheritedmemberlocation}
+another class or struct also has a 
+\livelink{chap:DWATdatamemberlocation}{DW\-\_AT\-\_data\-\_member\-\_location}
 attribute, whose value describes the location of the beginning
 of the inherited type relative to the beginning address of the
 derived class. If that value is a constant, it is the offset
@@ -664,8 +704,11 @@ inherited types is the same as the interpretation for data
 members 
 (see Section \refersec{chap:datamemberentries}).  }
 
-An inheritance entry may have a
-\livelink{chap:DWATaccessibility}{DW\-\_AT\-\_accessibility} attribute. If no accessibility attribute
+An inheritance entry 
+\hypertarget{chap:DWATaccessibilitycppinheritedmembers}
+may have a
+\livelink{chap:DWATaccessibility}{DW\-\_AT\-\_accessibility}
+attribute. If no accessibility attribute
 is present, private access is assumed for an entry of a class
 and public access is assumed for an entry of an interface,
 struct or union.
@@ -698,7 +741,10 @@ value is a null-terminated string representing the name used
 in the declaration in the source program, including any class
 or structure qualifiers.
 
-An access declaration entry also has a \livelink{chap:DWATaccessibility}{DW\-\_AT\-\_accessibility}
+An access declaration entry 
+\hypertarget{chap:DWATaccessibilitycppbaseclasses}
+also has a 
+\livelink{chap:DWATaccessibility}{DW\-\_AT\-\_accessibility}
 attribute describing the declared accessibility of the named
 entities.
 
@@ -737,8 +783,11 @@ attribute. If no accessibility attribute is present, private
 access is assumed for an entry of a class and public access
 is assumed for an entry of a structure, union, or interface.
 
-A data member entry may have a \livelink{chap:DWATmutable}{DW\-\_AT\-\_mutable} attribute,
-which is a flag. This attribute indicates whether the data
+A data member 
+\hypertarget{chap:DWATmutablemutablepropertyofmemberdata}
+entry may have a \livelink{chap:DWATmutable}{DW\-\_AT\-\_mutable} attribute,
+which is a \livelink{chap:flag}{flag}. 
+This attribute indicates whether the data
 member was declared with the mutable storage class specifier.
 
 The beginning of a data member is described relative to
@@ -754,7 +803,10 @@ conventions that are appropriate to the current language on
 the target system.
 
 The member entry corresponding to a data member that is
-defined in a structure, union or class may have either a
+\hypertarget{chap:DWATdatabitoffsetdatamemberbitlocation}
+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}
 attribute. If the beginning of the data member is the same as
 the beginning of the containing entity then neither attribute
@@ -904,6 +956,7 @@ Appendix \refersec{app:pascalexample}.}
 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
 identify the beginning of bit field data members as defined
 in DWARF V3 and earlier. The earlier attributes are defined
@@ -1006,8 +1059,11 @@ is assumed for an entry of a structure, union or interface.
 If the member function entry describes a virtual function,
 then that entry has a \livelink{chap:DWATvirtuality}{DW\-\_AT\-\_virtuality} attribute.
 
-If the member function entry describes an explicit member
-function, then that entry has a \livelink{chap:DWATexplicit}{DW\-\_AT\-\_explicit} attribute.
+If 
+\hypertarget{chap:DWATexplicitexplicitpropertyofmemberfunction}
+the member function entry describes an explicit member
+function, then that entry has a 
+\livelink{chap:DWATexplicit}{DW\-\_AT\-\_explicit} attribute.
 
 An entry for a virtual function also has a
 \livelink{chap:DWATvtableelemlocation}{DW\-\_AT\-\_vtable\-\_elem\-\_location} attribute whose value contains
@@ -1017,7 +1073,9 @@ enclosing class. The address of an object of the enclosing
 type is pushed onto the expression stack before the location
 description is evaluated.
 
-If the member function entry describes a non\dash static member
+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
 whose value is a reference to the formal parameter entry
 that corresponds to the object for which the function is
@@ -1087,7 +1145,9 @@ tag \livetarg{chap:DWTAGtemplatevalueparameter}{DW\-\_TAG\-\_template\-\_value\-
 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
+value parameter as it appears in the source program. 
+The
+\hypertarget{chap:DWATconstvaluetemplatevalueparameter}
 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}
@@ -1127,31 +1187,40 @@ tag \livetarg{chap:DWTAGvariantpart}{DW\-\_TAG\-\_variant\-\_part} and is
 owned by the corresponding structure type entry.
 
 If the variant part has a discriminant, the discriminant is
+\hypertarget{chap:DWATdiscrdiscriminantofvariantpart}
 represented by a separate debugging information entry which
 is a child of the variant part entry. This entry has the form
 of a structure data member entry. The variant part entry will
-have a \livelink{chap:DWATdiscr}{DW\-\_AT\-\_discr} attribute whose value is a reference to
+have a 
+\livelink{chap:DWATdiscr}{DW\-\_AT\-\_discr} attribute whose value is a reference to
 the member entry for the discriminant.
 
 If the variant part does not have a discriminant (tag field),
-the variant part entry has a \livelink{chap:DWATtype}{DW\-\_AT\-\_type} attribute to represent
+the variant part entry has a 
+\livelink{chap:DWATtype}{DW\-\_AT\-\_type} attribute to represent
 the tag type.
 
 Each variant of a particular variant part is represented by
+\hypertarget{chap:DWATdiscrvaluediscriminantvalue}
 a debugging information 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
-ways. The variant entry may have a \livelink{chap:DWATdiscrvalue}{DW\-\_AT\-\_discr\-\_value} attribute
+ways. The variant entry may have a 
+\livelink{chap:DWATdiscrvalue}{DW\-\_AT\-\_discr\-\_value} attribute
 whose value represents a single case label. The value of this
 attribute is encoded as an LEB128 number. The number is signed
 if the tag type for the variant part containing this variant
 is a signed type. The number is unsigned if the tag type is
 an unsigned type.
 
-Alternatively, the variant entry may contain a \livelink{chap:DWATdiscrlist}{DW\-\_AT\-\_discr\-\_list}
+Alternatively, 
+\hypertarget{chap:DWATdiscrlistlistofdiscriminantvalues}
+the variant entry may contain a 
+\livelink{chap:DWATdiscrlist}{DW\-\_AT\-\_discr\-\_list}
 attribute, whose value represents a list of discriminant
-values. This list is represented by any of the block forms and
+values. This list is represented by any of the 
+\livelink{chap:block}{block} forms and
 may contain a mixture of case labels and label ranges. Each
 item on the list is prefixed with a discriminant value
 descriptor that determines whether the list item represents
@@ -1258,12 +1327,14 @@ If an enumeration type has type safe semantics such that
 \end{enumerate}
 
 then the enumeration type entry may have a \livelink{chap:DWATenumclass}{DW\-\_AT\-\_enum\-\_class}
-attribute, which is a flag. In a language that offers only
+attribute, which is a \livelink{chap:flag}{flag}. 
+In a language that offers only
 one kind of enumeration declaration, this attribute is not
 required.
 
 \textit{In C or C++, the underlying type will be the appropriate
 integral type determined by the compiler from the properties of
+\hypertarget{chap:DWATenumclasstypesafeenumerationdefinition}
 the enumeration literal values. A 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
@@ -1277,17 +1348,22 @@ such entry is a child of the enumeration type entry, and the
 enumerator entries appear in the same order as the declarations
 of the enumeration literals in the source program.
 
-Each enumerator entry has a \livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute, whose
+Each enumerator entry has a 
+\livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute, whose
 value is a null\dash terminated string containing the name of the
-enumeration literal as it appears in the source program. Each
-enumerator entry also has a \livelink{chap:DWATconstvalue}{DW\-\_AT\-\_const\-\_value} attribute,
+\hypertarget{chap:DWATconstvalueenumerationliteralvalue}
+enumeration literal as it appears in the source program. 
+Each enumerator entry also has a 
+\livelink{chap:DWATconstvalue}{DW\-\_AT\-\_const\-\_value} attribute,
 whose value is the actual numeric value of the enumerator as
 represented on the target system.
 
 
 If the enumeration type occurs as the description of a
 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}
 or \livelink{chap:DWATbitstride}{DW\-\_AT\-\_bit\-\_stride} attribute which specifies the separation
 between successive elements along the dimension as described
@@ -1334,7 +1410,7 @@ those declared using non\dash prototype declarations.
 
 A subroutine entry declared with a function prototype style
 declaration may have a \livelink{chap:DWATprototyped}{DW\-\_AT\-\_prototyped} attribute, which is
-a flag.
+a \livelink{chap:flag}{flag}.
 
 Each debugging information entry owned by a subroutine
 type entry has a tag whose value has one of two possible
@@ -1450,7 +1526,8 @@ is the amount of
 storage needed to hold a value of the subrange type.
 
 The subrange entry may have a \livelink{chap:DWATthreadsscaled}{DW\-\_AT\-\_threads\-\_scaled} attribute,
-which is a flag. If present, this attribute indicates whether
+which is a \livelink{chap:flag}{flag}. 
+If present, this attribute indicates whether
 this subrange represents a UPC array bound which is scaled
 by the runtime THREADS value (the number of UPC threads in
 this execution of the program).
@@ -1464,7 +1541,10 @@ int shared foo[34*THREADS][10][20];
 The 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}
-attribute may be replaced by a \livelink{chap:DWATcount}{DW\-\_AT\-\_count} attribute, whose
+attribute 
+\hypertarget{chap:DWATcountelementsofsubrangetype}
+may be replaced by a 
+\livelink{chap:DWATcount}{DW\-\_AT\-\_count} attribute, whose
 value describes the number of elements in the subrange rather
 than the value of the last element. The value of each of
 these attributes is determined as described in 
@@ -1495,7 +1575,9 @@ integer with the same size as an address on the target machine.
 
 If the subrange type occurs as the description of a dimension
 of an array type, and the stride for that dimension is
+\hypertarget{chap:DWATbytestridesubrangestridedimensionofarraytype}
 different than what would otherwise be determined, then
+\hypertarget{chap:DWATbitstridesubrangestridedimensionofarraytype}
 the subrange type entry has either a \livelink{chap:DWATbytestride}{DW\-\_AT\-\_byte\-\_stride} or
 \livelink{chap:DWATbitstride}{DW\-\_AT\-\_bit\-\_stride} attribute which specifies the separation
 between successive elements along the dimension as described
@@ -1523,7 +1605,10 @@ The pointer to member entry has a \livelink{chap:DWATtype}{DW\-\_AT\-\_type} att
 describe the type of the class or structure member to which
 objects of this type may point.
 
-The pointer to member entry also has a \livelink{chap:DWATcontainingtype}{DW\-\_AT\-\_containing\-\_type}
+The pointer to member entry also 
+\hypertarget{chap:DWATcontainingtypecontainingtypeofpointertomembertype}
+has a 
+\livelink{chap:DWATcontainingtype}{DW\-\_AT\-\_containing\-\_type}
 attribute, whose value is a reference to a debugging
 information entry for the class or structure to whose members
 objects of this type may point.
@@ -1596,7 +1681,9 @@ is the amount of storage need to hold a value of the file type.
 information, including a location and/or run\dash time parameters,
 about the data that represents the value for that object.}
 
-The \livelink{chap:DWATdatalocation}{DW\-\_AT\-\_data\-\_location} attribute may be used with any
+\hypertarget{chap:DWATdatalocationindirectiontoactualdata}
+The \livelink{chap:DWATdatalocation}{DW\-\_AT\-\_data\-\_location} 
+attribute may be used with any
 type that provides one or more levels of hidden indirection
 and/or run\dash time parameters in its representation. Its value
 is a location description. The result of evaluating this
@@ -1605,10 +1692,12 @@ When this attribute is omitted, the address of the data is
 the same as the address of the object.
 
 \textit{This location description will typically begin with
-\livelink{chap:DWOPpushobjectaddress}{DW\-\_OP\-\_push\-\_object\-\_address} which loads the address of the
+\livelink{chap:DWOPpushobjectaddress}{DW\-\_OP\-\_push\-\_object\-\_address} 
+which loads the address of the
 object which can then serve as a descriptor in subsequent
-calculation. For an example using \livelink{chap:DWATdatalocation}{DW\-\_AT\-\_data\-\_location} for a
-Fortran 90 array, see 
+calculation. For an example using 
+\livelink{chap:DWATdatalocation}{DW\-\_AT\-\_data\-\_location} 
+for a Fortran 90 array, see 
 Appendix \refersec{app:fortran90example}.}
 
 \subsection{Allocation and Association Status}
@@ -1618,14 +1707,21 @@ Appendix \refersec{app:fortran90example}.}
 may be dynamically allocated or associated with a variable
 under explicit program control.}
 
-The \livelink{chap:DWATallocated}{DW\-\_AT\-\_allocated} attribute may optionally be used with any
+\hypertarget{chap:DWATallocatedallocationstatusoftypes}
+The 
+\livelink{chap:DWATallocated}{DW\-\_AT\-\_allocated} 
+attribute may optionally be used with any
 type for which objects of the type can be explicitly allocated
 and deallocated. The presence of the attribute indicates that
 objects of the type are allocatable and deallocatable. The
 integer value of the attribute (see below) specifies whether
-an object of the type is currently allocated or not.
+an object of the type is 
+currently allocated or not.
 
-The \livelink{chap:DWATassociated}{DW\-\_AT\-\_associated} attribute may optionally be used with
+\hypertarget{chap:DWATassociatedassociationstatusoftypes}
+The 
+\livelink{chap:DWATassociated}{DW\-\_AT\-\_associated} attribute 
+may optionally be used with
 any type for which objects of the type can be dynamically
 associated with other objects. The presence of the attribute
 indicates that objects of the type can be associated. The