This finishes the 'flag' links, which
authorDavid Anderson <davea42@earthlink.net>
Sun, 17 Jun 2012 17:10:30 +0000 (10:10 -0700)
committerDavid Anderson <davea42@earthlink.net>
Sun, 17 Jun 2012 17:10:30 +0000 (10:10 -0700)
may all be correct now. Some of the block links
are present but not all are correct.

dwarf5/latexdoc/dataobject.tex
dwarf5/latexdoc/generaldescription.tex
dwarf5/latexdoc/programscope.tex

index 321244e..708e6f9 100644 (file)
@@ -33,7 +33,7 @@ zero byte.
 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
 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.
 
 external. Both file static and local variables in C and C++
 are represented by non-external variable entries.
 
index 3839582..86c5103 100644 (file)
@@ -349,7 +349,7 @@ corresponding to a declaration\\
 \livetarg{chap:DWATuseUTF8}{DW\-\_AT\-\_use\-\_UTF8}
 &Compilation unit uses UTF\dash 8 strings \\
 \livetarg{chap:DWATvariableparameter}{DW\-\_AT\-\_variable\-\_parameter}
 \livetarg{chap:DWATuseUTF8}{DW\-\_AT\-\_use\-\_UTF8}
 &Compilation unit uses UTF\dash 8 strings \\
 \livetarg{chap:DWATvariableparameter}{DW\-\_AT\-\_variable\-\_parameter}
-&Non\dash constant parameter flag \\
+&Non\dash constant parameter \livelink{chap:flag}{flag} \\
 \livetarg{chap:DWATvirtuality}{DW\-\_AT\-\_virtuality}
 &Virtuality indication \\
 &Virtuality of base class \\
 \livetarg{chap:DWATvirtuality}{DW\-\_AT\-\_virtuality}
 &Virtuality indication \\
 &Virtuality of base class \\
@@ -434,7 +434,8 @@ of other debugging entries and by permitting the same debugging
 information entry to be one of many owned by another debugging
 information entry. 
 This makes it possible, for example, to
 information entry to be one of many owned by another debugging
 information entry. 
 This makes it possible, for example, to
-describe the static \nolink{block} structure within a source file,
+describe the static \livelink{chap:lexicalblock}{block} structure 
+within a source file,
 to show the members of a structure, union, or class, and to
 associate declarations with source files or source files
 with shared objects.  
 to show the members of a structure, union, or class, and to
 associate declarations with source files or source files
 with shared objects.  
@@ -710,7 +711,8 @@ Appendix \refersec{app:aggregateexamples}.
 The \livelink{chap:DWOPformtlsaddress}{DW\-\_OP\-\_form\-\_tls\-\_address} operation pops a value from the
 stack, translates it into an address in the current thread's
 thread\dash local storage \nolink{block}, and pushes the address. If the
 The \livelink{chap:DWOPformtlsaddress}{DW\-\_OP\-\_form\-\_tls\-\_address} operation pops a value from the
 stack, translates it into an address in the current thread's
 thread\dash local storage \nolink{block}, and pushes the address. If the
-DWARF expression containing the \livelink{chap:DWOPformtlsaddress}{DW\-\_OP\-\_form\-\_tls\-\_address}
+DWARF expression containing 
+the \livelink{chap:DWOPformtlsaddress}{DW\-\_OP\-\_form\-\_tls\-\_address}
 operation belongs to the main executable's DWARF info, the
 operation uses the main executable's thread\dash local storage
 \nolink{block}; if the expression belongs to a shared library's
 operation belongs to the main executable's DWARF info, the
 operation uses the main executable's thread\dash local storage
 \nolink{block}; if the expression belongs to a shared library's
@@ -982,7 +984,8 @@ and/or other
 DWARF operations specific to describing locations. They are
 sufficient for describing the location of any object as long
 as its lifetime is either static or the same as the lexical
 DWARF operations specific to describing locations. They are
 sufficient for describing the location of any object as long
 as its lifetime is either static or the same as the lexical
-\nolink{block} that owns it, and it does not move during its lifetime.
+\livelink{chap:lexicalblock}{block} that owns it, 
+and it does not move during its lifetime.
 
 Single location descriptions are of two kinds:
 \begin{enumerate}[a]
 
 Single location descriptions are of two kinds:
 \begin{enumerate}[a]
@@ -1619,7 +1622,9 @@ 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,
 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,
-subroutines, ordinary \nolink{block}, try/catch \nolink{blocks}, labels and
+subroutines, ordinary \livelink{chap:lexicalblock}{block}, 
+try/catch \nolink{blocks} (see Section\refersec{chap:tryandcatchblockentries}), 
+labels and
 the like, may have
 
 \begin{itemize}
 the like, may have
 
 \begin{itemize}
