Attributes table AT_f* i* l* now has links
[dwarf-doc.git] / dwarf5 / latexdoc / typeentries.tex
index 8ce92e5..d6cb3f3 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
@@ -734,6 +763,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 +794,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 +814,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
@@ -1035,8 +1070,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
@@ -1046,7 +1084,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
@@ -1158,29 +1198,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
@@ -1297,6 +1345,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
@@ -1370,8 +1419,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
@@ -1411,7 +1463,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
@@ -1500,7 +1555,10 @@ 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 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 
@@ -1643,7 +1701,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