DW_AT_t* through DW_AT_v* attributes table entries done.
[dwarf-doc.git] / dwarf5 / latexdoc / generaldescription.tex
index 86c5103..f84c3f7 100644 (file)
@@ -143,221 +143,220 @@ to one of the classes shown in Figure \refersec{tab:classesofattributevalue}.
   \hline
 \endlastfoot
 \livetarg{chap:DWATabstractorigin}{DW\-\_AT\-\_abstract\-\_origin}
-&Inline instances of inline subprograms \\
-&Out\dash{} of\dash{} line instances of inline subprograms \\
+&\livelink{chap:DWATabstractorigininlineinstance}{Inline instances of inline subprograms} \\
+% Heren livelink we cannot use \dash or \dash{}.
+&\livelink{chap:DWATabstractoriginoutoflineinstance}{Out-of-line instances of inline subprograms} \\
 \livetarg{chap:DWATaccessibility}{DW\-\_AT\-\_accessibility}
-&C++ and Ada declarations \\
-&C++ base classes \\
-&C++ inherited members \\
+&\livelink{chap:DWATaccessibilitycandadadeclarations}{C++ and Ada declarations} \\
+&\livelink{chap:DWATaccessibilitycppbaseclasses}{C++ base classes} \\
+&\livelink{chap:DWATaccessibilitycppinheritedmembers}{C++ inherited members} \\
 \livetarg{chap:DWATaddressclass}{DW\-\_AT\-\_address\-\_class}
-&Pointer or reference types \\
-&Subroutine or subroutine type \\
+&\livelink{chap:DWATadressclasspointerorreferencetypes}{Pointer or reference types} \\
+&\livelink{chap:DWATaddressclasssubroutineorsubroutinetype}{Subroutine or subroutine type} \\
 \livetarg{chap:DWATallocated}{DW\-\_AT\-\_allocated}
-&Allocation status of types \\
+&\livelink{chap:DWATallocatedallocationstatusoftypes}{Allocation status of types} \\
 \livetarg{chap:DWATartificial}{DW\-\_AT\-\_artificial}
-&Objects or types that are not
-actually declared in the source \\
+&\livelink{chap:DWATartificialobjectsortypesthat}{Objects or types that are not
+actually declared in the source} \\
 \livetarg{chap:DWATassociated}{DW\-\_AT\-\_associated} 
-&Association status of types \\
+&\livelink{chap:DWATassociatedassociationstatusoftypes}{Association status of types} \\
 \livetarg{chap:DWATbasetypes}{DW\-\_AT\-\_base\-\_types} 
-&Primitive data types of compilation unit \\
+&\livelink{chap:DWATbasetypesprimitivedatatypesofcompilationunit}{Primitive data types of compilation unit} \\
 \livetarg{chap:DWATbinaryscale}{DW\-\_AT\-\_binary\-\_scale} 
-&Binary scale factor for fixed\dash point type \\
+&\livelink{chap:DWATbinaryscalebinaryscalefactorforfixedpointtype}{Binary scale factor for fixed-point type} \\
 \livetarg{chap:DWATbitoffset}{DW\-\_AT\-\_bit\-\_offset} 
-&Base type bit location \\
-&Data member bit location \\
+&\livelink{chap:DWATbitoffsetbasetypebitlocation}{Base type bit location} \\
+&\livelink{chap:DWATbitoffsetdatamemberbitlocation}{Data member bit location} \\
 \livetarg{chap:DWATbitsize}{DW\-\_AT\-\_bit\-\_size} 
-&Base type bit size \\
-&Data member bit size \\
+&\livelink{chap:DWATbitsizebasetypebitsize}{Base type bit size} \\
+&\livelink{chap:DWATbitsizedatamemberbitsize}{Data member bit size} \\
 \livetarg{chap:DWATbitstride}{DW\-\_AT\-\_bit\-\_stride} 
-&Array element stride (of array type) \\
-&Subrange stride (dimension of array type) \\
-&Enumeration stride (dimension of array type) \\
+&\livelink{chap:DWATbitstridearrayelementstrideofarraytype}{Array element stride (of array type)} \\
+&\livelink{chap:DWATbitstridesubrangestridedimensionofarraytype}{Subrange stride (dimension of array type)} \\
+&\livelink{chap:DWATbitstrideenumerationstridedimensionofarraytype}{Enumeration stride (dimension of array type)} \\
 \livetarg{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size} 