@@ -1751,8 +1756,11 @@ cases, the entry address needs to be specified explicitly.}
 
 Any debugging information entry describing an entity that has
 a range of code addresses, which includes compilation units,
 
 Any debugging information entry describing an entity that has
 a range of code addresses, which includes compilation units,
-module initialization, subroutines, ordinary \nolink{block}, try/catch
-\nolink{blocks}, and the like, may have a \livelink{chap:DWATentrypc}{DW\-\_AT\-\_entry\-\_pc} attribute to
+module initialization, subroutines, 
+ordinary \livelink{chap:lexicalblock}{block}, 
+try/catch \nolink{blocks} (see Section \refersec{chap:tryandcatchblockentries}),
+and the like, 
+may have a \livelink{chap:DWATentrypc}{DW\-\_AT\-\_entry\-\_pc} attribute to
 indicate the first executable instruction within that range
 of addresses. The value of the \livelink{chap:DWATentrypc}{DW\-\_AT\-\_entry\-\_pc} attribute is a
 relocated address. If no \livelink{chap:DWATentrypc}{DW\-\_AT\-\_entry\-\_pc} attribute is present,
 indicate the first executable instruction within that range
 of addresses. The value of the \livelink{chap:DWATentrypc}{DW\-\_AT\-\_entry\-\_pc} attribute is a
 relocated address. If no \livelink{chap:DWATentrypc}{DW\-\_AT\-\_entry\-\_pc} attribute is present,
index 72d7b74..de8f3e3 100644 (file)
@@ -218,7 +218,7 @@ using the UTF\dash 8 representation
 whose presence indicates that the compilation unit contains a
 subprogram that has been identified as the starting function
 of the program. If more than one compilation unit contains
 whose presence indicates that the compilation unit contains a
 subprogram that has been identified as the starting function
 of the program. If more than one compilation unit contains
-this flag, any one of them may contain the starting function.
+this \nolink{flag}, any one of them may contain the starting function.
 
 \textit{Fortran has a PROGRAM statement which is used
 to specify and provide a user\dash specified name for the main
 
 \textit{Fortran has a PROGRAM statement which is used
 to specify and provide a user\dash specified name for the main
@@ -593,7 +593,7 @@ attribute which is
 a \livelink{chap:flag}{flag} whose presence indicates that the
 subroutine has been identified as the starting function of
 the program.  If more than one subprogram contains this 
 a \livelink{chap:flag}{flag} whose presence indicates that the
 subroutine has been identified as the starting function of
 the program.  If more than one subprogram contains this 
-\livelink{chap:flag}{flag},
+\nolink{flag},
 any one of them may be the starting subroutine of the program.
 
 \textit{Fortran has a PROGRAM statement which is used to specify
 any one of them may be the starting subroutine of the program.
 
 \textit{Fortran has a PROGRAM statement which is used to specify
@@ -1301,36 +1301,44 @@ which can be assumed to be the target subroutine. }
 \section{Lexical Block Entries}
 \label{chap:lexicalblockentries}
 
 \section{Lexical Block Entries}
 \label{chap:lexicalblockentries}
 
-\textit{A lexical \nolink{block} is a bracketed sequence of source statements
+\textit{A lexical \livetargi{chap:lexicalblock}{block}{lexical block} is a bracketed sequence of source statements
 that may contain any number of declarations. In some languages
 (including C and C++), \nolink{blocks} can be nested within other
 \nolink{blocks} to any depth.}
 
 that may contain any number of declarations. In some languages
 (including C and C++), \nolink{blocks} can be nested within other
 \nolink{blocks} to any depth.}
 
+% We do not need to link to the preceeding paragraph.
 A lexical \nolink{block} is represented by a debugging information
 entry with the 
 tag \livetarg{chap:DWTAGlexicalblock}{DW\-\_TAG\-\_lexical\-\_block}.
 
 A lexical \nolink{block} is represented by a debugging information
 entry with the 
 tag \livetarg{chap:DWTAGlexicalblock}{DW\-\_TAG\-\_lexical\-\_block}.
 
-The lexical \nolink{block} entry may have 
+The lexical \livetargi{chap:lexicalblockentry}{block}{lexical block entry} 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-contiguous address
 ranges, respectively, of the machine instructions generated
 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-contiguous address
 ranges, respectively, of the machine instructions generated
-for the lexical \nolink{block} 
+for the lexical \livelink(chap:lexicalblock}{block} 
 (see Section \refersec{chap:codeaddressesandranges}).
 
 (see Section \refersec{chap:codeaddressesandranges}).
 
-If a name has been given to the lexical \nolink{block} in the source
-program, then the corresponding lexical \nolink{block} entry has a
-\livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute whose value is a null-terminated string
-containing the name of the lexical \nolink{block} as it appears in
+If a name has been given to the lexical \livelink(chap:lexicalblock}{block} 
+in the source
+program, then the corresponding 
+lexical \livelink{chap:lexicalblockentry}{block} entry has a
+\livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute whose 
+value is a null\dash terminated string
+containing the name of the lexical \livelink(chap:lexicalblock}{block} 
+as it appears in
 the source program.
 
 \textit{This is not the same as a C or C++ label (see below).}
 
 the source program.
 
 \textit{This is not the same as a C or C++ label (see below).}
 
-The lexical \nolink{block} entry owns debugging information entries that
-describe the declarations within that lexical \nolink{block}. There is
+The lexical \livelink(chap:lexicalblockentry}{block} entry owns 
+debugging information entries that
+describe the declarations within that lexical \livelink(chap:lexicalblock}{block}. 
+There is
 one such debugging information entry for each local declaration
 one such debugging information entry for each local declaration
-of an identifier or inner lexical \nolink{block}.
+of an identifier or inner lexical \livelink(chap:lexicalblock}{block}.
 
 \section{Label Entries}
 \label{chap:labelentries}
 
 \section{Label Entries}
 \label{chap:labelentries}
@@ -1384,33 +1392,43 @@ the with statement.
 \section{Try and Catch Block Entries}
 \label{chap:tryandcatchblockentries}
 
 \section{Try and Catch Block Entries}
 \label{chap:tryandcatchblockentries}
 
-\textit{In C++ a lexical \nolink{block} may be designated as a ``catch
-\nolink{block}.'' A catch \nolink{block} is an exception handler that handles
-exceptions thrown by an immediately preceding ``try \nolink{block}.''
-A catch \nolink{block} designates the type of the exception that it
+\textit{In C++ a lexical \livelink(chap:lexicalblock}{block} may be 
+designated as a ``catch \nolink{block}.'' 
+A catch \livetargi{chap:catchblock}{block}{catch block} is an 
+exception handler that handles
+exceptions thrown by an immediately 
+preceding ``try \livelink{chap:tryblock}{block}.''
+A catch \livelink{chap:catchblock}{block} 
+designates the type of the exception that it
 can handle.}
 
 can handle.}
 
-A try \nolink{block} is represented by a debugging information entry
+A try \livetargi{chap:tryblock}{block}{try block} is represented 
+by a debugging information entry
 with the tag \livetarg{chap:DWTAGtryblock}{DW\-\_TAG\-\_try\-\_block}.  
 with the tag \livetarg{chap:DWTAGtryblock}{DW\-\_TAG\-\_try\-\_block}.  
-A catch \nolink{block} is represented by
+A catch \livelink{chap:catchblock}{block} is represented by
 a debugging information entry with 
 the tag \livetarg{chap:DWTAGcatchblock}{DW\-\_TAG\-\_catch\-\_block}.
 
 a debugging information entry with 
 the tag \livetarg{chap:DWTAGcatchblock}{DW\-\_TAG\-\_catch\-\_block}.
 
+% nolink as we have links just above and do not have a combo link for both
 Both try and catch \nolink{block} entries 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
 Both try and catch \nolink{block} entries 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- contiguous address ranges, respectively, of the
-machine instructions generated for the \nolink{block} (see Section
+or non\dash contiguous address ranges, respectively, of the
+machine instructions generated for the \livelink{chap:lexicalblock}{block}
+(see Section
 \refersec{chap:codeaddressesandranges}).
 
 \refersec{chap:codeaddressesandranges}).
 
-Catch \nolink{block} entries have at least one child entry, an
+Catch \livelink{chap:catchblock}{block} entries have at 
+least one child entry, an
 entry representing the type of exception accepted by
 entry representing the type of exception accepted by
-that catch \nolink{block}. This child entry has one of the tags
+that catch \livelink{chap:catchblock}{block}. 
+This child entry has one of the tags
 \livelink{chap:DWTAGformalparameter}{DW\-\_TAG\-\_formal\-\_parameter} or \livelink{chap:DWTAGunspecifiedparameters}{DW\-\_TAG\-\_unspecified\-\_parameters},
 and will have the same form as other parameter entries.
 
 \livelink{chap:DWTAGformalparameter}{DW\-\_TAG\-\_formal\-\_parameter} or \livelink{chap:DWTAGunspecifiedparameters}{DW\-\_TAG\-\_unspecified\-\_parameters},
 and will have the same form as other parameter entries.
 
-The siblings immediately following a try \nolink{block} entry are its
-corresponding catch \nolink{block} entries.
+The siblings immediately following 
+a try \livelink{chap:tryblock}{block} entry are its
+corresponding catch \livelink{chap:catchblock}{block} entries.