DW_AT_c* in attribute table now linked per DWARF4.
[dwarf-doc.git] / dwarf5 / latexdoc / dataobject.tex
index 99aa399..e9c20e9 100644 (file)
@@ -4,7 +4,8 @@
 This section presents the debugging information entries that
 describe individual data objects: variables, parameters and
 constants, and lists of those objects that may be grouped in
-a single declaration, such as a common block.
+a single declaration, such as 
+a common \livelink{chap:commonblockentry}{block}.
 
 \section{Data Object Entries}
 \label{chap:dataobjectentries}
@@ -29,14 +30,16 @@ source program.  If a variable entry describes an anonymous
 union, the name attribute is omitted or consists of a single
 zero byte.
 
-\item A \livelink{chap:DWATexternal}{DW\-\_AT\-\_external} attribute, which is a flag, if the name
+\item A \livelink{chap:DWATexternal}{DW\-\_AT\-\_external} attribute, 
+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
-or classes are represented by variable entries flagged as
+or classes are represented by variable entries \nolink{flagged} as
 external. Both file static and local variables in C and C++
 are represented by non-external variable entries.
 
-\item A \livelink{chap:DWATdeclaration}{DW\-\_AT\-\_declaration} attribute, which is a flag that
+\item A \livelink{chap:DWATdeclaration}{DW\-\_AT\-\_declaration} attribute, 
+which is a \livelink{chap:flag}{flag} that
 indicates whether this entry represents a non-defining
 declaration of an object.
 
@@ -78,13 +81,15 @@ the specification attribute. In particular, such variable
 entries do not need to contain attributes for the name or
 type of the data member whose definition they represent.
 
-\item A \livelink{chap:DWATvariableparameter}{DW\-\_AT\-\_variable\-\_parameter} attribute, which is a flag,
+\item A \livelink{chap:DWATvariableparameter}{DW\-\_AT\-\_variable\-\_parameter} attribute, 
+which is a \livelink{chap:flag}{flag},
 if a formal parameter entry represents a parameter whose
 value in the calling function may be modified by the callee..
 The absence of this attribute implies that the parameter’s
 value in the calling function cannot be modified by the callee.
 
-\item A \livelink{chap:DWATisoptional}{DW\-\_AT\-\_is\-\_optional} attribute, which is a flag, if a
+\item A \livelink{chap:DWATisoptional}{DW\-\_AT\-\_is\-\_optional} attribute, 
+which is a \livelink{chap:flag}{flag}, if a
 parameter entry represents an optional parameter.
 
 \item A \livelink{chap:DWATdefaultvalue}{DW\-\_AT\-\_default\-\_value} attribute for a formal parameter
@@ -101,13 +106,17 @@ as a default value of the type of the formal parameter.
 \textit{For a constant form there is no way to 
 express the absence of a default value.}
 
-\item A \livelink{chap:DWATconstvalue}{DW\-\_AT\-\_const\-\_value} attribute for an entry describing a
+\item A \livelink{chap:DWATconstvalue}{DW\-\_AT\-\_const\-\_value} attribute 
+for 
+\hypertarget{chap:DWATconstvalueconstantobject}
+an entry describing a
 variable or formal parameter whose value is constant and not
 represented by an object in the address space of the program,
 or an entry describing a named constant. (Note that such
 an entry does not have a location attribute.) The value of
 this attribute may be a string or any of the constant data
-or data block forms, as appropriate for the representation
+or data \livelink{chap:block}{block} forms, 
+as appropriate for the representation
 of the variable’s value. The value is the actual constant
 value of the variable, represented as it would be on the
 target architecture.  One way in which a formal parameter
@@ -140,8 +149,9 @@ beginning of a range list (see Section 2.17.3).
 
 
 \textit{The scope of a variable may begin somewhere in the middle of
-a lexical block in a language that allows executable code in a
-block before a variable declaration, or where one declaration
+a lexical \livelink{chap:lexicalblock}{block} in a language 
+that allows executable code in a
+\nolink{block} before a variable declaration, or where one declaration
 containing initialization code may change the scope of a
 subsequent declaration.  For example, in the following C code:}
 
@@ -179,11 +189,11 @@ Figure \refersec{fig:endianityattributevalues}.
 \centering
 \begin{tabular}{lp{9cm}}
 Name&Meaning\\ \hline
-DW\-\_END\-\_default &  Default endian encoding
+\livetarg{chap:DWENDdefault}{DW\-\_END\-\_default} &  Default endian encoding
   (equivalent to the absence of a 
   \livelink{chap:DWATendianity}{DW\-\_AT\-\_endianity} attribute) \\
-DW\-\_END\-\_big & Big\dash endian encoding \\
-DW\-\_END\-\_little& Little-endian encoding \\
+\livetarg{chap:DWENDbig}{DW\-\_END\-\_big} & Big\dash endian encoding \\
+\livetarg{chap:DWENDlittle}{DW\-\_END\-\_little}& Little-endian encoding \\
 \end{tabular}
 \caption{Endianity attribute values}
 \label{fig:endianityattributevalues}
@@ -196,9 +206,12 @@ exact definition of these formats may differ in subtle ways
 for different architectures.
 
 
-\item A \livelink{chap:DWATconstexpr}{DW\-\_AT\-\_const\-\_expr} attribute, which is a flag, if a
+\item A \livelink{chap:DWATconstexpr}{DW\-\_AT\-\_const\-\_expr} attribute, 
+which 
+\hypertarget{chap:DWATconstexprcompiletimeconstantobject}
+is a \livelink{chap:flag}{flag}, if a
 variable entry represents a C++ object declared with the
-constexpr specifier. This attributes indicates that the
+\textit{constexpr} specifier. This attributes indicates that the
 variable can be evaluated as a compile\dash time constant.  
 
 \textit{In C++,
@@ -214,20 +227,23 @@ Section \refersec{chap:linkagenames}.
 
 \section{Common Block Entries}
 \label{chap:commonblockentries}
-A Fortran common block may be described by a debugging
+A Fortran \livetargi{chap:fortrancommonblock}{common}{Fortran!common block} \livetargi{chap:commonblockentry}{block}{common block entry} 
+may be described by a debugging
 information entry with the 
 tag \livetarg{chap:DWTAGcommonblock}{DW\-\_TAG\-\_common\-\_block}. 
 The
-common block entry has a \livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute whose value
-is a null-terminated string containing the common block
+common \nolink{block} 
+entry has a \livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute whose value
+is a null-terminated string containing the 
+\livetargi{chap:commonblockreferenceattribute}{common}{common block reference attribute} \nolink{block}
 name as it appears in the source program. It may also have a
 \livelink{chap:DWATlinkagename}{DW\-\_AT\-\_linkage\-\_name} attribute as described in 
 Section \refersec{chap:linkagenames}. 
 It
 also has a \livelink{chap:DWATlocation}{DW\-\_AT\-\_location} attribute whose value describes the
-location of the beginning of the common block. The common
-block entry owns debugging information entries describing
-the variables contained within the common block.
+location of the beginning of the common \nolink{block}. The common
+\nolink{block} entry owns debugging information entries describing
+the variables contained within the common \nolink{block}.
 
 \section{Namelist Entries}
 \label{chap:namelistentries}