Indexes more entries starting with a.
[dwarf-doc.git] / dwarf5 / latexdoc / typeentries.tex
index 18cf859..8d43c13 100644 (file)
@@ -5,8 +5,10 @@ that describe program types: base types, modified types and
 user\dash defined types.
 
 If the scope of the declaration of a named type begins after
+\hypertarget{chap:DWATstartscopetypedeclaration}
 the low pc value for the scope most closely enclosing the
-declaration, the declaration may have a \livelink{chap:DWATstartscope}{DW\-\_AT\-\_start\-\_scope}
+declaration, the declaration may have a 
+\livelink{chap:DWATstartscope}{DW\-\_AT\-\_start\-\_scope}
 attribute as described for objects in 
 Section \refersec{chap:dataobjectentries}.
 
@@ -40,7 +42,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 +54,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 +81,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 +132,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 +192,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 +210,10 @@ 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 
+\hypertarget{chap:DWATpicturestringpicturestringfornumericstringtype}
+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 +222,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 +234,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
@@ -235,25 +261,34 @@ point to the left; if the absolute value of the scale is
 larger than the number of bits, this implies additional zero
 bits on the left are not stored in an instance of the type.
 
-For a data type with a non\dash decimal and non\dash binary scale factor,
-the fixed binary type entry has a \livelink{chap:DWATsmall}{DW\-\_AT\-\_small} attribute which
-references a \livelink{chap:DWTAGconstant}{DW\-\_TAG\-\_constant} entry. The scale factor value
+For 
+\hypertarget{chap:DWATsmallscalefactorforfixedpointtype}
+a data type with a non\dash decimal and non\dash binary scale factor,
+the fixed binary type entry has a 
+\livelink{chap:DWATsmall}{DW\-\_AT\-\_small} attribute which
+references a 
+\livelink{chap:DWTAGconstant}{DW\-\_TAG\-\_constant} entry. The scale factor value
 is interpreted in accordance with the value defined by the
 \livelink{chap:DWTAGconstant}{DW\-\_TAG\-\_constant} entry. The value represented is the product
 of the integer value in memory and the associated constant
 entry for the type.
 
-\textit{The \livelink{chap:DWATsmall}{DW\-\_AT\-\_small} attribute is defined with the Ada small
+\textit{The \livelink{chap:DWATsmall}{DW\-\_AT\-\_small} attribute 
+is defined with the \addtoindex{Ada} small
 attribute in mind.}
 
 \begin{figure}[here]
 \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
@@ -265,7 +300,9 @@ indicating positive or negative. \\
 
 \section{Unspecified Type Entries}
 \label{chap:unspecifiedtypeentries}
-Some languages have constructs in which a type may be left unspecified or the absence of a type
+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)
@@ -289,7 +326,7 @@ Sections \refersec{chap:unspecifiedtypeentries} and
 %The following reference was valid, so the following is probably correct.
 Section \refersec{chap:typedefentries}, 
 respectively). As another
-example, in Ada such an unspecified type entry can be referred
+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
@@ -308,14 +345,22 @@ 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}) 
+% Another instance of no-good-place-to-put-index entry.
+may
+\addtoindexx{address class!attribute} 
+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.
 
@@ -334,8 +379,8 @@ 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 \\
-\livetarg{chap:DWTAGpackedtype}{DW\-\_TAG\-\_packed\-\_type}& Pascal or Ada packed type \\
+\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 \\
@@ -416,7 +461,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 +476,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 +491,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 +525,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 +587,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,
@@ -544,6 +597,7 @@ entry that does not have a byte size attribute and that has
 a \livelink{chap:DWATdeclaration}{DW\-\_AT\-\_declaration} attribute.
 
 If the complete declaration of a type has been placed in
+\hypertarget{chap:DWATsignaturetypesignature}
 a separate type unit 
 (see Section \refersec{chap:separatetypeunitentries}), 
 an incomplete
@@ -648,7 +702,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,13 +720,20 @@ 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 
+\addtoindexx{accessibility attribute}
+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.
 
-If the class referenced by the inheritance entry serves
+If 
+\hypertarget{chap:DWATvirtualityvirtualityofbaseclass}
+the class referenced by the inheritance entry serves
 as a C++ virtual base class, the inheritance entry has a
 \livelink{chap:DWATvirtuality}{DW\-\_AT\-\_virtuality} attribute.
 