-&Data object or data type size \\
+&\livelink{chap:DWATbytesizedataobjectordatatypesize}{Data object or data type size} \\
 \livetarg{chap:DWATbytestride}{DW\-\_AT\-\_byte\-\_stride} 
-&Array element stride (of array type) \\
-&Subrange stride (dimension of array type) \\
-&Enumeration stride (dimension of array type) \\
+&\livelink{chap:DWATbytestridearrayelementstrideofarraytype}{Array element stride (of array type)} \\
+&\livelink{chap:DWATbytestridesubrangestridedimensionofarraytype}{Subrange stride (dimension of array type)} \\
+&\livelink{chap:DWATbytestrideenumerationstridedimensionofarraytype}{Enumeration stride (dimension of array type)} \\
 \livetarg{chap:DWATcallcolumn}{DW\-\_AT\-\_call\-\_column} 
-&Column position of inlined subroutine call \\
+&\livelink{chap:DWATcallcolumncolumnpositionofinlinedsubroutinecall}{Column position of inlined subroutine call}\\
 \livetarg{chap:DWATcallfile}{DW\-\_AT\-\_call\-\_file}
-&File containing inlined subroutine call \\
+&\livelink{chap:DWATcallfilefilecontaininginlinedsubroutinecall}{File containing inlined subroutine call} \\
 \livetarg{chap:DWATcallline}{DW\-\_AT\-\_call\-\_line} 
-&Line number of inlined subroutine call \\
+&\livelink{chap:DWATcalllinelinenumberofinlinedsubroutinecall}{Line number of inlined subroutine call} \\
 \livetarg{chap:DWATcallingconvention}{DW\-\_AT\-\_calling\-\_convention} 
-&Subprogram calling convention \\
-&\livetarg{chap:DWATcommonreference}{DW\-\_AT\-\_common\-\_reference} \\
-&Common \nolink{block} usage \\
+&\livelink{chap:DWATcallingconventionsubprogramcallingconvention}{Subprogram calling convention} \\
+\livetarg{chap:DWATcommonreference}{DW\-\_AT\-\_common\-\_reference}
+&\livelink{chap:commonreferencecommonblockusage}{Common block usage} \\
 \livetarg{chap:DWATcompdir}{DW\-\_AT\-\_comp\-\_dir}
-&Compilation directory \\
+&\livelink{chap:DWATcompdircompilationdirectory}{Compilation directory} \\
 \livetarg{chap:DWATconstvalue}{DW\-\_AT\-\_const\-\_value}
-&Constant object \\
-\livelink{chap:DWATconstvalue}{DW\-\_AT\-\_const\-\_value}
-&Enumeration literal value \\
-&Template value parameter \\
+&\livelink{chap:DWATconstvalueconstantobject}{Constant object} \\
+&\livelink{chap:DWATconstvalueenumerationliteralvalue}{Enumeration literal value} \\
+&\livelink{chap:DWATconstvaluetemplatevalueparameter}{Template value parameter} \\
 \livetarg{chap:DWATconstexpr}{DW\-\_AT\-\_const\-\_expr}
-&Compile\dash time constant object \\
-&Compile\dash time constant function \\
+&\livelink{chap:DWATconstexprcompiletimeconstantobject}{Compile-time constant object} \\
+&\livelink{chap:DWATconstexprcompiletimeconstantfunction}{Compile-time constant function} \\
 \livetarg{chap:DWATcontainingtype}{DW\-\_AT\-\_containing\-\_type}
-&Containing type of pointer to member type \\
+&\livelink{chap:DWATcontainingtypecontainingtypeofpointertomembertype}{Containing type of pointer to member type} \\
 \livetarg{chap:DWATcount}{DW\-\_AT\-\_count}
-&Elements of subrange type \\
+&\livelink{chap:DWATcountelementsofsubrangetype}{Elements of subrange type} \\
 \livetarg{chap:DWATdatabitoffset}{DW\-\_AT\-\_data\-\_bit\-\_offset}
-&Base type bit location \\
-&Data member bit location \\
+&\livelink{chap:DWATdatabitoffsetbasetypebitlocation}{Base type bit location} \\
+&\livelink{chap:DWATdatabitoffsetdatamemberbitlocation}{Data member bit location} \\
 \livetarg{chap:DWATdatalocation}{DW\-\_AT\-\_data\-\_location} 
-&Indirection to actual data \\
+&\livelink{chap:DWATdatalocationindirectiontoactualdata}{Indirection to actual data} \\
 \livetarg{chap:DWATdatamemberlocation}{DW\-\_AT\-\_data\-\_member\-\_location}
