zero byte.
\item A \livelink{chap:DWATexternal}{DW\-\_AT\-\_external} attribute,
+\hypertarget{chap:DWATexternalexternalvariable}
which is a \livelink{chap:flag}{flag}, if the name
of a variable is visible outside of its enclosing compilation
unit. The definitions of C++ static data members of structures
containing scope is non\dash contiguous.}
\item A \livelink{chap:DWATendianity}{DW\-\_AT\-\_endianity} attribute, whose value is a constant
+\hypertarget{chap:DWATendianityendianityofdata}
that specifies the endianity of the object. The value of
this attribute specifies an ABI\dash defined byte ordering for
the value of the object. If omitted, the default endianity
\section{Base Type Attribute Encodings}
\label{datarep:basetypeattributeencodings}
-The encodings of the constants used in the \livelink{chap:DWATencoding}{DW\-\_AT\-\_encoding}
+The encodings of the
+\hypertarget{chap:DWATencodingencodingofbasetype}
+constants used in the
+\livelink{chap:DWATencoding}{DW\-\_AT\-\_encoding}
attribute are given in
Table \refersec{tab:basetypeencodingvalues}
\livetarg{chap:DWATdiscrvalue}{DW\-\_AT\-\_discr\-\_value}
&Discriminant value\\
\livetarg{chap:DWATelemental}{DW\-\_AT\-\_elemental}
-&Elemental property of a subroutine\\
+&\livelink{chap:DWATelementalelementalpropertyofasubroutine}{Elemental property of a subroutine} \\
\livetarg{chap:DWATencoding}{DW\-\_AT\-\_encoding}
-&Encoding of base type\\
+&\livelink{chap:DWATencodingencodingofbasetype}{Encoding of base type} \\
\livetarg{chap:DWATendianity}{DW\-\_AT\-\_endianity}
-&Endianity of data\\
+&\livelink{chap:DWATendianityendianityofdata}{Endianity of data} \\
\livetarg{chap:DWATentrypc}{DW\-\_AT\-\_entry\-\_pc}
-&Entry address of module initialization\\
-&Entry address of subprogram\\
-&Entry address of inlined subprogram\\
+&\livelink{chap:DWATentrypcentryaddressofmoduleinitialization}{Entry address of module initialization}\\
+&\livelink{chap:DWATentrypcentryaddressofsubprogram}{Entry address of subprogram} \\
+&\livelink{chap:DWATentrypcentryaddressofinlinedsubprogram}{Entry address of inlined subprogram}\\
\livetarg{chap:DWATenumclass}{DW\-\_AT\-\_enum\-\_class}
-&Type safe enumeration definition\\
+&\livelink{chap:DWATenumclasstypesafeenumerationdefinition}{Type safe enumeration definition}\\
\livetarg{chap:DWATexplicit}{DW\-\_AT\-\_explicit}
-&Explicit property of member function\\
+&\livelink{chap:DWATexplicitexplicitpropertyofmemberfunction}{Explicit property of member function}\\
\livetarg{chap:DWATextension}{DW\-\_AT\-\_extension}
-&Previous namespace extension or original namespace\\
+&\livelink{chap:DWATextensionpreviousnamespaceextensionororiginalnamespace}{Previous namespace extension or original namespace}\\
\livetarg{chap:DWATexternal}{DW\-\_AT\-\_external}
-&External subroutine\\
-&External variable\\
+&\livelink{chap:DWATexternalexternalsubroutine}{External subroutine} \\
+&\livelink{chap:DWATexternalexternalvariable}{External variable} \\
\livetarg{chap:DWATframebase}{DW\-\_AT\-\_frame\-\_base}
&Subroutine frame base address\\
\livetarg{chap:DWATfriend}{DW\-\_AT\-\_friend}
ranges, respectively, of the machine instructions generated for
the module initialization code
(see Section \refersec{chap:codeaddressesandranges}).
+\hypertarget{chap:DWATentrypcentryaddressofmoduleinitialization}
It may also
have a \livelink{chap:DWATentrypc}{DW\-\_AT\-\_entry\-\_pc} attribute whose value is the address of
the first executable instruction of that initialization code
with the
tag \livetarg{chap:DWTAGnamespace}{DW\-\_TAG\-\_namespace}.
A namespace extension is
-represented by a \livelink{chap:DWTAGnamespace}{DW\-\_TAG\-\_namespace} entry
-with a \livelink{chap:DWATextension}{DW\-\_AT\-\_extension}
+\hypertarget{chap:DWATextensionpreviousnamespaceextensionororiginalnamespace}
+represented by a
+\livelink{chap:DWTAGnamespace}{DW\-\_TAG\-\_namespace} entry
+with a
+\livelink{chap:DWATextension}{DW\-\_AT\-\_extension}
attribute referring to the previous extension, or if there
is no previous extension, to the original
\livelink{chap:DWTAGnamespace}{DW\-\_TAG\-\_namespace}
described in Section \refersec{chap:linkagenames}.
If the name of the subroutine described by an entry with the
-tag \livelink{chap:DWTAGsubprogram}{DW\-\_TAG\-\_subprogram} is visible outside of its containing
-compilation unit, that entry has a \livelink{chap:DWATexternal}{DW\-\_AT\-\_external} attribute,
+tag \livelink{chap:DWTAGsubprogram}{DW\-\_TAG\-\_subprogram}
+is visible outside of its containing
+\hypertarget{chap:DWATexternalexternalsubroutine}
+compilation unit, that entry has a
+\livelink{chap:DWATexternal}{DW\-\_AT\-\_external} attribute,
which is a \livelink{chap:flag}{flag}.
\textit{Additional attributes for functions that are members of a
as C where functions support recursion by default.
}
-A subprogram entry may have a \livelink{chap:DWATelemental}{DW\-\_AT\-\_elemental} attribute, which
+A subprogram entry
+\hypertarget{chap:DWATelementalelementalpropertyofasubroutine}
+may have a
+\livelink{chap:DWATelemental}{DW\-\_AT\-\_elemental} attribute, which
is a \livelink{chap:flag}{flag}.
The attribute indicates whether the subroutine
or entry point was declared with the ``elemental'' keyword
for the subroutine (see
Section \refersec{chap:codeaddressesandranges}).
-A subroutine entry may also have a \livelink{chap:DWATentrypc}{DW\-\_AT\-\_entry\-\_pc} attribute
+A
+\hypertarget{chap:DWATentrypcentryaddressofsubprogram}
+subroutine entry may also have a
+\livelink{chap:DWATentrypc}{DW\-\_AT\-\_entry\-\_pc} attribute
whose value is the address of the first executable instruction
of the subroutine (see
Section \refersec{chap:entryaddress}).
child of the entry that represents the scope within which
the inlining occurs.
-Each inlined subroutine entry may have either a \livelink{chap:DWATlowpc}{DW\-\_AT\-\_low\-\_pc}
+Each inlined subroutine entry may have either a
+\livelink{chap:DWATlowpc}{DW\-\_AT\-\_low\-\_pc}
and \livelink{chap:DWAThighpc}{DW\-\_AT\-\_high\-\_pc} pair of attributes or a \livelink{chap:DWATranges}{DW\-\_AT\-\_ranges}
attribute whose values encode the contiguous or non\dash contiguous
address ranges, respectively, of the machine instructions
generated for the inlined subroutine (see
-Section \refersec{chap:codeaddressesandranges}). An
-inlined subroutine entry may also contain a \livelink{chap:DWATentrypc}{DW\-\_AT\-\_entry\-\_pc}
+Section \refersec{chap:codeaddressesandranges}).
+An
+\hypertarget{chap:DWATentrypcentryaddressofinlinedsubprogram}
+inlined subroutine entry may also contain a
+\livelink{chap:DWATentrypc}{DW\-\_AT\-\_entry\-\_pc}
attribute, representing the first executable instruction of
the inline expansion (see
Section \refersec{chap:entryaddress}).
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
\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