Complete work on live links, cleanup some indexing and redo pagination.
[dwarf-doc.git] / dwarf5 / latexdoc / typeentries.tex
index 2e040da..a1fc867 100644 (file)
@@ -38,7 +38,8 @@ A base type entry has
 \addtoindexx{encoding attribute}
 a \livelink{chap:DWATencoding}{DW\_AT\_encoding} attribute describing
 how the base type is encoded and is to be interpreted. The
-value of this attribute is an integer constant. The set of
+value of this attribute is an 
+\livelink{chap:classconstant}{integer constant}. The set of
 values and their meanings for the
 \livelink{chap:DWATencoding}{DW\_AT\_encoding} attribute
 is given in 
@@ -59,7 +60,7 @@ either a \livelink{chap:DWATbytesize}{DW\_AT\_byte\_size} attribute
 \hypertarget{chap:DWATbitsizebasetypebitsize}
 or a \livelink{chap:DWATbitsize}{DW\_AT\_bit\_size} attribute 
 \addtoindex{bit size attribute}
-whose integer constant value
+whose \livelink{chap:classconstant}{integer constant} value
 (see Section \refersec{chap:byteandbitsizes}) 
 is the amount of storage needed to hold
 a value of the type.
@@ -83,8 +84,8 @@ a
 both 
 \addtoindexx{data bit offset attribute}
 of whose values are
-integer constant values (
-see Section \refersec{chap:staticanddynamicvaluesofattributes}). 
+\livelink{chap:classconstant}{integer constant} values
+(see Section \refersec{chap:staticanddynamicvaluesofattributes}). 
 The bit size
 attribute describes the actual size in bits used to represent
 values of the given type. The data bit offset attribute is the
@@ -244,10 +245,10 @@ attributes.
 
 A \livelink{chap:DWATdecimalsign}{DW\_AT\_decimal\_sign} attribute 
 \addtoindexx{decimal sign attribute}
-is an integer constant that
+is an \livelink{chap:classconstant}{integer constant} that
 conveys the representation of the sign of the decimal type
 (see Figure \refersec{tab:decimalsignattributevalues}). 
-Its integer constant value is interpreted to
+Its \livelink{chap:classconstant}{integer constant} value is interpreted to
 mean that the type has a leading overpunch, trailing overpunch,
 leading separate or trailing separate sign representation or,
 alternatively, no sign at all.
@@ -282,7 +283,7 @@ The
 \livelink{chap:DWATdigitcount}{DW\_AT\_digit\_count}
 attribute 
 \addtoindexx{digit count attribute}
-is an integer constant
+is an \livelink{chap:classconstant}{integer constant}
 value that represents the number of digits in an instance of
 the type.
 
@@ -358,7 +359,7 @@ 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
+is an \livelink{chap:classconstant}{integer constant} value
 that represents the exponent of the base two scale factor to
 be applied to an instance of the type.  Zero scale puts the
 binary point immediately to the right of the least significant
@@ -453,7 +454,8 @@ Each of the type modifier entries has
 \addtoindexx{type attribute}
 a 
 \livelink{chap:DWATtype}{DW\_AT\_type} attribute,
-whose value is a reference to a debugging information entry
+whose value is a \livelink{chap:classreference}{reference} 
+to a debugging information entry
 describing a base type, a user-defined type or another type
 modifier.
 
@@ -595,7 +597,8 @@ The typedef entry may also contain
 \addtoindexx{type attribute}
 a 
 \livelink{chap:DWATtype}{DW\_AT\_type} attribute whose
-value is a reference to the type named by the typedef. If
+value is a \livelink{chap:classreference}{reference} 
+to the type named by the typedef. If
 the debugging information entry for a typedef represents
 a declaration of the type that is not also a definition,
 it does not contain a type attribute.
@@ -634,7 +637,8 @@ The
 \hypertarget{chap:DWATorderingarrayrowcolumnordering}
 array type entry describing a multidimensional array may
 \addtoindexx{array!element ordering}
-have a \livelink{chap:DWATordering}{DW\_AT\_ordering} attribute whose integer constant value is
+have a \livelink{chap:DWATordering}{DW\_AT\_ordering} attribute whose 
+\livelink{chap:classconstant}{integer constant} value is
 interpreted to mean either row-major or column-major ordering
 of array elements. The set of values and their meanings
 for the ordering attribute are listed in 