-&Data member location \\
-&Inherited member location \\
+&\livelink{chap:DWATdatamemberlocationdatamemberlocation}{Data member location} \\
+&\livelink{chap:DWATdatamemberlocationinheritedmemberlocation}{Inherited member location} \\
 \livetarg{chap:DWATdecimalscale}{DW\-\_AT\-\_decimal\-\_scale}
-&Decimal scale factor \\
+&\livelink{chap:DWATdecimalscaledecimalscalefactor}{Decimal scale factor} \\
 \livetarg{chap:DWATdecimalsign}{DW\-\_AT\-\_decimal\-\_sign}
-&Decimal sign representation \\
+&\livelink{chap:DWATdecimalsigndecimalsignrepresentation}{Decimal sign representation} \\
 \livetarg{chap:DWATdeclcolumn}{DW\-\_AT\-\_decl\-\_column}
-&Column position of source declaration \\
+&\livelink{chap:DWATdeclcolumncolumnpositionofsourcedeclaration}{Column position of source declaration} \\
 \livetarg{chap:DWATdeclfile}{DW\-\_AT\-\_decl\-\_file}
-&File containing source declaration \\
+&\livelink{chap:DWATdeclfilefilecontainingsourcedeclaration}{File containing source declaration} \\
 \livetarg{chap:DWATdeclline}{DW\-\_AT\-\_decl\-\_line}
-&Line number of source declaration \\
+&\livelink{chap:DWATdecllinelinenumberofsourcedeclaration}{Line number of source declaration} \\
 \livetarg{chap:DWATdeclaration}{DW\-\_AT\-\_declaration}
-&Incomplete, non\dash defining, or separate entity declaration \\
+&\livelink{chap:DWATdeclarationincompletenondefiningorseparateentitydeclaration}{Incomplete, non-defining, or separate entity declaration} \\
 \livetarg{chap:DWATdefaultvalue}{DW\-\_AT\-\_default\-\_value}
-&Default value of parameter \\
+&\livelink{chap:DWATdefaultvaluedefaultvalueofparameter}{Default value of parameter} \\
 \livetarg{chap:DWATdescription}{DW\-\_AT\-\_description} 
-& Artificial name or description \\
+&\livelink{chap:DWATdescriptionartificialnameordescription}{Artificial name or description} \\
 \livetarg{chap:DWATdigitcount}{DW\-\_AT\-\_digit\-\_count}
-&Digit count for packed decimal or numeric string type\\
+&\livelink{chap:DWATdigitcountdigitcountforpackeddecimalornumericstringtype}{Digit count for packed decimal or numeric string type} \\
 \livetarg{chap:DWATdiscr}{DW\-\_AT\-\_discr}
-&Discriminant of variant part\\
+&\livelink{chap:DWATdiscrdiscriminantofvariantpart}{Discriminant of variant part} \\
 \livetarg{chap:DWATdiscrlist}{DW\-\_AT\-\_discr\-\_list}
-&List of discriminant values\\
+&\livelink{chap:DWATdiscrlistlistofdiscriminantvalues}{List of discriminant values} \\
 \livetarg{chap:DWATdiscrvalue}{DW\-\_AT\-\_discr\-\_value}
