DW_AT_t* through DW_AT_v* attributes table entries done.
[dwarf-doc.git] / dwarf5 / latexdoc / typeentries.tex
index 19a74be..dd06efa 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}.
 
@@ -57,7 +59,9 @@ 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}). 
@@ -163,11 +167,21 @@ represented by a base type entry with a name attribute whose
 value is “char16\_t”, an encoding attribute whose value
 is \livelink{chap:DWATEUTF}{DW\-\_ATE\-\_UTF} and a byte size attribute whose value is 2.}
 
-The \livelink{chap:DWATEpackeddecimal}{DW\-\_ATE\-\_packed\-\_decimal} and \livelink{chap:DWATEnumericstring}{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
@@ -178,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
@@ -193,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 \livelink{chap:DWATEedited}{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
@@ -241,9 +261,13 @@ 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
@@ -431,7 +455,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
@@ -565,6 +591,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
@@ -669,7 +696,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
@@ -694,7 +723,9 @@ 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.
 
@@ -734,6 +765,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 
@@ -764,7 +796,9 @@ 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,
+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.
@@ -782,7 +816,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
@@ -1032,13 +1069,21 @@ 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
@@ -1046,7 +1091,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
@@ -1116,7 +1163,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}
@@ -1156,29 +1205,37 @@ 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 
 \livelink{chap:block}{block} forms and
@@ -1295,6 +1352,7 @@ 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
@@ -1308,10 +1366,13 @@ 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.
 
@@ -1365,8 +1426,11 @@ 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 
+\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
@@ -1406,7 +1470,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
@@ -1482,7 +1549,9 @@ 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,
+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
@@ -1495,10 +1564,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 
@@ -1559,12 +1636,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.
@@ -1632,7 +1715,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