@@ -711,6 +715,7 @@ a \doublequote{multidimensional array}, an array of arrays may
 be represented by a debugging information entry for a
 multidimensional array.}
 
+\needlines{5}
 Other attributes especially applicable to arrays are
 \livelink{chap:DWATallocated}{DW\_AT\_allocated}, 
 \livelink{chap:DWATassociated}{DW\_AT\_associated} and 
@@ -824,7 +829,7 @@ of a structure, class or union member corresponding to a prior
 incomplete structure, class or union, the entry may have a
 \livelink{chap:DWATspecification}{DW\_AT\_specification} attribute 
 \addtoindexx{specification attribute}
-whose value is a reference to
+whose value is a \livelink{chap:classreference}{reference} to
 the debugging information entry representing that incomplete
 declaration.
 
@@ -1094,7 +1099,7 @@ entry
 may 
 \addtoindexx{mutable attribute}
 have a \livelink{chap:DWATmutable}{DW\_AT\_mutable} attribute,
-which is a \livelink{chap:flag}{flag}. 
+which is a \livelink{chap:classflag}{flag}. 
 This attribute indicates whether the data
 member was declared with the mutable storage class specifier.
 
@@ -1133,7 +1138,8 @@ For a \livelink{chap:DWATdatamemberlocation}{DW\_AT\_data\_member\_location} att
 \addtoindexx{data member location attribute}
 there are two cases:
 \begin{enumerate}[1. ]
-\item If the value is an integer constant, it is the offset
+\item If the value is an \livelink{chap:classconstant}{integer constant}, 
+it is the offset
 in bytes from the beginning of the containing entity. If
 the beginning of the containing entity has a non-zero bit
 offset then the beginning of the member entry has that same
@@ -1168,7 +1174,7 @@ do not allow for manipulating or computing bit offsets.}
 \end{enumerate}
 
 For a \livelink{chap:DWATdatabitoffset}{DW\_AT\_data\_bit\_offset} attribute, 
-the value is an integer constant 
+the value is an \livelink{chap:classconstant}{integer constant} 
 (see Section \refersec{chap:staticanddynamicvaluesofattributes}) 
 that specifies the number of bits
 from the beginning of the containing entity to the beginning
@@ -1181,7 +1187,7 @@ of the type given for the data member, the data member has
 \addtoindexx{bit size attribute}
 either a \livelink{chap:DWATbytesize}{DW\_AT\_byte\_size} 
 or a \livelink{chap:DWATbitsize}{DW\_AT\_bit\_size} attribute whose
-integer constant value 
+\livelink{chap:classconstant}{integer constant} value 
 (see Section \refersec{chap:staticanddynamicvaluesofattributes}) 
 is the amount
 of storage needed to hold the value of the data member.
@@ -1300,7 +1306,7 @@ and is also used for base types
 (see Section 
 \refersec{chap:basetypeentries}). 
 It replaces the
-\livetarg{chap:DWATbitoffsetdatamemberbitlocation}
+\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
@@ -1472,7 +1478,8 @@ has
 \addtoindexx{object pointer attribute}
 a \livelink{chap:DWATobjectpointer}{DW\_AT\_object\_pointer} 
 attribute