-&Discriminant value\\
+&\livelink{chap:DWATdiscrvaluediscriminantvalue}{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\\
+&\livelink{chap:DWATframebasesubroutineframebaseaddress}{Subroutine frame base address} \\
 \livetarg{chap:DWATfriend}{DW\-\_AT\-\_friend}
-&Friend relationship\\
+&\livelink{chap:DWATfriendfriendrelationship}{Friend relationship} \\
 \livetarg{chap:DWAThighpc}{DW\-\_AT\-\_high\-\_pc}
-&Contiguous range of code addresses\\
+&\livelink{chap:DWAThighpccontinguousrangeofcodeaddresses}{Contiguous range of code addresses} \\
 \livetarg{chap:DWATidentifiercase}{DW\-\_AT\-\_identifier\-\_case}
-&Identifier case rule \\
+&\livelink{chap:DWATidentifiercaseidentifiercaserule}{Identifier case rule} \\
 \livetarg{chap:DWATimport}{DW\-\_AT\-\_import}
-&Imported declaration \\
-&Imported unit \\
-&Namespace alias \\
-&Namespace using declaration \\
-&Namespace using directive \\
+&\livelink{chap:DWATimportimporteddeclaration}{Imported declaration} \\
+&\livelink{chap:DWATimportimportedunit}{Imported unit} \\
+&\livelink{chap:DWATimportnamespacealias}{Namespace alias} \\
+&\livelink{chap:DWATimportnamespaceusingdeclaration}{Namespace using declaration} \\
+&\livelink{chap:DWATimportnamespaceusingdirective}{Namespace using directive} \\
 \livetarg{chap:DWATinline}{DW\-\_AT\-\_inline}
-&Abstract instance\\
-&Inlined subroutine\\
+&\livelink{chap:DWATinlineabstracttinstance}{Abstract instance} \\
+&\livelink{chap:DWATinlineinlinedsubroutine}{Inlined subroutine} \\
 \livetarg{chap:DWATisoptional}{DW\-\_AT\-\_is\-\_optional}
-&Optional parameter\\
+&\livelink{chap:DWATisoptionaloptionalparameter}{Optional parameter} \\
 \livetarg{chap:DWATlanguage}{DW\-\_AT\-\_language}
-&Programming language\\
+&\livelink{chap:DWATlanguageprogramminglanguage}{Programming language} \\
 \livetarg{chap:DWATlinkagename}{DW\-\_AT\-\_linkage\-\_name}
-&Object file linkage name of an entity\\
+&\livelink{chap:DWATlinkagenameobjectfilelinkagenameofanentity}{Object file linkage name of an entity}\\
 \livetarg{chap:DWATlocation}{DW\-\_AT\-\_location}
-&Data object location\\
+&\livelink{chap:DWATlocationdataobjectlocation}{Data object location}\\
 \livetarg{chap:DWATlowpc}{DW\-\_AT\-\_low\-\_pc}
-&Code address or range of addresses\\
+&\livelink{chap:DWATlowpccodeaddressorrangeofaddresses}{Code address or range of addresses}\\
 \livetarg{chap:DWATlowerbound}{DW\-\_AT\-\_lower\-\_bound}
-&Lower bound of subrange\\
+&\livelink{chap:DWATlowerboundlowerboundofsubrange}{Lower bound of subrange} \\
 \livetarg{chap:DWATmacroinfo}{DW\-\_AT\-\_macro\-\_info}
-&Macro information (\#define, \#undef)\\
+&\livelink{chap:DWATmacroinfomacroinformation}{Macro information} (\#define, \#undef)\\
 \livetarg{chap:DWATmainsubprogram}{DW\-\_AT\-\_main\-\_subprogram}
-&Main or starting subprogram\\
-&Unit containing main or starting subprogram\\
+&\livelink{chap:DWATmainsubprogrammainorstartingsubprogram}{Main or starting subprogram} \\
+&\livelink{chap:DWATmainsubprogramunitcontainingmainorstartingsubprogram}{Unit containing main or starting subprogram}\\
 \livetarg{chap:DWATmutable}{DW\-\_AT\-\_mutable}
-&Mutable property of member data\\
+&\livelink{chap:DWATmutablemutablepropertyofmemberdata}{Mutable property of member data} \\
 \livetarg{chap:DWATname}{DW\-\_AT\-\_name}
-&Name of declaration\\
-&Path name of compilation source\\
+&\livelink{chap:DWATnamenameofdeclaration}{Name of declaration}\\
+&\livelink{chap:DWATnamepathnameofcompilationsource}{Path name of compilation source} \\
 \livetarg{chap:DWATnamelistitem}{DW\-\_AT\-\_namelist\-\_item}
-&Namelist item\\
+&\livelink{chap:DWATnamelistitemnamelistitem}{Namelist item}\\
 \livetarg{chap:DWATobjectpointer}{DW\-\_AT\-\_object\-\_pointer}
-&Object (this, self) pointer of member function\\
+&\livelink{chap:DWATobjectpointerobjectthisselfpointerofmemberfunction}{Object (this, self) pointer of member function}\\
 \livetarg{chap:DWATordering}{DW\-\_AT\-\_ordering}
-&Array row/column ordering\\
+&\livelink{chap:DWATorderingarrayrowcolumnordering}{Array row/column ordering} \\
 \livetarg{chap:DWATpicturestring}{DW\-\_AT\-\_picture\-\_string}
-&Picture string for numeric string type\\
+&\livelink{chap:DWATpicturestringpicturestringfornumericstringtype}{Picture string for numeric string type} \\
 \livetarg{chap:DWATpriority}{DW\-\_AT\-\_priority}
-&Module priority\\
+&\livelink{chap:DWATprioritymodulepriority}{Module priority}\\
 \livetarg{chap:DWATproducer}{DW\-\_AT\-\_producer}
-&Compiler identification\\
+&\livelink{chap:DWATproducercompileridentification}{Compiler identification}\\
 \livetarg{chap:DWATprototyped}{DW\-\_AT\-\_prototyped}
-&Subroutine prototype\\
+&\livelink{chap:DWATprototypedsubroutineprototype}{Subroutine prototype}\\
 \livetarg{chap:DWATpure}{DW\-\_AT\-\_pure}
-&Pure property of a subroutine\\
+&\livelink{chap:DWATpurepurepropertyofasubroutine}{Pure property of a subroutine} \\
 \livetarg{chap:DWATranges}{DW\-\_AT\-\_ranges}
-&Non\dash contiguous range of code addresses\\
+&\livelink{chap:DWATrangesnoncontiguousrangeofcodeaddresses}{Non-contiguous range of code addresses} \\
 \livetarg{chap:DWATrecursive}{DW\-\_AT\-\_recursive}
-&Recursive property of a subroutine\\
+&\livelink{chap:DWATrecursiverecursivepropertyofasubroutine}{Recursive property of a subroutine} \\
 \livetarg{chap:DWATreturnaddr}{DW\-\_AT\-\_return\-\_addr}
-&Subroutine return address save location\\
+&\livelink{chap:DWATreturnaddrsubroutinereturnaddresssavelocation}{Subroutine return address save location} \\
 \livetarg{chap:DWATsegment}{DW\-\_AT\-\_segment}
-&Addressing information\\
+&\livelink{chap:DWATsegmentaddressinginformation}{Addressing information} \\
 \livetarg{chap:DWATsibling}{DW\-\_AT\-\_sibling}
-&Debugging information entry relationship\\
+&\livelink{chap:DWATsiblingdebugginginformationentryrelationship}{Debugging information entry relationship} \\
 \livetarg{chap:DWATsmall}{DW\-\_AT\-\_small}
-&Scale factor for fixed\dash point type\\
+&\livelink{chap:DWATsmallscalefactorforfixedpointtype}{Scale factor for fixed-point type} \\
 \livetarg{chap:DWATsignature}{DW\-\_AT\-\_signature}
-&Type signature\\
+&\livelink{chap:DWATsignaturetypesignature}{Type signature}\\
 \livetarg{chap:DWATspecification}{DW\-\_AT\-\_specification}
-&Incomplete, non\dash defining, or separate declaration
-corresponding to a declaration\\
+&\livelink{chap:DWATspecificationincompletenondefiningorseparatedeclaration}{Incomplete, non-defining, or separate declaration corresponding to a declaration } \\
 \livetarg{chap:DWATstartscope}{DW\-\_AT\-\_start\-\_scope}
-&Object declaration\\
-&Type declaration\\
+&\livelink{chap:DWATstartscopeobjectdeclaration}{Object declaration}\\
+&\livelink{chap:DWATstartscopetypedeclaration}{Type declaration}\\
 \livetarg{chap:DWATstaticlink}{DW\-\_AT\-\_static\-\_link}
-&Location of uplevel frame\\
+&\livelink{chap:DWATstaticlinklocationofuplevelframe}{Location of uplevel frame} \\
 \livetarg{chap:DWATstmtlist}{DW\-\_AT\-\_stmt\-\_list}
-&Line number information for unit\\
+&\livelink{chap:DWATstmtlistlinenumberinformationforunit}{Line number information for unit}\\
 \livetarg{chap:DWATstringlength}{DW\-\_AT\-\_string\-\_length}
-&String length of string type\\
+&\livelink{chap:DWATstringlengthstringlengthofstringtype}{String length of string type} \\
 \livetarg{chap:DWATthreadsscaled}{DW\-\_AT\-\_threads\-\_scaled}
-&UPC array bound THREADS scale factor\\
+&\livelink{chap:DWATthreadsscaledupcarrayboundthreadsscalfactor}{UPC array bound THREADS scale factor}\\
 \livetarg{chap:DWATtrampoline}{DW\-\_AT\-\_trampoline}
-&Target subroutine\\
+&\livelink{chap:DWATtrampolinetargetsubroutine}{Target subroutine} \\
 \livetarg{chap:DWATtype}{DW\-\_AT\-\_type}
-&Type of declaration\\
-&Type of subroutine return\\
+&\livelink{chap:DWATtypetypeofdeclaration}{Type of declaration} \\
+&\livelink{chap:DWATtypetypeofsubroutinereturn}{Type of subroutine return} \\
 \livetarg{chap:DWATupperbound}{DW\-\_AT\-\_upper\-\_bound}
-&Upper bound of subrange\\
+&\livelink{chap:DWATupperboundupperboundofsubrange}{Upper bound of subrange} \\
 \livetarg{chap:DWATuselocation}{DW\-\_AT\-\_use\-\_location}
-&Member location for pointer to member type\\
+&\livelink{chap:DWATuselocationmemberlocationforpointertomembertype}{Member location for pointer to member type} \\
 \livetarg{chap:DWATuseUTF8}{DW\-\_AT\-\_use\-\_UTF8}
-&Compilation unit uses UTF\dash 8 strings \\
+&\livelink{chap:DWATuseUTF8compilationunitusesutf8strings}{Compilation unit uses UTF-8 strings} \\
 \livetarg{chap:DWATvariableparameter}{DW\-\_AT\-\_variable\-\_parameter}
-&Non\dash constant parameter \livelink{chap:flag}{flag} \\
+&\livelink{chap:DWATvariableparameternonconstantparameterflag}{Non-constant parameter flag}  \\
 \livetarg{chap:DWATvirtuality}{DW\-\_AT\-\_virtuality}
-&Virtuality indication \\
-&Virtuality of base class \\
-&Virtuality of function \\
+&\livelink{chap:DWATvirtualityvirtualityindication}{Virtuality indication} \\
+&\livelink{chap:DWATvirtualityvirtualityofbaseclass}{Virtuality of base class} \\
+&\livelink{chap:DWATvirtualityvirtualityoffunction}{Virtuality of function} \\
 \livetarg{chap:DWATvisibility}{DW\-\_AT\-\_visibility}
-&Visibility of declaration\\
+&\livelink{chap:DWATvisibilityvisibilityofdeclaration}{Visibility of declaration} \\
 \livetarg{chap:DWATvtableelemlocation}{DW\-\_AT\-\_vtable\-\_elem\-\_location}
-&Virtual function vtable slot\\
+&\livelink{chap:DWATvtableelemlocationvirtualfunctiontablevtableslot}{Virtual function vtable slot}\\
 \end{longtable}
 
 \begin{figure}[here]
@@ -477,6 +476,7 @@ children are represented as siblings of the first child.
 A chain of sibling entries is terminated by a null entry.
 
 In cases where a producer of debugging information feels that
+\hypertarget{chap:DWATsiblingdebugginginformationentryrelationship}
 it will be important for consumers of that information to
 quickly scan chains of sibling entries, while ignoring the
 children of individual siblings, that producer may attach a
@@ -1111,6 +1111,7 @@ or is computed from other locations and values in the program.
 \item \livetarg{chap:DWOPimplicitvalue}{DW\-\_OP\-\_implicit\-\_value} \\
 The \livelink{chap:DWOPimplicitvalue}{DW\-\_OP\-\_implicit\-\_value} operation specifies an immediate value
 using two operands: an unsigned LEB128 length, followed by
+%FIXME: should this block be a reference? To what?
 a \nolink{block} representing the value in the memory representation
 of the target machine. The length operand gives the length
 in bytes of the \nolink{block}.
@@ -1362,7 +1363,9 @@ and representation.}
 
 \section{Types of Program Entities}
 \label{chap:typesofprogramentities}
-Any debugging information entry describing a declaration that
+Any 
+\hypertarget{chap:DWATtypetypeofdeclaration}
+debugging information entry describing a declaration that
 has a type has a \livelink{chap:DWATtype}{DW\-\_AT\-\_type} attribute, whose value is a
 reference to another debugging information entry. The entry
 referenced may describe a base type, that is, a type that is
@@ -1386,7 +1389,10 @@ the accessibility of an object or of some other program
 entity. The accessibility specifies which classes of other
 program objects are permitted access to the object in question.}
 
-The accessibility of a declaration is represented by a \livelink{chap:DWATaccessibility}{DW\-\_AT\-\_accessibility} attribute, whose
+The accessibility of a declaration is 
+\hypertarget{chap:DWATaccessibilitycandadadeclarations}
+represented by a 
+\livelink{chap:DWATaccessibility}{DW\-\_AT\-\_accessibility} attribute, whose
 value is a constant drawn from the set of codes listed in Figure 
 \ref{fig:accessibilitycodes}.
 
@@ -1410,7 +1416,9 @@ visibility specifies which declarations are to be
 visible outside of the entity in which they are
 declared.}
 
