\hypertarget{chap:DWATstartscopetypedeclaration}{}
the low PC value for the scope most closely enclosing the
declaration, the declaration may have a
-\DWATstartscope{}
+\DWATstartscopeDEFN{}
attribute as described for objects in
Section \refersec{chap:dataobjectentries}.
If the value of an object of the given type does not fully
occupy the storage described by a byte size attribute,
\hypertarget{chap:DWATdatabitoffsetbasetypebitlocation}{}
-the base type entry may also have
+the base type entry may also have a
+\DWATbitsizeDEFN{} and a \DWATdatabitoffsetDEFN{} attribute,
\addtoindexx{bit size attribute}
-a
-\DWATbitsize{} and a
-\DWATdatabitoffset{} attribute,
-both
\addtoindexx{data bit offset attribute}
-of whose values are
+both of whose values are
\livelink{chap:classconstant}{integer constant} values
(see Section \refersec{chap:staticanddynamicvaluesofattributes}).
The bit size
\caption{Encoding attribute values}
\label{tab:encodingattributevalues}
\centering
-\begin{tabular}{l|p{8cm}}
+\begin{tabular}{l|P{8cm}}
\hline
\bfseries Name & \bfseries Meaning\\ \hline
\hypertarget{chap:DWATbinaryscalebinaryscalefactorforfixedpointtype}{}
For a data type with a binary scale factor, the fixed
-binary type entry has a \DWATbinaryscale{} attribute.
-The \DWATbinaryscale{} attribute\addtoindexx{binary scale attribute}
+binary type entry has a \DWATbinaryscaleNAME{} attribute.
+The \DWATbinaryscaleDEFN{} attribute\addtoindexx{binary scale attribute}
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
For
\hypertarget{chap:DWATsmallscalefactorforfixedpointtype}{}
a data type with a non-decimal and non-binary scale factor,
-the fixed binary type entry has a \DWATsmall{} attribute which
+the fixed binary type entry has a \DWATsmallDEFN{} attribute which
\addtoindexx{small attribute} references a
\DWTAGconstant{} entry. The scale factor value
is interpreted in accordance with the value defined by the
\subsubsection{Decimal String Encodings}
\label{chap:decimalstringencodings}
-The \DWATEpackeddecimal{} and \DWATEnumericstring{}
+The \DWATEpackeddecimalDEFN{} and \DWATEnumericstringDEFN{}
base type encodings
represent packed and unpacked decimal string numeric data
types, respectively, either of which may be either
\addtoindexx{decimal sign attribute}
or
\addtoindexx{digit count attribute}
-unsigned.
-\hypertarget{chap:DWATdecimalsigndecimalsignrepresentation}{}
-These
-\hypertarget{chap:DWATdigitcountdigitcountforpackeddecimalornumericstringtype}{}
+unsigned. These
base types are used in combination with
\DWATdecimalsign,
\DWATdigitcount{} and
attributes.
\needlines{5}
-A \DWATdecimalsign{} attribute
+\hypertarget{chap:DWATdecimalsigndecimalsignrepresentation}{}
+A \DWATdecimalsignDEFN{} attribute
\addtoindexx{decimal sign attribute}
is an \livelink{chap:classconstant}{integer constant} that
conveys the representation of the sign of the decimal type
\caption{Decimal sign attribute values}
\label{tab:decimalsignattributevalues}
\centering
-\begin{tabular}{l|p{9cm}}
+\begin{tabular}{l|P{9cm}}
\hline
Name & Meaning \\
\hline
\needlines{4}
\hypertarget{chap:DWATdecimalscaledecimalscalefactor}{}
-The \DWATdecimalscale{}
+The \DWATdecimalscaleDEFN{}
attribute
\addtoindexx{decimal scale attribute}
is an integer constant value
is larger than the digit count, this implies additional zero
digits on the left are not stored in an instance of the type.
-The \DWATdigitcount{} attribute
+The \DWATdigitcountDEFN{} attribute
\addtoindexx{digit count attribute}
+\hypertarget{chap:DWATdigitcountdigitcountforpackeddecimalornumericstringtype}{}
is an \livelink{chap:classconstant}{integer constant}
value that represents the number of digits in an instance of
the type.
\hypertarget{chap:DWATpicturestringpicturestringfornumericstringtype}{}
type is used to represent an edited
numeric or alphanumeric data type. It is used in combination
-with a \DWATpicturestring{} attribute whose value is a
+with a \DWATpicturestringDEFN{} attribute whose value is a
null\dash terminated string containing the target\dash dependent picture
string associated with the type.
have
\hypertarget{chap:DWATadressclasspointerorreferencetypes}{}
a
-\DWATaddressclass{}
+\DWATaddressclassDEFN{}
attribute to describe how objects having the given pointer
or reference type ought to be dereferenced.
\caption{Type modifier tags}
\label{tab:typemodifiertags}
\centering
-\begin{tabular}{l|p{9cm}}
+\begin{tabular}{l|P{9cm}}
\hline
Name&Meaning\\ \hline
\DWTAGatomictypeTARG{} & C \addtoindex{\_Atomic} qualified type \\
\hypertarget{chap:DWATorderingarrayrowcolumnordering}{}
array type entry describing a multidimensional array may
\addtoindexx{array!element ordering}
-have a \DWATordering{} attribute whose
+have a \DWATorderingDEFN{} 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
indicated element type, then the array type
\addtoindexx{bit stride attribute}
entry has either a
-\DWATbytestride{}
+\DWATbytestrideDEFN{}
or
\addtoindexx{byte stride attribute}
-a \DWATbitstride{}
+a \DWATbitstrideDEFN{}
attribute,
\addtoindexx{bit stride attribute}
whose value
and appear in the same order as the corresponding declarations
in the source program.
-A structure, union, or class type may have a \DWATexportsymbolsNAME{}
-attribute
+A structure, union, or class type may have a \DWATexportsymbolsDEFN{}
+attribute\addtoindexx{export symbols (of structure, class or union) attribute}
\livetarg{chap:DWATexportsymbolsofstructunionclass}{}
which indicates that all member names defined within
the structure, union, or class may be referenced as if they were
an incomplete declaration
\addtoindexx{incomplete type}
of that type in the compilation unit may provide
-the unique 64-bit signature of the type using
+the unique 64-bit signature of the type using a
\addtoindexx{type signature}
-a \DWATsignature{}
-attribute.
+\DWATsignatureDEFN{} attribute.
If a structure, union or class entry represents the definition
of a structure, union or class member corresponding to a prior
\needlines{4}
A structure type, union type or class type entry may have a
-\DWATcallingconvention{} attribute,
-\addtoindexx{calling convention attribute}
+\DWATcallingconventionDEFN{} attribute,
+\addtoindexx{calling convention attribute!for types}
whose value indicates whether a value of the type should be passed by reference
or passed by value. The set of calling convention codes for use with types
\addtoindexx{calling convention codes!for types}
\addtoindexx{inheritance entry}
for a class that derives from or extends
\hypertarget{chap:DWATdatamemberlocationinheritedmemberlocation}{}
-another class or struct also has
+another class or struct also has a
+\DWATdatamemberlocationDEFN{} attribute,
\addtoindexx{data member location attribute}
-a
-\DWATdatamemberlocation{}
-attribute, whose value describes the location of the beginning
+whose value describes the location of the beginning
of the inherited type relative to the beginning address of the
instance of the derived class. If that value is a constant, it is the offset
in bytes from the beginning of the class to the beginning of
may
\addtoindexx{accessibility attribute}
have a
-\DWATaccessibility{}
+\DWATaccessibilityDEFN{}
attribute.
If no accessibility attribute is present, private access
is assumed for an entry of a class and public access is
\addtoindexx{inheritance entry}
inheritance entry serves
as a \addtoindex{C++} virtual base class, the inheritance entry has a
-\DWATvirtuality{} attribute.
+\DWATvirtualityDEFN{} attribute.
\textit{For a \addtoindex{C++} virtual base, the
\addtoindex{data member location attribute}
\hypertarget{chap:DWATaccessibilitycppbaseclasses}{}
also
has a
-\DWATaccessibility{}
+\DWATaccessibilityDEFN{}
attribute describing the declared accessibility of the named
entities.
that is a child of the structure, union or class type entry;
the friend entry has the tag \DWTAGfriendTARG.
-A friend entry has a \DWATfriendNAME{} attribute,
+A friend entry has a \DWATfriendDEFN{} attribute,
\addtoindexx{friend attribute} whose value is
a reference to the debugging information entry describing
the declaration of the friend.
\addtoindexx{member entry (data)}
may
\addtoindexx{mutable attribute}
-have a \DWATmutable{} attribute,
+have a \DWATmutableDEFN{} attribute,
which is a \livelink{chap:classflag}{flag}.
This attribute indicates whether the data
member was declared with the mutable storage class specifier.
The member entry
\addtoindexx{member entry (data)}
-corresponding to a data member that is
+corresponding to a data member that is defined
\hypertarget{chap:DWATdatabitoffsetdatamemberbitlocation}{}
-defined
\hypertarget{chap:DWATdatamemberlocationdatamemberlocation}{}
-in a structure, union or class may have either
+in a structure, union or class may have either a
+\DWATdatamemberlocationDEFN{} attribute
\addtoindexx{data member location attribute}
-a
-\DWATdatamemberlocation{} attribute or a
-\DWATdatabitoffset{}
-attribute. If the beginning of the data member is the same as
+or a \DWATdatabitoffsetDEFN{} attribute.
+\addtoindexx{data bit offset attribute}
+If the beginning of the data member is the same as
the beginning of the containing entity then neither attribute
is required.
\addtoindexx{data member location attribute}
there are two cases:
\begin{enumerate}[1. ]
-\item If the value is an \livelink{chap:classconstant}{integer constant},
+\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
\hypertarget{chap:DWATvirtualityvirtualityoffunction}{}
the member function entry describes a virtual function,
then that entry has a
-\DWATvirtuality{} attribute.
+\DWATvirtualityDEFN{} attribute.
If
\hypertarget{chap:DWATexplicitexplicitpropertyofmemberfunction}{}
function, then that entry has
\addtoindexx{explicit attribute}
a
-\DWATexplicit{} attribute.
+\DWATexplicitDEFN{} attribute.
An
\hypertarget{chap:DWATvtableelemlocationvirtualfunctiontablevtableslot}{}
entry for a virtual function also has a
-\DWATvtableelemlocation{}
+\DWATvtableelemlocationDEFN{}
\addtoindexi{attribute}{vtable element location attribute} whose value contains
a \addtoindex{location description}
yielding the address of the slot
\addtoindexx{self pointer attribute|see{object pointer attribute}}
has
\addtoindexx{object pointer attribute}
-a \DWATobjectpointer{}
-attribute
+a \DWATobjectpointerDEFN{} attribute
whose value is a \livelink{chap:classreference}{reference}
to the formal parameter entry
that corresponds to the object for which the function is
object values on which the function can be invoked.}
\needlines{6}
-The member function entry may have an \DWATreferenceNAME{} attribute
+The member function entry may have an \DWATreferenceDEFN{} attribute
\livetarg{chap:DWATreferenceofnonstaticmember}{}
to indicate a non-static member function that can only be called on
-lvalue objects, or the \DWATrvaluereferenceNAME{} attribute
+lvalue objects, or the \DWATrvaluereferenceDEFN{} attribute
\livetarg{chap:DWATrvaluereferenceofnonstaticmember}{}
to indicate that it can only be called on prvalues and xvalues.
when used on other member functions.}
If the member function entry has been declared as deleted,
-then that entry has a \DWATdeletedNAME{}\livetarg{chap:DWATdeleteddef}{}
+then that entry has a \DWATdeletedDEFN{}\livetarg{chap:DWATdeleteddef}{}
attribute.\addtoindexx{deleted attribute}
\textit{In \addtoindex{C++}, a special member function may be
class.}
If the member function has been declared as defaulted,
-then the entry has a \DWATdefaultedNAME{}\livetarg{chap:DWATdefaulteddef}{}
+then the entry has a \DWATdefaultedDEFN{}\livetarg{chap:DWATdefaulteddef}{}
attribute\addtoindexx{defaulted attribute}
whose integer constant value indicates whether, and if so,
how, that member is defaulted. The possible values and
of a
\addtoindexx{member entry (data)!as discriminant}
structure data member entry. The variant part entry will
-\addtoindexx{discriminant attribute}
have a
-\DWATdiscr{} attribute
+\DWATdiscrDEFN{} attribute \addtoindexx{discriminant attribute}
whose value is a \livelink{chap:classreference}{reference} to
the member entry for the discriminant.
tag \DWTAGvariantTARG{}
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 \DWATdiscrvalue{} attribute
+ways. The variant entry may have a \DWATdiscrvalueDEFN{}
+attribute\addtoindexx{discriminant value attribute}
whose value represents the discriminant value selecting
this variant. The value of this
attribute is encoded as an LEB128 number. The number is signed
\hypertarget{chap:DWATdiscrlistlistofdiscriminantvalues}{}
the variant entry may contain
\addtoindexx{discriminant list attribute}
-a \DWATdiscrlist{}
+a \DWATdiscrlistDEFN{}
attribute, whose value represents a list of discriminant
values. This list is represented by any of the
\livelink{chap:classblock}{block} forms and may contain a
then the \addtoindex{enumeration type entry} may
\addtoindexx{enum class|see{type-safe enumeration}}
-have a \DWATenumclass{}
+have a \DWATenumclassDEFN{}
attribute, which is a \livelink{chap:classflag}{flag}.
In a language that offers only
one kind of enumeration declaration, this attribute is not
\needlines{4}
Each \addtoindex{enumerator entry} has a \DWATname{} attribute, whose
\addtoindexx{name attribute}
-value is a null\dash terminated string containing the name of the
+value is a null-terminated string containing the name of the
\hypertarget{chap:DWATconstvalueenumerationliteralvalue}{}
enumeration literal as it appears in the source program.
Each enumerator entry also has a
-\DWATconstvalue{} attribute,
+\DWATconstvalueDEFN{} attribute,
+\addtoindexx{constant value attribute}
whose value is the actual numeric value of the enumerator as
represented on the target system.
is different than what would otherwise be determined, then
\hypertarget{chap:DWATbitstrideenumerationstridedimensionofarraytype}{}
the enumeration type entry has either a
-\DWATbytestride{}
-or \DWATbitstride{} attribute
+\DWATbytestrideDEFN{}
+or \DWATbitstrideDEFN{} attribute
\addtoindexx{bit stride attribute}
which specifies the separation
between successive elements along the dimension as described
declaration may have
\addtoindexx{prototyped attribute}
a
-\DWATprototyped{} attribute, which is
+\DWATprototypedDEFN{} attribute, which is
a \livelink{chap:classflag}{flag}.
\needlines{4}
a null\dash terminated string containing the string type name as
it appears in the source program.
-A string type entry may have a \DWATtype{}
+A string type entry may have a \DWATtypeDEFN{}
\livetargi{char:DWAATtypeofstringtype}{attribute}{type attribute!of string type entry}
describing how each character is encoded and is to be interpreted.
The value of this attribute is a \CLASSreference{} to a
The
\hypertarget{chap:DWATstringlengthstringlengthofstringtype}{}
string type entry may also have a
-\DWATstringlength{} attribute
+\DWATstringlengthDEFN{} attribute
whose
\addtoindexx{string length attribute}
value is a
\addtoindex{location description} yielding the location
where the length of the string is stored in the program.
-If the \DWATstringlength{} attribute is not present, the size
+If the \DWATstringlengthNAME{} attribute is not present, the size
of the string is assumed to be the amount of storage that is
allocated for the string (as specified by the \DWATbytesize{}
or \DWATbitsize{} attribute).
The string type entry may also have a
-\DWATstringlengthbytesizeNAME{} or
-\DWATstringlengthbitsizeNAME{} attribute,
+\DWATstringlengthbytesizeDEFN{} or
+\DWATstringlengthbitsizeDEFN{} attribute,
\addtoindexx{string length size attribute}
\addtoindexx{string length attribute!size of length data}
whose value (see Section \refersec{chap:byteandbitsizes})
The
\hypertarget{chap:DWATthreadsscaledupcarrayboundthreadsscalfactor}{}
subrange entry may have a
-\DWATthreadsscaled{} attribute\addtoindexx{threads scaled attribute},
+\DWATthreadsscaledDEFN{} attribute\addtoindexx{threads scaled attribute},
which is a \livelink{chap:classflag}{flag}.
If present, this attribute indicates whether
this subrange represents a \addtoindex{UPC} array bound which is scaled
subrange
\hypertarget{chap:DWATupperboundupperboundofsubrange}{}
entry may have the attributes
-\DWATlowerbound{}
+\DWATlowerboundDEFN{}
\addtoindexx{lower bound attribute}
-and \DWATupperbound{}
+and \DWATupperboundDEFN{}
\addtoindexx{upper bound attribute} to specify, respectively, the lower
and upper bound values of the subrange. The
-\DWATupperbound{}
-attribute
+\DWATupperboundNAME{} attribute
\hypertarget{chap:DWATcountelementsofsubrangetype}{}
-may
-% FIXME: The following matches DWARF4: odd as there is no default count.
+may be replaced by a
\addtoindexx{count attribute!default}
-be
\addtoindexx{count attribute}
-replaced by a
-\DWATcount{} 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
+\DWATcountDEFN{} 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
Section \refersec{chap:staticanddynamicvaluesofattributes}.
If the lower bound value is missing, the value is assumed to
-be a language\dash dependent default constant as defined in
+be a language-dependent default constant as defined in
Table \refersec{tab:languageencodings}.
\addtoindexx{lower bound attribute!default}
the subrange type entry has either
\addtoindexx{byte stride attribute}
a
-\DWATbytestride{} or
-\DWATbitstride{} attribute
+\DWATbytestrideDEFN{} or
+\DWATbitstrideDEFN{} attribute
\addtoindexx{bit stride attribute}
which specifies the separation
-between successive elements along the dimension as described
-in
+between successive elements along the dimension as described in
Section \refersec{chap:byteandbitsizes}.
\textit{Note that the stride can be negative.}
The \addtoindexx{pointer to member} entry also
\hypertarget{chap:DWATcontainingtypecontainingtypeofpointertomembertype}{}
-has a
-\DWATcontainingtype{}
-attribute, whose value is a \livelink{chap:classreference}{reference} to a debugging
+has a \DWATcontainingtypeDEFN{} attribute,
+\addtoindexx{containing type (of pointer) 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.
The \addtoindex{pointer to member entry}
\hypertarget{chap:DWATuselocationmemberlocationforpointertomembertype}{}
has a
-\DWATuselocation{} attribute
+\DWATuselocationDEFN{} attribute
\addtoindexx{use location attribute}
whose value is a
\addtoindex{location description} that computes the
about the data that represents the value for that object.}
\hypertarget{chap:DWATdatalocationindirectiontoactualdata}{}
-The \DWATdatalocation{}
-attribute may be used with any
-\addtoindexx{data location attribute}
-type that provides one or more levels of
+The \DWATdatalocationDEFN{} attribute
+\addtoindexx{data (indirect) location attribute}
+may be used with any type that provides one or more levels of
\addtoindexx{hidden indirection|see{data location attribute}}
hidden indirection
-and/or run\dash time parameters in its representation. Its value
+and/or run-time parameters in its representation. Its value
is a \addtoindex{location description}.
The result of evaluating this
description yields the location of the data for an object.
under explicit program control.}
\hypertarget{chap:DWATallocatedallocationstatusoftypes}{}
-The \DWATallocated{} attribute\addtoindexx{allocated attribute}
+The \DWATallocatedDEFN{} attribute\addtoindexx{allocated attribute}
may be used with any
type for which objects of the type can be explicitly allocated
and deallocated. The presence of the attribute indicates that
\needlines{4}
\hypertarget{chap:DWATassociatedassociationstatusoftypes}{}
The
-\DWATassociated{} attribute
+\DWATassociatedDEFN{} attribute
may
\addtoindexx{associated attribute}
optionally be used with
\hypertarget{chap:DWATrankofdynamicarray}{\DWATrankINDX}
attribute indicates that an array's rank
(number of dimensions) is dynamic, and therefore unknown at compile
-time. The value of the \DWATrankNAME{} attribute is either an integer constant
+time. The value of the \DWATrankDEFN{} attribute is either an integer constant
or a DWARF expression whose evaluation yields the dynamic rank.
The bounds of an array with dynamic rank are described using a