Indexes more entries starting with a.
[dwarf-doc.git] / dwarf5 / latexdoc / typeentries.tex
index e67d841..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}.
 
@@ -208,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
@@ -256,15 +261,20 @@ 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]
@@ -290,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)
@@ -314,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
@@ -342,7 +354,10 @@ 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 
+% 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}
@@ -364,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 \\
@@ -446,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
@@ -580,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
@@ -704,14 +722,18 @@ members
 
 An inheritance entry 
 \hypertarget{chap:DWATaccessibilitycppinheritedmembers}
-may have a
+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.
 
@@ -722,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
@@ -741,7 +764,8 @@ or structure qualifiers.
 
 An access declaration entry 
 \hypertarget{chap:DWATaccessibilitycppbaseclasses}
-also has a 
+also 
+has a 
 \livelink{chap:DWATaccessibility}{DW\-\_AT\-\_accessibility}
 attribute describing the declared accessibility of the named
 entities.
@@ -751,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 
@@ -776,12 +801,17 @@ 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,
+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.
@@ -950,7 +980,8 @@ 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
@@ -958,10 +989,12 @@ 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
@@ -1047,13 +1080,19 @@ 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 
 \hypertarget{chap:DWATexplicitexplicitpropertyofmemberfunction}
@@ -1061,7 +1100,9 @@ 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
@@ -1069,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
@@ -1402,8 +1445,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
@@ -1418,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}
 
@@ -1443,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
@@ -1519,7 +1571,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
@@ -1532,7 +1586,12 @@ 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 
@@ -1546,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.}
 
@@ -1607,7 +1677,10 @@ 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.
@@ -1622,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.
 
@@ -1732,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
@@ -1745,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}.}