-The visibility of a declaration is represented 
+The 
+\hypertarget{chap:DWATvisibilityvisibilityofdeclaration}
+visibility of a declaration is represented 
 by a \livelink{chap:DWATvisibility}{DW\-\_AT\-\_visibility} attribute, whose value is a
 constant drawn from the set of codes listed in 
 Figure \ref{fig:visibilitycodes}.
@@ -1431,7 +1439,9 @@ Figure \ref{fig:visibilitycodes}.
 \textit{C++ provides for virtual and pure virtual structure or class
 member functions and for virtual base classes.}
 
-The virtuality of a declaration is represented by a
+The 
+\hypertarget{chap:DWATvirtualityvirtualityindication}
+virtuality of a declaration is represented by a
 \livelink{chap:DWATvirtuality}{DW\-\_AT\-\_virtuality} attribute, whose value is a constant drawn
 from the set of codes listed in 
 Figure \ref{fig:virtualitycodes}.
@@ -1459,7 +1469,10 @@ functions.}
 Any debugging information entry representing the
 declaration of an object or type artificially generated by
 a compiler and not explicitly declared by the source program
-may have a \livelink{chap:DWATartificial}{DW\-\_AT\-\_artificial} attribute, which is a \livelink{chap:flag}{flag}.
+\hypertarget{chap:DWATartificialobjectsortypesthat}
+may have a 
+\livelink{chap:DWATartificial}{DW\-\_AT\-\_artificial} attribute, 
+which is a \livelink{chap:flag}{flag}.
 
 \section{Segmented Addresses}
 \label{chap:segmentedaddresses}
