DW_AT_c* in attribute table now linked per DWARF4.
[dwarf-doc.git] / dwarf5 / latexdoc / typeentries.tex
index b078b2b..8ce92e5 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
@@ -74,13 +77,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.}
 
@@ -222,6 +227,7 @@ type entry has a \livelink{chap:DWATdecimalscale}{DW\-\_AT\-\_decimal\-\_scale}
 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 +256,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 +318,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.
 
@@ -429,8 +444,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 +459,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 +493,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 +555,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,
@@ -664,8 +685,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 +722,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.
 
@@ -738,7 +765,8 @@ 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
+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
@@ -904,6 +932,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
@@ -1087,7 +1116,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}
@@ -1151,7 +1182,8 @@ an unsigned type.
 
 Alternatively, 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,7 +1290,8 @@ 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.
 
@@ -1277,17 +1310,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 +1372,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 +1488,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 +1503,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 +1537,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 +1567,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.
@@ -1605,10 +1652,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 +1667,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