@@ -681,6 +744,7 @@ will usually consist of a non-trivial location description.}
 \label{chap:accessdeclarations}
 
 \textit{In C++, a derived class may contain access declarations that
+\addtoindex{access declaration entry}
 change the accessibility of individual class members from the
 overall accessibility specified by the inheritance declaration.
 A single access declaration may refer to a set of overloaded
@@ -698,7 +762,11 @@ 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.
 
@@ -707,6 +775,7 @@ entities.
 \label{chap:friends}
 
 Each ``friend'' declared by a structure, union or class
+\hypertarget{chap:DWATfriendfriendrelationship}
 type may be represented by a debugging information entry
 that is a child of the structure, union or class type entry;
 the friend entry has the 
@@ -732,13 +801,19 @@ name attribute is omitted or consists of a single zero byte.
 The data member entry has a \livelink{chap:DWATtype}{DW\-\_AT\-\_type} attribute to denote
 the type of that member.
 
-A data member entry may have a \livelink{chap:DWATaccessibility}{DW\-\_AT\-\_accessibility}
+A data member entry may 
+\addtoindexx{accessibility attribute}
+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 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 +829,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
@@ -778,9 +856,9 @@ the evaluation is the base address of the member entry.
 
 \textit{The push on the DWARF expression stack of the base address of
 the containing construct is equivalent to execution of the
-DW\-\_OP\-\_push\-\_object\-\_address operation 
+\livelink{chap:DWOPpushobjectaddress}{DW\-\_OP\-\_push\-\_object\-\_address} operation 
 (see Section \refersec{chap:stackoperations});
-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.}
@@ -902,17 +980,21 @@ 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 
-(see Section \refersec{chap:basetypeentries}). 
+(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
 in a manner suitable for bit field members on big-endian
 architectures but which is either awkward or incomplete for
-use on little-endian architectures.  (\livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size} also
+use on little-endian architectures.  
+(\livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size} also
 has other uses that are not affected by this change.)}
 
-\textit{The \livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size}, \livelink{chap:DWATbitsize}{DW\-\_AT\-\_bit\-\_size} and 
+\textit{The \livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size}, 
+\livelink{chap:DWATbitsize}{DW\-\_AT\-\_bit\-\_size} and 
 \livelink{chap:DWATbitoffset}{DW\-\_AT\-\_bit\-\_offset}
 attribute combination is deprecated for data members in DWARF
 Version 4, but implementations may continue to support this
@@ -998,18 +1080,29 @@ may contain the same attributes and follows the same rules
 as non\dash member global subroutine entries 
 (see Section \refersec{chap:subroutineandentrypointentries}).
 
-A member function entry may have a \livelink{chap:DWATaccessibility}{DW\-\_AT\-\_accessibility}
+A 
+\addtoindexx{accessibility attribute}
+member function entry 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 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 
+\hypertarget{chap:DWATvirtualityvirtualityoffunction}
+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
+An 
+\hypertarget{chap:DWATvtableelemlocationvirtualfunctiontablevtableslot}
+entry for a virtual function also has a
 \livelink{chap:DWATvtableelemlocation}{DW\-\_AT\-\_vtable\-\_elem\-\_location} attribute whose value contains
 a location description yielding the address of the slot
 for the function within the virtual function table for the
@@ -1017,7 +1110,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 +1182,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 +1224,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 +1364,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 +1385,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
@@ -1332,9 +1445,12 @@ In C there is a difference between the types of functions
 declared using function prototype style declarations and
 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 
+\hypertarget{chap:DWATprototypedsubroutineprototype}
+subroutine entry declared with a function prototype style
+declaration may have a 
+\livelink{chap:DWATprototyped}{DW\-\_AT\-\_prototyped} attribute, which is
+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
@@ -1348,7 +1464,10 @@ entry has a \livelink{chap:DWATtype}{DW\-\_AT\-\_type} attribute that refers to
 the formal parameter.
 
 \item The unspecified parameters of a variable parameter list
-are represented by a debugging information entry with the
+\addtoindexx{unspecified parameters entry}
+are 
+\addtoindexx{... parameters|see{unspecified parameters entry}}
+represented by a debugging information entry with the
 tag \livelink{chap:DWTAGunspecifiedparameters}{DW\-\_TAG\-\_unspecified\-\_parameters}.
 \end{enumerate}
 
@@ -1373,7 +1492,10 @@ string type entry has a \livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute who
 a null\dash terminated string containing the string type name as
 it appears in the source program.
 
-The string type entry may have a \livelink{chap:DWATstringlength}{DW\-\_AT\-\_string\-\_length} attribute
+The 
+\hypertarget{chap:DWATstringlengthstringlengthofstringtype}
+string type entry may have a 
+\livelink{chap:DWATstringlength}{DW\-\_AT\-\_string\-\_length} attribute
 whose value is a location description yielding the location
 where the length of the string is stored in the program. The
 string type entry may also have a \livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size} attribute
@@ -1449,8 +1571,11 @@ attribute, whose value
 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
+The 
+\hypertarget{chap:DWATthreadsscaledupcarrayboundthreadsscalfactor}
+subrange entry may have a \livelink{chap:DWATthreadsscaled}{DW\-\_AT\-\_threads\-\_scaled} attribute,
+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).
@@ -1461,10 +1586,18 @@ this execution of the program).
 int shared foo[34*THREADS][10][20];
 \end{lstlisting}
 
-The subrange entry may have the attributes \livelink{chap:DWATlowerbound}{DW\-\_AT\-\_lower\-\_bound}
+The 
+\hypertarget{chap:DWATlowerboundlowerboundofsubrange}
+subrange 
+\hypertarget{chap:DWATupperboundupperboundofsubrange}
+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 
@@ -1472,9 +1605,20 @@ Section \refersec{chap:staticanddynamicvaluesofattributes}.
 
 If the lower bound value is missing, the value is assumed to
 be a language\dash dependent default constant. The default lower
-bound is 0 for C, C++, D, Java, Objective C, Objective C++,
-Python, and UPC. The default lower bound is 1 for Ada, COBOL,
-Fortran, Modula\dash 2, Pascal and PL/I.
+bound is 0 for 
+\addtoindex{C}, \addtoindex{C++}, 
+\addtoindex{D}, 
+\addtoindex{Java}, 
+\addtoindex{Objective C}, 
+\addtoindex{Objective C++},
+\addtoindex{Python}, and 
+\addtoindex{UPC}. 
+The default lower bound is 1 for 
+\addtoindex{Ada}, \addtoindex{COBOL},
+\addtoindex{Fortran}, 
+\addtoindex{Modula}\dash 2, 
+\addtoindex{Pascal} and 
+\addtoindex{PL/I}.
 
 \textit{No other default lower bound values are currently defined.}
 
@@ -1495,7 +1639,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,12 +1669,18 @@ 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.
 
-The pointer to member entry has a \livelink{chap:DWATuselocation}{DW\-\_AT\-\_use\-\_location} attribute
+The 
+\hypertarget{chap:DWATuselocationmemberlocationforpointertomembertype}
+pointer to member entry has a 
+\livelink{chap:DWATuselocation}{DW\-\_AT\-\_use\-\_location} attribute
 whose value is a location description that computes the
 address of the member of the class to which the pointer to
 member entry points.
@@ -1543,10 +1695,16 @@ The \livelink{chap:DWATuselocation}{DW\-\_AT\-\_use\-\_location} description is
 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 pushed onto the DWARF expression stack before
+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 pushed is the value of the pointer to member object
-itself. The second value pushed is the base address of the
+value 
+\addtoindexi{pushed}{address!implicit push for member operator}
+is the value of the pointer to member object
+itself. The second value 
+\addtoindexi{pushed}{address!implicit push for member operator} 
+is the base address of the
 entire structure or union instance containing the member
 whose address is being calculated.
 
@@ -1596,7 +1754,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 +1765,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
-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 +1780,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
@@ -1642,7 +1811,9 @@ Section \refersec{chap:staticanddynamicvaluesofattributes}.
 A non\dash zero value is interpreted as allocated or associated,
 and zero is interpreted as not allocated or not associated.
 
-\textit{For Fortran 90, if the \livelink{chap:DWATassociated}{DW\-\_AT\-\_associated} attribute is present,
+\textit{For \addtoindex{Fortran} 90, 
+if the \livelink{chap:DWATassociated}{DW\-\_AT\-\_associated} 
+attribute is present,
 the type has the POINTER property where either the parent
 variable is never associated with a dynamic object or the
 implementation does not track whether the associated object
@@ -1655,7 +1826,9 @@ be used to indicate that the association status of the object
 resulted from execution of an ALLOCATE statement rather than
 pointer assignment.}
 
-\textit{For examples using \livelink{chap:DWATallocated}{DW\-\_AT\-\_allocated} for Ada and Fortran 90
+\textit{For examples using 
+\livelink{chap:DWATallocated}{DW\-\_AT\-\_allocated} for \addtoindex{Ada} and 
+\addtoindex{Fortran} 90
 arrays, 
 see Appendix \refersec{app:aggregateexamples}.}