@@ -1468,8 +1481,11 @@ given segment rather than as locations within a single flat
 address space.}
 
 Any debugging information entry that contains a description
+\hypertarget{chap:DWATsegmentaddressinginformation}
 of the location of an object or subroutine may have
-a \livelink{chap:DWATsegment}{DW\-\_AT\-\_segment} attribute, whose value is a location
+a 
+\livelink{chap:DWATsegment}{DW\-\_AT\-\_segment}
+attribute, whose value is a location
 description. The description evaluates to the segment selector
 of the item being described. If the entry containing the
 \livelink{chap:DWATsegment}{DW\-\_AT\-\_segment} attribute has a \livelink{chap:DWATlowpc}{DW\-\_AT\-\_low\-\_pc}, \livelink{chap:DWAThighpc}{DW\-\_AT\-\_high\-\_pc},
@@ -1526,6 +1542,7 @@ typically represents the defining declaration of that
 entity. In certain contexts, however, a debugger might need
 information about a declaration of an entity that is not
 also a definition, or is otherwise incomplete, to evaluate
+\hypertarget{chap:DWATdeclarationincompletenondefiningorseparateentitydeclaration}
 an expression correctly.
 
 \textit{As an example, consider the following fragment of C code:}
@@ -1546,6 +1563,37 @@ void myfunc()
 value of the variable x passed to the function g is the value of the
 global variable x rather than of the local version.}
 
+\subsection{Non-Defining Declarations}
+A debugging information entry that represents a non-defining or otherwise incomplete
+declaration of a program entity has a 
+\livelink{chap:DWATdeclaration}{DW\-\_AT\-\_declaration} 
+attribute, which is a 
+\livelink{chap:flag}{flag}.
+
+\subsection{Declarations Completing Non-Defining Declarations}
+A debugging information entry that represents a 
+\hypertarget{chap:DWATspecificationincompletenondefiningorseparatedeclaration}
+declaration that completes another (earlier) 
+non\dash defining declaration may have a 
+\livelink{chap:DWATspecification}{DW\-\_AT\-\_specification}
+attribute whose value is a reference to
+the debugging information entry representing the non-defining declaration. A debugging
+information entry with a 
+\livelink{chap:DWATspecification}{DW\-\_AT\-\_specification} 
+attribute does not need to duplicate information
+provided by the debugging information entry referenced by that specification attribute.
+
+It is not the case that all attributes of the debugging information entry referenced by a
+\livelink{chap:DWATspecification}{DW\-\_AT\-\_specification} attribute 
+apply to the referring debugging information entry.
+
+\textit{For example,
+\livelink{chap:DWATsibling}{DW\-\_AT\-\_sibling} and 
+\livelink{chap:DWATdeclaration}{DW\-\_AT\-\_declaration} 
+clearly cannot apply to a referring
+entry.}
+
+
 
 \section{Declaration Coordinates}
 \label{chap:declarationcoordinates}
@@ -1553,7 +1601,13 @@ global variable x rather than of the local version.}
 a declaration with its occurrence in the program source.
 }
 
-Any debugging information entry representing the
+Any debugging information 
+\hypertarget{chap:DWATdeclfilefilecontainingsourcedeclaration}
+entry 
+\hypertarget{chap:DWATdecllinelinenumberofsourcedeclaration}
+representing 
+\hypertarget{chap:DWATdeclcolumncolumnpositionofsourcedeclaration}
+the
 declaration of an object, module, subprogram or type may have
 \livelink{chap:DWATdeclfile}{DW\-\_AT\-\_decl\-\_file}, \livelink{chap:DWATdeclline}{DW\-\_AT\-\_decl\-\_line} and \livelink{chap:DWATdeclcolumn}{DW\-\_AT\-\_decl\-\_column}
 attributes each of whose value is an unsigned integer constant.
@@ -1577,8 +1631,11 @@ indicates that no column has been specified.
 
 \section{Identifier Names}
 \label{chap:identifiernames}
-Any debugging information entry representing a program entity
-that has been given a name may have a \livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute,
+Any 
+\hypertarget{chap:DWATnamenameofdeclaration}
+debugging information entry representing a program entity
+that has been given a name may have a 
+\livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute,
 whose value is a string representing the name as it appears in
 the source program. A debugging information entry containing
 no name attribute, or containing a name attribute whose value
@@ -1598,7 +1655,10 @@ multiple whitespace characters may be compressed.}
 
 \section{Data Locations and DWARF Procedures}
 Any debugging information entry describing a data object (which
-includes variables and parameters) or common \nolink{block} may have a
+\hypertarget{chap:DWATlocationdataobjectlocation}
+includes variables and parameters) or 
+common \livelink{chap:commonblockentry}{block}
+may have a
 \livelink{chap:DWATlocation}{DW\-\_AT\-\_location} attribute, whose value is a location description
 (see Section 2.6).  
 
@@ -1622,9 +1682,13 @@ DWARF expression operator
 Any debugging information entry describing an entity that has
 a machine code address or range of machine code addresses,
 which includes compilation units, module initialization,
+\hypertarget{chap:DWATrangesnoncontiguousrangeofcodeaddresses}
 subroutines, ordinary \livelink{chap:lexicalblock}{block}, 
 try/catch \nolink{blocks} (see Section\refersec{chap:tryandcatchblockentries}), 
-labels and
+labels 
+\hypertarget{chap:DWATlowpccodeaddressorrangeofaddresses}
+and
+\hypertarget{chap:DWAThighpccontinguousrangeofcodeaddresses}
 the like, may have
 
 \begin{itemize}
@@ -1821,8 +1885,12 @@ type descriptions of the form typename’Class, and
 ``access typename'' parameters.  }
 
 Generally, any debugging information
-entry that has, or may have, a \livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute, may
-also have a \livelink{chap:DWATdescription}{DW\-\_AT\-\_description} attribute whose value is a
+entry that 
+\hypertarget{chap:DWATdescriptionartificialnameordescription}
+has, or may have, a 
+\livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute, may
+also have a 
+\livelink{chap:DWATdescription}{DW\-\_AT\-\_description} attribute whose value is a
 null-terminated string providing a description of the entity.
 
 
@@ -1862,12 +1930,15 @@ associated distinct linkage name it may sometimes be useful
 for a producer to include this name in the DWARF description
 of the program to facilitate consumer access to and use of
 object file information about an entity and/or information
+\hypertarget{chap:DWATlinkagenameobjectfilelinkagenameofanentity}
 that is encoded in the linkage name itself.  
 }
 
 % Some trouble maybe with hbox full, so we try optional word breaks.
 A debugging
-information entry may have a \livelink{chap:DWATlinkagename}{DW\-\_AT\-\_linkage\-\_name} attribute
+information entry may have a 
+\livelink{chap:DWATlinkagename}{DW\-\_AT\-\_linkage\-\_name}
+attribute
 whose value is a null-terminated string describing the object
 file linkage name associated with the corresponding entity.