-whose value is a reference to the formal parameter entry
+whose value is a \livelink{chap:classreference}{reference} 
+to the formal parameter entry
 that corresponds to the object for which the function is
 called. The name attribute of that formal parameter is defined
 by the current language (for example, 
@@ -1625,7 +1632,7 @@ structure data member entry. The variant part entry will
 \addtoindexx{discriminant attribute}
 have a 
 \livelink{chap:DWATdiscr}{DW\_AT\_discr} attribute 
-whose value is a reference to
+whose value is a \livelink{chap:classreference}{reference} to
 the member entry for the discriminant.
 
 If the variant part does not have a discriminant (tag field),
@@ -1649,6 +1656,7 @@ 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.
 
+\needlines{5}
 Alternatively, 
 \hypertarget{chap:DWATdiscrlistlistofdiscriminantvalues}
 the variant entry may contain 
@@ -1657,7 +1665,7 @@ 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
+\livelink{chap:classblock}{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
@@ -1674,8 +1682,8 @@ constant that may have one of the values given in
 Table \refersec{tab:discriminantdescriptorvalues}.
 
 \begin{simplenametable}[1.4in]{Discriminant descriptor values}{tab:discriminantdescriptorvalues}
-\addtoindex{DW\_DSC\_label} \\
-\addtoindex{DW\_DSC\_range} \\
+\livetarg{chap:DWDSClabel}{DW\_DSC\_label} \\
+\livetarg{chap:DWDSCrange}{DW\_DSC\_range} \\
 \end{simplenametable}
 
 If a variant entry has neither a \livelink{chap:DWATdiscrvalue}{DW\_AT\_discr\_value}
@@ -1761,8 +1769,10 @@ a \livelink{chap:DWATname}{DW\_AT\_name} attribute
 \addtoindexx{name attribute}
 whose value is a null\dash terminated
 string containing the enumeration type name as it appears
-in the source program. This entry also has a \livelink{chap:DWATbytesize}{DW\_AT\_byte\_size}
-attribute whose integer constant value is the number of bytes
+in the source program. This entry also has a 
+\livelink{chap:DWATbytesize}{DW\_AT\_byte\_size}
+attribute whose \livelink{chap:classconstant}{integer constant} 
+value is the number of bytes
 required to hold an instance of the enumeration.
 
 The \addtoindex{enumeration type entry}
@@ -1785,7 +1795,7 @@ semantics such that
 then the \addtoindex{enumeration type entry} may 
 \addtoindexx{enum class|see{type-safe enumeration}}
 have a \livelink{chap:DWATenumclass}{DW\_AT\_enum\_class}
-attribute, which is a \livelink{chap:flag}{flag}. 
+attribute, which is a \livelink{chap:classflag}{flag}. 
 In a language that offers only
 one kind of enumeration declaration, this attribute is not
 required.
@@ -1895,7 +1905,7 @@ declaration may have
 \addtoindexx{prototyped attribute}
 a 
 \livelink{chap:DWATprototyped}{DW\_AT\_prototyped} attribute, which is
-a \livelink{chap:flag}{flag}.
+a \livelink{chap:classflag}{flag}.
 
 Each debugging information entry owned by a subroutine
 type entry correspond to either a formal parameter or the sequence of
@@ -1922,7 +1932,7 @@ tag \livelink{chap:DWTAGunspecifiedparameters}{DW\_TAG\_unspecified\_parameters}
 
 
 \section{String Type Entries}
-\label{chap:stringtypeentries}
+\label{chap:classstringtypeentries}
 
 \textit{A ``string'' is a sequence of characters that have specific
 \addtoindexx{string type entry}
@@ -1961,6 +1971,7 @@ size attribute is present, the size of the data to be retrieved
 is the same as the 
 \addtoindex{size of an address} on the target machine.
 
+\needlines{5}
 If no string length attribute is present, the string type
 entry may have a \livelink{chap:DWATbytesize}{DW\_AT\_byte\_size} attribute or 
 \livelink{chap:DWATbitsize}{DW\_AT\_bit\_size}
@@ -2047,7 +2058,7 @@ subrange entry may have
 \addtoindexx{threads scaled attribute}
 a 
 \livelink{chap:DWATthreadsscaled}{DW\_AT\_threads\_scaled} attribute,
-which is a \livelink{chap:flag}{flag}. 
+which is a \livelink{chap:classflag}{flag}. 
 If present, this attribute indicates whether
 this subrange represents a \addtoindex{UPC} array bound which is scaled
 by the runtime THREADS value (the number of UPC threads in
@@ -2173,7 +2184,7 @@ The \addtoindex{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
+attribute, whose value is a \livelink{chap:classreference}{reference} to a debugging
 information entry for the class or structure to whose members
 objects of this type may point.
 
@@ -2283,6 +2294,7 @@ description yields the location of the data for an object.
 When this attribute is omitted, the address of the data is
 the same as the address of the object.
 
+\needlines{5}
 \textit{This location description will typically begin with
 \livelink{chap:DWOPpushobjectaddress}{DW\_OP\_push\_object\_address} 
 which loads the address of the
@@ -2376,8 +2388,8 @@ the source program. The template alias entry also contains
 \addtoindexx{type attribute}
 a
 \livelink{chap:DWATtype}{DW\_AT\_type} attribute 
-whose value is a reference to the type
-named by the template alias. 
+whose value is a \livelink{chap:classreference}{reference}
+to the type named by the template alias. 
 
 \needlines{4}
 The template alias entry has the following child entries: