Indexing o p q(none present) and r.
authorDavid Anderson <davea42@earthlink.net>
Sat, 1 Dec 2012 17:06:24 +0000 (09:06 -0800)
committerDavid Anderson <davea42@earthlink.net>
Sat, 1 Dec 2012 17:06:24 +0000 (09:06 -0800)
dwarf5/latexdoc/dataobject.tex
dwarf5/latexdoc/datarepresentation.tex
dwarf5/latexdoc/examples.tex
dwarf5/latexdoc/generaldescription.tex
dwarf5/latexdoc/otherdebugginginformation.tex
dwarf5/latexdoc/programscope.tex
dwarf5/latexdoc/typeentries.tex

index 4b392c9..b065ee2 100644 (file)
@@ -113,7 +113,7 @@ value in the calling function cannot be modified by the callee.
 which 
 \addtoindexx{is optional attribute}
 is a \livelink{chap:flag}{flag}, if a
 which 
 \addtoindexx{is optional attribute}
 is a \livelink{chap:flag}{flag}, if a
-parameter entry represents an optional parameter.
+parameter entry represents an \addtoindex{optional parameter}.
 
 \item A \livelink{chap:DWATdefaultvalue}{DW\-\_AT\-\_default\-\_value} attribute 
 \addtoindexx{default value attribute}
 
 \item A \livelink{chap:DWATdefaultvalue}{DW\-\_AT\-\_default\-\_value} attribute 
 \addtoindexx{default value attribute}
@@ -170,12 +170,13 @@ is non-contiguous
 (see \refersec{chap:noncontiguousaddressranges})
 the value of this
 attribute is the offset in bytes of the beginning of the scope
 (see \refersec{chap:noncontiguousaddressranges})
 the value of this
 attribute is the offset in bytes of the beginning of the scope
-for the object from the beginning of the first range list entry
+for the object from the beginning of the first \addtoindex{range list} entry
 that is not a base selection entry or an end of list entry.
 
 \item Otherwise, the scope of the object is specified using
 that is not a base selection entry or an end of list entry.
 
 \item Otherwise, the scope of the object is specified using
-a value of class \livelink{chap:rangelistptr}{rangelistptr}. This value indicates the
-beginning of a range list
+a value of class \livelink{chap:rangelistptr}{rangelistptr}. 
+This value indicates the
+beginning of a \addtoindex{range list}
 (see \refersec{chap:noncontiguousaddressranges}).
 \end{enumerate}
 
 (see \refersec{chap:noncontiguousaddressranges}).
 \end{enumerate}
 
@@ -204,9 +205,9 @@ because the scope of the local variable x only starts after
 the full declarator for the local x.}
 
 \textit{Due to optimization, the scope of an object may be
 the full declarator for the local x.}
 
 \textit{Due to optimization, the scope of an object may be
-non-contiguous and require use of a range list even when
+non-contiguous and require use of a \addtoindex{range list} even when
 the containing scope is contiguous. Conversely, the scope of
 the containing scope is contiguous. Conversely, the scope of
-an object may not require its own range list even when the
+an object may not require its own \addtoindex{range list} even when the
 containing scope is non\dash contiguous.}
 
 \item A \livelink{chap:DWATendianity}{DW\-\_AT\-\_endianity} attribute, 
 containing scope is non\dash contiguous.}
 
 \item A \livelink{chap:DWATendianity}{DW\-\_AT\-\_endianity} attribute, 
@@ -218,7 +219,8 @@ that
 \addtoindexx{big-endian encoding|see{endianity attribute}}
 specifies 
 the endianity of the object. The value of
 \addtoindexx{big-endian encoding|see{endianity attribute}}
 specifies 
 the endianity of the object. The value of
-this attribute specifies an ABI\dash defined byte ordering for
+this attribute specifies an ABI\dash defined 
+byte ordering \addtoindexx{ordering attribute} for
 the value of the object. If omitted, the default endianity
 of data for the given type is assumed.  The set of values
 and their meaning for this attribute is given in 
 the value of the object. If omitted, the default endianity
 of data for the given type is assumed.  The set of values
 and their meaning for this attribute is given in 
index b68d410..7be53cd 100644 (file)
@@ -731,7 +731,9 @@ attribute to allow more than one of these classes}
 \item reference \\
 There are three types of reference.
 
 \item reference \\
 There are three types of reference.
 
-The first type of reference can identify any debugging
+The 
+\addtoindexx{reference class}
+first type of reference can identify any debugging
 information entry within the containing unit. This type of
 reference is an offset from the first byte of the compilation
 header for the compilation unit containing the reference. There
 information entry within the containing unit. This type of
 reference is an offset from the first byte of the compilation
 header for the compilation unit containing the reference. There
@@ -2173,14 +2175,16 @@ Table \refersec{tab:callframeinstructionencodings}.
 \section{Non-continguous Address Ranges}
 \label{datarep:noncontiguousaddressranges}
 
 \section{Non-continguous Address Ranges}
 \label{datarep:noncontiguousaddressranges}
 
-Each entry in a range list 
+Each entry in a \addtoindex{range list}
 (see Section \refersec{chap:noncontiguousaddressranges})
 is either a
 \addtoindexx{base address selection entry!in range list}
 (see Section \refersec{chap:noncontiguousaddressranges})
 is either a
 \addtoindexx{base address selection entry!in range list}
-range list entry, a base address selection entry, or an end
+range list entry, 
+\addtoindexx{range list}
+a base address selection entry, or an end
 of list entry.
 
 of list entry.
 
-A range list entry consists of two relative addresses. The
+A \addtoindex{range list} entry consists of two relative addresses. The
 addresses are the same size as addresses on the target machine.
 
 A base address selection entry and an 
 addresses are the same size as addresses on the target machine.
 
 A base address selection entry and an 
@@ -2190,7 +2194,7 @@ end of list entry each
 consist of two (constant or relocated) addresses. The two
 addresses are the same size as addresses on the target machine.
 
 consist of two (constant or relocated) addresses. The two
 addresses are the same size as addresses on the target machine.
 
-For a range list to be specified, the base address of the
+For a \addtoindex{range list} to be specified, the base address of the
 \addtoindexx{base address selection entry!in range list}
 corresponding compilation unit must be defined 
 (see Section \refersec{chap:normalandpartialcompilationunitentries}).
 \addtoindexx{base address selection entry!in range list}
 corresponding compilation unit must be defined 
 (see Section \refersec{chap:normalandpartialcompilationunitentries}).
index 0f184af..68f91b4 100644 (file)
@@ -626,7 +626,7 @@ of this example and therefore not shown.
 \subsection{Pascal Example}
 \label{app:pascalexample}
 
 \subsection{Pascal Example}
 \label{app:pascalexample}
 
-The Pascal source in 
+The Pascal \addtoindexx{Pascal example} source in 
 Figure \refersec{fig:packedrecordexamplesourcefragment}
 is used to illustrate the representation of packed unaligned
 \addtoindex{bit fields}.
 Figure \refersec{fig:packedrecordexamplesourcefragment}
 is used to illustrate the representation of packed unaligned
 \addtoindex{bit fields}.
@@ -895,7 +895,7 @@ is appropriate.
             \livelink{chap:DWATdeclaration}{DW\-\_AT\-\_declaration}
             \livelink{chap:DWATname}{DW\-\_AT\-\_name}("func1")
             \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to 1\$)
             \livelink{chap:DWATdeclaration}{DW\-\_AT\-\_declaration}
             \livelink{chap:DWATname}{DW\-\_AT\-\_name}("func1")
             \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to 1\$)
-            \livelink{chap:DWATobjectpointer}{DW\-\_AT\-\_object\-\_pointer}(reference to 8\$)
+            \livelink{chap:DWATobjectpointer}{DW\-\_AT\-\_object\-\_pointer}(reference to 8\$) \addtoindexx{object pointer attribute}
                 ! References a formal parameter in this 
                 ! member function
             ...
                 ! References a formal parameter in this 
                 ! member function
             ...
@@ -916,7 +916,7 @@ is appropriate.
              \livelink{chap:DWATdeclaration}{DW\-\_AT\-\_declaration}
              \livelink{chap:DWATname}{DW\-\_AT\-\_name}("func2")
              \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to 1\$)
              \livelink{chap:DWATdeclaration}{DW\-\_AT\-\_declaration}
              \livelink{chap:DWATname}{DW\-\_AT\-\_name}("func2")
              \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to 1\$)
-             \livelink{chap:DWATobjectpointer}{DW\-\_AT\-\_object\-\_pointer}(reference to 11\$)
+             \livelink{chap:DWATobjectpointer}{DW\-\_AT\-\_object\-\_pointer}(reference to 11\$) \addtoindexx{object pointer attribute}
              ! References a formal parameter in this 
              ! member function
              ...
              ! References a formal parameter in this 
              ! member function
              ...
index 8c057d1..3e77f8c 100644 (file)
@@ -1468,7 +1468,7 @@ entry includes a location description.
 \textit{A base address selection entry and an end of list
 entry for a location list are identical to a base address
 selection entry and end of list entry, respectively, for a
 \textit{A base address selection entry and an end of list
 entry for a location list are identical to a base address
 selection entry and end of list entry, respectively, for a
-range list 
+\addtoindex{range list}
 (see Section \refersec{chap:noncontiguousaddressranges}) 
 in interpretation
 and representation.}
 (see Section \refersec{chap:noncontiguousaddressranges}) 
 in interpretation
 and representation.}
@@ -1956,46 +1956,54 @@ cannot be described as a single contiguous range, the entry has
 a \livelink{chap:DWATranges}{DW\-\_AT\-\_ranges} attribute 
 \addtoindexx{ranges attribute}
 whose value is of class \livelink{chap:rangelistptr}{rangelistptr}
 a \livelink{chap:DWATranges}{DW\-\_AT\-\_ranges} attribute 
 \addtoindexx{ranges attribute}
 whose value is of class \livelink{chap:rangelistptr}{rangelistptr}
-and indicates the beginning of a range list. Similarly,
+and indicates the beginning of a \addtoindex{range list}.
+Similarly,
 a \livelink{chap:DWATstartscope}{DW\-\_AT\-\_start\-\_scope} attribute may have a value of class
 \livelink{chap:rangelistptr}{rangelistptr} for the same reason.  
 
 Range lists are contained
 in a separate object file section called 
 \addtoindex{.debug\_ranges}. A
 a \livelink{chap:DWATstartscope}{DW\-\_AT\-\_start\-\_scope} attribute may have a value of class
 \livelink{chap:rangelistptr}{rangelistptr} for the same reason.  
 
 Range lists are contained
 in a separate object file section called 
 \addtoindex{.debug\_ranges}. A
-range list is indicated by a 
+\addtoindex{range list} is indicated by a 
 \livelink{chap:DWATranges}{DW\-\_AT\-\_ranges} attribute whose
 \addtoindexx{ranges attribute}
 value is represented as an offset from the beginning of the
 \livelink{chap:DWATranges}{DW\-\_AT\-\_ranges} attribute whose
 \addtoindexx{ranges attribute}
 value is represented as an offset from the beginning of the
-\addtoindex{.debug\_ranges} section to the beginning of the range list.
+\addtoindex{.debug\_ranges} section to the beginning of the 
+\addtoindex{range list}.
 
 
-Each entry in a range list is either a range list entry,
+Each entry in a \addtoindex{range list} is either a 
+\addtoindex{range list} entry,
 \addtoindexx{base address selection entry!in range list}
 a base address selection entry, or an 
 \addtoindexx{end of list entry!in range list}
 end of list entry.
 
 \addtoindexx{base address selection entry!in range list}
 a base address selection entry, or an 
 \addtoindexx{end of list entry!in range list}
 end of list entry.
 
-A range list entry consists of:
+A \addtoindex{range list} entry consists of:
 
 \begin{enumerate}[1]
 \item A beginning address offset. This address offset has the size of an address and is relative to
 
 \begin{enumerate}[1]
 \item A beginning address offset. This address offset has the size of an address and is relative to
-the applicable base address of the compilation unit referencing this range list. It marks the
+the applicable base address of the compilation unit referencing this 
+\addtoindex{range list}. 
+It marks the
 beginning of an 
 \addtoindexi{address}{address range!in range list} 
 range.
 
 \item An ending address offset. This address offset again has the size of an address and is relative
 beginning of an 
 \addtoindexi{address}{address range!in range list} 
 range.
 
 \item An ending address offset. This address offset again has the size of an address and is relative
-to the applicable base address of the compilation unit referencing this range list. It marks the
+to the applicable base address of the compilation unit referencing 
+this \addtoindex{range list}.
+It marks the
 first address past the end of the address range.
 The ending address must be greater than or
 equal to the beginning address.
 
 first address past the end of the address range.
 The ending address must be greater than or
 equal to the beginning address.
 
-\textit{A range list entry (but not a base address selection or end of list entry) whose beginning and
+\textit{A \addtoindex{range list} entry (but not a base address selection or end of list entry) whose beginning and
 ending addresses are equal has no effect because the size of the range covered by such an
 entry is zero.}
 \end{enumerate}
 
 ending addresses are equal has no effect because the size of the range covered by such an
 entry is zero.}
 \end{enumerate}
 
-The applicable base address of a range list entry is determined
+The applicable base address of a \addtoindex{range list} entry
+is determined
 by the closest preceding base address selection entry (see
 below) in the same range list. If there is no such selection
 entry, then the applicable base address defaults to the base
 by the closest preceding base address selection entry (see
 below) in the same range list. If there is no such selection
 entry, then the applicable base address defaults to the base
@@ -2007,7 +2015,8 @@ code is contained in a single contiguous section, no base
 address selection entry is needed.}
 
 Address range entries in
 address selection entry is needed.}
 
 Address range entries in
-a range list may not overlap. There is no requirement that
+a \addtoindex{range list} may not overlap.
+There is no requirement that
 the entries be ordered in any particular way.
 
 A base address selection entry consists of:
 the entries be ordered in any particular way.
 
 A base address selection entry consists of:
@@ -2023,18 +2032,20 @@ and ending address offsets of subsequent entries of the location list.
 affects only the list in which it is contained.}
 
 
 affects only the list in which it is contained.}
 
 
-The end of any given range list is marked by an 
+The end of any given \addtoindex{range list} is marked by an 
 \addtoindexx{end of list entry!in range list}
 end of list entry, 
 which consists of a 0 for the beginning address
 \addtoindexx{end of list entry!in range list}
 end of list entry, 
 which consists of a 0 for the beginning address
-offset and a 0 for the ending address offset. A range list
+offset and a 0 for the ending address offset. 
+A \addtoindex{range list}
 containing only an end of list entry describes an empty scope
 (which contains no instructions).
 
 \textit{A base address selection entry and an 
 \addtoindexx{end of list entry!in range list}
 end of list entry for
 containing only an end of list entry describes an empty scope
 (which contains no instructions).
 
 \textit{A base address selection entry and an 
 \addtoindexx{end of list entry!in range list}
 end of list entry for
-a range list are identical to a base address selection entry
+a \addtoindex{range list} 
+are identical to a base address selection entry
 and end of list entry, respectively, for a location list
 (see Section \refersec{chap:locationlists}) 
 in interpretation and representation.}
 and end of list entry, respectively, for a location list
 (see Section \refersec{chap:locationlists}) 
 in interpretation and representation.}
index a8c22e3..9337eaa 100644 (file)
@@ -325,7 +325,8 @@ An unsigned integer representing the index of an operation within a VLIW
 instruction. The index of the first operation is 0. For non\dash VLIW
 architectures, this register will always be 0.
 
 instruction. The index of the first operation is 0. For non\dash VLIW
 architectures, this register will always be 0.
 
-The address and op\_index registers, taken together, form an operation
+The address and \addtoindex{op\_index} registers,
+taken together, form an operation
 pointer that can reference any individual operation with the instruction
 stream. \\
 
 pointer that can reference any individual operation with the instruction
 stream. \\
 
@@ -394,7 +395,7 @@ program, the state of the registers is:
 
 \begin{tabular}{lp{8cm}}
 address & 0 \\
 
 \begin{tabular}{lp{8cm}}
 address & 0 \\
-op\_index & 0 \\
+\addtoindex{op\_index} & 0 \\
 file & 1 \\
 line & 1 \\
 column & 0 \\
 file & 1 \\
 line & 1 \\
 column & 0 \\
@@ -478,7 +479,7 @@ length; in the 64\dash bit DWARF format, this field is an
 \addtoindexx{minimum\_instruction\_length}
 The size in bytes of the smallest target machine
 instruction. Line number program opcodes that alter
 \addtoindexx{minimum\_instruction\_length}
 The size in bytes of the smallest target machine
 instruction. Line number program opcodes that alter
-the address and op\_index registers use this and
+the address and \addtoindex{op\_index} registers use this and
 \addtoindexx{maximum\_operations\_per\_instruction}
 maximum\-\_operations\-\_per\-\_instruction in their calculations. 
 
 \addtoindexx{maximum\_operations\_per\_instruction}
 maximum\-\_operations\-\_per\-\_instruction in their calculations. 
 
@@ -492,7 +493,7 @@ that alter the address and
 \addtoindex{minimum\_instruction\_length}
 in their calculations.
 For non-VLIW
 \addtoindex{minimum\_instruction\_length}
 in their calculations.
 For non-VLIW
-architectures, this field is 1, the op\_index register is always
+architectures, this field is 1, the \addtoindex{op\_index register} is always
 0, and the operation pointer is simply the address register.
 
 \item default\_is\_stmt (ubyte) \\
 0, and the operation pointer is simply the address register.
 
 \item default\_is\_stmt (ubyte) \\
@@ -653,7 +654,9 @@ names field and define file names using the extended opcode
 As stated before, the goal of a line number program is to build
 a matrix representing one compilation unit, which may have
 produced multiple sequences of target machine instructions.
 As stated before, the goal of a line number program is to build
 a matrix representing one compilation unit, which may have
 produced multiple sequences of target machine instructions.
-Within a sequence, addresses (operation pointers) may only
+Within a sequence, addresses 
+\addtoindexx{operation pointer}
+(operation pointers) may only
 increase. (Line numbers may decrease in cases of pipeline
 scheduling or other optimization.)
 
 increase. (Line numbers may decrease in cases of pipeline
 scheduling or other optimization.)
 
@@ -665,7 +668,7 @@ Each ubyte special opcode has the following effect on the state machine:
 
 \item  Add a signed integer to the line register.
 
 
 \item  Add a signed integer to the line register.
 
-\item  Modify the operation pointer by incrementing the
+\item  Modify the \addtoindex{operation pointer} by incrementing the
 address and \addtoindex{op\_index} registers as described below.
 
 \item  Append a row to the matrix using the current values
 address and \addtoindex{op\_index} registers as described below.
 
 \item  Append a row to the matrix using the current values
@@ -680,7 +683,7 @@ of the state machine registers.
 
 All of the special opcodes do those same seven things; they
 differ from one another only in what values they add to the
 
 All of the special opcodes do those same seven things; they
 differ from one another only in what values they add to the
-line, address and op\_index registers.
+line, address and \addtoindex{op\_index} registers.
 
 
 \textit{Instead of assigning a fixed meaning to each special opcode,
 
 
 \textit{Instead of assigning a fixed meaning to each special opcode,
@@ -712,7 +715,8 @@ can add to the line register.}
 
 
 A special opcode value is chosen based on the amount that needs
 
 
 A special opcode value is chosen based on the amount that needs
-to be added to the line, address and op\_index registers. The
+to be added to the line, address and \addtoindex{op\_index} registers.
+The
 maximum line increment for a special opcode is the value
 of the 
 \addtoindexx{line\_base}
 maximum line increment for a special opcode is the value
 of the 
 \addtoindexx{line\_base}
@@ -721,8 +725,8 @@ the line\_range field, minus 1 (line base +
 line range - 1). 
 If the desired line increment is greater than the maximum
 line increment, a standard opcode must be used instead of a
 line range - 1). 
 If the desired line increment is greater than the maximum
 line increment, a standard opcode must be used instead of a
-special opcode. The operation advance represents the number
-of operations to skip when advancing the operation pointer.
+special opcode. The \addtoindex{operation advance} represents the number
+of operations to skip when advancing the \addtoindex{operation pointer}.
 
 The special opcode is then calculated using the following formula:
 
 
 The special opcode is then calculated using the following formula:
 
@@ -740,7 +744,8 @@ To decode a special opcode, subtract the opcode\_base from
 the opcode itself to give the \textit{adjusted opcode}. 
 The \textit{operation advance} 
 is the result of the adjusted opcode divided by the
 the opcode itself to give the \textit{adjusted opcode}. 
 The \textit{operation advance} 
 is the result of the adjusted opcode divided by the
-line\_range. The new address and op\_index values are given by
+line\_range. The new address and \addtoindex{op\_index} values
+are given by
 \begin{myindentpara}{1cm}
 
 \textit{adjusted opcode} = opcode – opcode\_base
 \begin{myindentpara}{1cm}
 
 \textit{adjusted opcode} = opcode – opcode\_base
@@ -753,13 +758,14 @@ new address =
 address +
 
 \addtoindex{minimum\_instruction\_length} *
 address +
 
 \addtoindex{minimum\_instruction\_length} *
-((\addtoindex{op\_index} + operation advance) / 
+((\addtoindex{op\_index} + \addtoindex{operation advance}) / 
 \addtoindex{maximum\_operations\_per\_instruction})
 \end{myindentpara}
 new op\_index =
 
 \begin{myindentpara}{1cm}
 \addtoindex{maximum\_operations\_per\_instruction})
 \end{myindentpara}
 new op\_index =
 
 \begin{myindentpara}{1cm}
-(op\_index + operation advance) \% \addtoindex{maximum\_operations\_per\_instruction}
+(\addtoindex{op\_index} + \addtoindex{operation advance}) \% 
+\addtoindex{maximum\_operations\_per\_instruction}
 \end{myindentpara}
 
 \end{myindentpara}
 \end{myindentpara}
 
 \end{myindentpara}
@@ -792,7 +798,7 @@ the matrix have source line numbers differing by any value
 within the range [-3, 8] and (because of the limited number
 of opcodes available) when the difference between addresses
 is within the range [0, 20], but not all line advances are
 within the range [-3, 8] and (because of the limited number
 of opcodes available) when the difference between addresses
 is within the range [0, 20], but not all line advances are
-available for the maximum operation advance (see below).}
+available for the maximum \addtoindex{operation advance} (see below).}
 
 \textit{The opcode mapping would be:}
 % FIXME: This should be a tabular or the like, not a verbatim
 
 \textit{The opcode mapping would be:}
 % FIXME: This should be a tabular or the like, not a verbatim
@@ -849,7 +855,7 @@ registers to ``false.''
 
 \item \textbf{DW\-\_LNS\-\_advance\-\_pc} \\
 The \livetarg{chap:DWLNSadvancepc}{DW\-\_LNS\-\_advance\-\_pc} opcode takes a single unsigned LEB128
 
 \item \textbf{DW\-\_LNS\-\_advance\-\_pc} \\
 The \livetarg{chap:DWLNSadvancepc}{DW\-\_LNS\-\_advance\-\_pc} opcode takes a single unsigned LEB128
-operand as the operation advance and modifies the address
+operand as the \addtoindex{operation advance} and modifies the address
 and \addtoindex{op\_index} registers as specified in 
 Section \refersec{chap:specialopcodes}.
 
 and \addtoindex{op\_index} registers as specified in 
 Section \refersec{chap:specialopcodes}.
 
index 37d24db..5407d19 100644 (file)
@@ -9,22 +9,30 @@ as bounded by ranges of text addresses within the program.
 
 \section{Unit Entries}
 An object file may contain one or more compilation units,
 
 \section{Unit Entries}
 An object file may contain one or more compilation units,
-of which there are three kinds: normal compilation units,
-partial compilation units and type units. A partial compilation
-unit is related to one or more other compilation units that
-import it. A type unit represents a single complete type in a
-separate unit. Either a normal compilation unit or a partial
-compilation unit may be logically incorporated into another
+of which there are 
+\addtoindexx{compilation unit}
+three kinds: 
+\addtoindexx{normal compilation unit}
+normal compilation units,
+partial compilation units and type units. A 
+\addtoindex{partial compilation unit}
+is related to one or more other compilation units that
+import it. A 
+\addtoindex{type unit} represents 
+a single complete type in a
+separate unit. Either a normal compilation unit or a 
+\addtoindex{partial compilation unit}
+may be logically incorporated into another
 compilation unit using an 
 \addtoindex{imported unit entry}.
 
 \subsection[Normal and Partial CU Entries]{Normal and Partial Compilation Unit Entries}
 \label{chap:normalandpartialcompilationunitentries}
 
 compilation unit using an 
 \addtoindex{imported unit entry}.
 
 \subsection[Normal and Partial CU Entries]{Normal and Partial Compilation Unit Entries}
 \label{chap:normalandpartialcompilationunitentries}
 
-A \addtoindex{normal compilation unit} is represented by a 
-debugging information entry with the 
-tag \livetarg{chap:DWTAGcompileunit}{DW\-\_TAG\-\_compile\-\_unit}. A partial
-compilation unit is represented by a debugging information
+A \addtoindex{normal compilation unit} is represented by a debugging
+information entry with the 
+tag \livetarg{chap:DWTAGcompileunit}{DW\-\_TAG\-\_compile\-\_unit}. 
+A \addtoindex{partial compilation unit} is represented by a debugging information
 entry with the 
 tag \livetarg{chap:DWTAGpartialunit}{DW\-\_TAG\-\_partial\-\_unit}.
 
 entry with the 
 tag \livetarg{chap:DWTAGpartialunit}{DW\-\_TAG\-\_partial\-\_unit}.
 
@@ -46,8 +54,8 @@ used to represent portions of an object file.
 \textit{A normal compilation unit typically represents the text and
 data contributed to an executable by a single relocatable
 object file. It may be derived from several source files,
 \textit{A normal compilation unit typically represents the text and
 data contributed to an executable by a single relocatable
 object file. It may be derived from several source files,
-including pre\dash processed ``include files.'' A partial
-compilation unit typically represents a part of the text
+including pre\dash processed ``include files.'' 
+A \addtoindex{partial compilation unit} typically represents a part of the text
 and data of a relocatable object file, in a manner that can
 potentially be shared with the results of other compilations
 to save space. It may be derived from an ``include file'',
 and data of a relocatable object file, in a manner that can
 potentially be shared with the results of other compilations
 to save space. It may be derived from an ``include file'',
@@ -99,6 +107,7 @@ default base address for use in
 \addtoindexx{location list}
 location lists (see Section
 \refersec{chap:locationlists}) and range lists 
 \addtoindexx{location list}
 location lists (see Section
 \refersec{chap:locationlists}) and range lists 
+\addtoindexx{range list}
 (see Section \refersec{chap:noncontiguousaddressranges}).
 
 \item A \livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute 
 (see Section \refersec{chap:noncontiguousaddressranges}).
 
 \item A \livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute 
@@ -181,7 +190,9 @@ null\dash terminated string containing the current working directory
 of the compilation command that produced this compilation
 unit in whatever form makes sense for the host system.
 
 of the compilation command that produced this compilation
 unit in whatever form makes sense for the host system.
 
-\item  A \livelink{chap:DWATproducer}{DW\-\_AT\-\_producer} attribute whose value is a null\dash
+\item  A \livelink{chap:DWATproducer}{DW\-\_AT\-\_producer} attribute 
+\addtoindexx{producer attribute}
+whose value is a null\dash
 terminated string containing information about the compiler
 \hypertarget{chap:DWATproducercompileridentification}
 that produced the compilation unit. The actual contents of
 terminated string containing information about the compiler
 \hypertarget{chap:DWATproducercompileridentification}
 that produced the compilation unit. The actual contents of
@@ -221,14 +232,16 @@ entries for the compilation unit reflect the names as they
 appear in the source program. The debugger should be sensitive
 to the case of identifier names when doing identifier lookups.
 
 appear in the source program. The debugger should be sensitive
 to the case of identifier names when doing identifier lookups.
 
-\livetarg{chap:DWIDupcase}{DW\-\_ID\-\_up\-\_case} means that the producer of the debugging
+\livetarg{chap:DWIDupcase}{DW\-\_ID\-\_up\-\_case} means that the 
+producer of the debugging
 information for this compilation unit converted all source
 names to upper case. The values of the name attributes may not
 reflect the names as they appear in the source program. The
 debugger should convert all names to upper case when doing
 lookups.
 
 information for this compilation unit converted all source
 names to upper case. The values of the name attributes may not
 reflect the names as they appear in the source program. The
 debugger should convert all names to upper case when doing
 lookups.
 
-\livetarg{chap:DWIDdowncase}{DW\-\_ID\-\_down\-\_case} means that the producer of the debugging
+\livetarg{chap:DWIDdowncase}{DW\-\_ID\-\_down\-\_case} means that 
+the producer of the debugging
 information for this compilation unit converted all source
 names to lower case. The values of the name attributes may not
 reflect the names as they appear in the source program. The
 information for this compilation unit converted all source
 names to lower case. The values of the name attributes may not
 reflect the names as they appear in the source program. The
@@ -278,7 +291,8 @@ subprogram that has been identified as the starting function
 of the program. If more than one compilation unit contains
 this \nolink{flag}, any one of them may contain the starting function.
 
 of the program. If more than one compilation unit contains
 this \nolink{flag}, any one of them may contain the starting function.
 
-\textit{\addtoindex{Fortran} has a PROGRAM statement which is used
+\textit{\addtoindex{Fortran} has a \addtoindex{PROGRAM statement}
+which is used
 to specify and provide a user\dash specified name for the main
 subroutine of a program. 
 \addtoindex{C} uses the name “main” to identify
 to specify and provide a user\dash specified name for the main
 subroutine of a program. 
 \addtoindex{C} uses the name “main” to identify
@@ -429,8 +443,11 @@ the first executable instruction of that initialization code
 
 If 
 \hypertarget{chap:DWATprioritymodulepriority}
 
 If 
 \hypertarget{chap:DWATprioritymodulepriority}
-the module has been assigned a priority, it may have a
-\livelink{chap:DWATpriority}{DW\-\_AT\-\_priority} attribute. The value of this attribute is a
+the module has been assigned a priority, it may have 
+\addtoindexx{priority attribute}
+a
+\livelink{chap:DWATpriority}{DW\-\_AT\-\_priority} attribute. 
+The value of this attribute is a
 reference to another debugging information entry describing
 a variable with a constant value. The value of this variable
 is the actual constant value of the module’s priority,
 reference to another debugging information entry describing
 a variable with a constant value. The value of this variable
 is the actual constant value of the module’s priority,
@@ -612,6 +629,7 @@ an imported entity, other than a namespace).
 with an ``only list'' may be
 represented by a series of imported declaration entries,
 one (or more) for each entity that is imported. An entity
 with an ``only list'' may be
 represented by a series of imported declaration entries,
 one (or more) for each entity that is imported. An entity
+\addtoindexx{renamed declaration|see{imported declaration entry}}
 that is renamed in the importing context may be represented
 by an imported declaration entry with a name attribute that
 specifies the new local name.
 that is renamed in the importing context may be represented
 by an imported declaration entry with a name attribute that
 specifies the new local name.
@@ -764,7 +782,8 @@ the program.  If more than one subprogram contains this
 \nolink{flag},
 any one of them may be the starting subroutine of the program.
 
 \nolink{flag},
 any one of them may be the starting subroutine of the program.
 
-\textit{\addtoindex{Fortran} has a PROGRAM statement which is used to specify
+\textit{\addtoindex{Fortran} has a \addtoindex{PROGRAM statement} 
+which is used to specify
 and provide a user\dash supplied name for the main subroutine of
 a program.
 }
 and provide a user\dash supplied name for the main subroutine of
 a program.
 }
@@ -825,7 +844,9 @@ those declared using non\dash prototype declarations.
 }
 
 A subroutine entry declared with a function prototype style
 }
 
 A subroutine entry declared with a function prototype style
-declaration may have a 
+declaration may have 
+\addtoindexx{prototyped attribute}
+a 
 \livelink{chap:DWATprototyped}{DW\-\_AT\-\_prototyped} attribute, which is
 a \livelink{chap:flag}{flag}.
 
 \livelink{chap:DWATprototyped}{DW\-\_AT\-\_prototyped} attribute, which is
 a \livelink{chap:flag}{flag}.
 
@@ -853,7 +874,9 @@ or property.
 
 A 
 \hypertarget{chap:DWATpurepurepropertyofasubroutine}
 
 A 
 \hypertarget{chap:DWATpurepurepropertyofasubroutine}
-subprogram entry may have a 
+subprogram entry may have 
+\addtoindexx{pure attrubyte}
+a 
 \livelink{chap:DWATpure}{DW\-\_AT\-\_pure} attribute, which is
 a \livelink{chap:flag}{flag}. 
 The attribute indicates whether the subroutine was
 \livelink{chap:DWATpure}{DW\-\_AT\-\_pure} attribute, which is
 a \livelink{chap:flag}{flag}. 
 The attribute indicates whether the subroutine was
@@ -875,7 +898,9 @@ or property.
 
 If 
 \hypertarget{chap:DWATtypetypeofsubroutinereturn}
 
 If 
 \hypertarget{chap:DWATtypetypeofsubroutinereturn}
-the subroutine or entry point is a function that returns a
+the subroutine or entry point 
+\addtoindexx{return type of subroutine}
+is a function that returns a
 value, then its debugging information entry has a \livelink{chap:DWATtype}{DW\-\_AT\-\_type}
 attribute to denote the type returned by that function.
 
 value, then its debugging information entry has a \livelink{chap:DWATtype}{DW\-\_AT\-\_type}
 attribute to denote the type returned by that function.
 
@@ -989,7 +1014,9 @@ for the common \nolink{block} being included
 
 A 
 \hypertarget{chap:DWATreturnaddrsubroutinereturnaddresssavelocation}
 
 A 
 \hypertarget{chap:DWATreturnaddrsubroutinereturnaddresssavelocation}
-subroutine or entry point entry may have a 
+subroutine or entry point entry may have 
+\addtoindexx{return address attribute}
+a 
 \livelink{chap:DWATreturnaddr}{DW\-\_AT\-\_return\-\_addr}
 attribute, whose value is a location description. The location
 calculated is the place where the return address for the
 \livelink{chap:DWATreturnaddr}{DW\-\_AT\-\_return\-\_addr}
 attribute, whose value is a location description. The location
 calculated is the place where the return address for the
@@ -1236,7 +1263,8 @@ the \livelink{chap:DWATlowpc}{DW\-\_AT\-\_low\-\_pc},
 \livelink{chap:DWATranges}{DW\-\_AT\-\_ranges}, 
 \livelink{chap:DWATentrypc}{DW\-\_AT\-\_entry\-\_pc}, 
 \livelink{chap:DWATlocation}{DW\-\_AT\-\_location},
 \livelink{chap:DWATranges}{DW\-\_AT\-\_ranges}, 
 \livelink{chap:DWATentrypc}{DW\-\_AT\-\_entry\-\_pc}, 
 \livelink{chap:DWATlocation}{DW\-\_AT\-\_location},
-\livelink{chap:DWATreturnaddr}{DW\-\_AT\-\_return\-\_addr}, \livelink{chap:DWATstartscope}{DW\-\_AT\-\_start\-\_scope}, and 
+\livelink{chap:DWATreturnaddr}{DW\-\_AT\-\_return\-\_addr}, \livelink{chap:DWATstartscope}{DW\-\_AT\-\_start\-\_scope}, 
+and 
 \livelink{chap:DWATsegment}{DW\-\_AT\-\_segment!and abstract instance}
 attributes 
 \addtoindexx{location attribute!and abstract instance}
 \livelink{chap:DWATsegment}{DW\-\_AT\-\_segment!and abstract instance}
 attributes 
 \addtoindexx{location attribute!and abstract instance}
@@ -1554,7 +1582,10 @@ outer subroutine.
 always omitted within the abstract instance tree for an
 outer subroutine.
 
 always omitted within the abstract instance tree for an
 outer subroutine.
 
-\item The concrete instance tree for any inlined or out-of-line
+\item The concrete instance tree for any inlined or 
+\addtoindexx{out-of-line instance}
+out-of-line
+\addtoindexx{out-of-line-instance|see{concrete out-of-line-instance}}
 expansion of the nested subroutine is described within a
 concrete instance tree for the outer subroutine according
 to the rules in 
 expansion of the nested subroutine is described within a
 concrete instance tree for the outer subroutine according
 to the rules in 
index 605caf0..65df537 100644 (file)
@@ -443,8 +443,10 @@ whose value is a reference to a debugging information entry
 describing a base type, a user-defined type or another type
 modifier.
 
 describing a base type, a user-defined type or another type
 modifier.
 
-A modified type entry describing a pointer or reference
-type (using \livelink{chap:DWTAGpointertype}{DW\-\_TAG\-\_pointer\-\_type},
+A modified type entry describing a 
+\addtoindexx{pointer type entry}
+pointer or \addtoindex{reference type}
+(using \livelink{chap:DWTAGpointertype}{DW\-\_TAG\-\_pointer\-\_type},
 \livelink{chap:DWTAGreferencetype}{DW\-\_TAG\-\_reference\-\_type} or
 \livelink{chap:DWTAGrvaluereferencetype}{DW\-\_TAG\-\_rvalue\-\_reference\-\_type}) 
 % Another instance of no-good-place-to-put-index entry.
 \livelink{chap:DWTAGreferencetype}{DW\-\_TAG\-\_reference\-\_type} or
 \livelink{chap:DWTAGrvaluereferencetype}{DW\-\_TAG\-\_rvalue\-\_reference\-\_type}) 
 % Another instance of no-good-place-to-put-index entry.
@@ -467,8 +469,27 @@ blocksize is assumed.
 
 When multiple type modifiers are chained together to modify
 a base or user-defined type, the tree ordering reflects the
 
 When multiple type modifiers are chained together to modify
 a base or user-defined type, the tree ordering reflects the
-semantics of the applicable lanuage rather than the textual
-order in the source presentation.
+semantics of the 
+\addtoindexx{reference type entry, lvalue|see{reference type entry}}
+applicable lanuage 
+\addtoindexx{reference type entry, rvalue|see{rvalue reference type entry}}
+rather 
+\addtoindexx{parameter|see{macro formal parameter list}}
+than 
+\addtoindexx{parameter|see{\textit{this} parameter}}
+the 
+\addtoindexx{parameter|see{variable parameter attribute}}
+textual
+\addtoindexx{parameter|see{optional parameter attribute}}
+order 
+\addtoindexx{parameter|see{unspecified parameters entry}}
+in 
+\addtoindexx{parameter|see{template value parameter entry}}
+the 
+\addtoindexx{parameter|see{template type parameter entry}}
+source 
+\addtoindexx{parameter|see{formal parameter entry}}
+presentation.
 
 \begin{figure}[here]
 \centering
 
 \begin{figure}[here]
 \centering
@@ -476,17 +497,25 @@ order in the source presentation.
 Name&Meaning\\ \hline
 \livetarg{chap:DWTAGconsttype}{DW\-\_TAG\-\_const\-\_type} &  C or C++ const qualified type
 \addtoindexx{const qualified type entry} \addtoindexx{C} \addtoindexx{C++} \\
 Name&Meaning\\ \hline
 \livetarg{chap:DWTAGconsttype}{DW\-\_TAG\-\_const\-\_type} &  C or C++ const qualified type
 \addtoindexx{const qualified type entry} \addtoindexx{C} \addtoindexx{C++} \\
-\livetarg{chap:DWTAGpackedtype}{DW\-\_TAG\-\_packed\-\_type}& Pascal or Ada packed type
+\livetarg{chap:DWTAGpackedtype}{DW\-\_TAG\-\_packed\-\_type}& \addtoindex{Pascal} or Ada packed type\addtoindexx{packed type entry}
 \addtoindexx{packed qualified type entry} \addtoindexx{Ada} \addtoindexx{Pascal} \\
 \livetarg{chap:DWTAGpointertype}{DW\-\_TAG\-\_pointer\-\_type} & Pointer to an object of
 the type being modified \addtoindexx{pointer qualified type entry} \\
 \addtoindexx{packed qualified type entry} \addtoindexx{Ada} \addtoindexx{Pascal} \\
 \livetarg{chap:DWTAGpointertype}{DW\-\_TAG\-\_pointer\-\_type} & Pointer to an object of
 the type being modified \addtoindexx{pointer qualified type entry} \\
-\livetarg{chap:DWTAGreferencetype}{DW\-\_TAG\-\_reference\-\_type}& C++ (lvalue) reference
+\livetarg{chap:DWTAGreferencetype}{DW\-\_TAG\-\_reference\-\_type}& C++ (lvalue) reference 
 to an object of the type 
 to an object of the type 
-being modified \addtoindexx{reference qualified type entry} \\
-\livetarg{chap:DWTAGrestricttype}{DW\-\_TAG\-\_restrict\-\_type}&C restrict qualified type
-\addtoindexx{restricted qualified type entry} \\
+\addtoindexx{reference type entry} \\
+being modified 
+\addtoindexx{reference qualified type entry} \\
+\livetarg{chap:DWTAGrestricttype}{DW\-\_TAG\-\_restrict\-\_type}& \addtoindex{C} 
+restrict 
+\addtoindexx{restricted type entry} \\
+qualified type
+\addtoindexx{restrict qualified type} \\
 \livetarg{chap:DWTAGrvaluereferencetype}{DW\-\_TAG\-\_rvalue\-\_reference\-\_type} & C++
 \livetarg{chap:DWTAGrvaluereferencetype}{DW\-\_TAG\-\_rvalue\-\_reference\-\_type} & C++
-rvalue reference to an object of the type being modified 
+\addtoindexx{rvalue reference type entry}
+rvalue 
+\addtoindexx{restricted type entry}
+reference to an object of the type being modified 
 \addtoindexx{rvalue reference qualified type entry} \\
 \livetarg{chap:DWTAGsharedtype}{DW\-\_TAG\-\_shared\-\_type}&UPC shared qualified type 
 \addtoindexx{shared qualified type entry} \\
 \addtoindexx{rvalue reference qualified type entry} \\
 \livetarg{chap:DWTAGsharedtype}{DW\-\_TAG\-\_shared\-\_type}&UPC shared qualified type 
 \addtoindexx{shared qualified type entry} \\
@@ -1378,7 +1407,9 @@ description is evaluated.
 If 
 \hypertarget{chap:DWATobjectpointerobjectthisselfpointerofmemberfunction}
 the member function entry describes a non\dash static member
 If 
 \hypertarget{chap:DWATobjectpointerobjectthisselfpointerofmemberfunction}
 the member function entry describes a non\dash static member
-function, then that entry has a \livelink{chap:DWATobjectpointer}{DW\-\_AT\-\_object\-\_pointer} 
+function, then that entry has 
+\addtoindexx{object pointer attribute}
+a \livelink{chap:DWATobjectpointer}{DW\-\_AT\-\_object\-\_pointer} 
 attribute
 whose value is a reference to the formal parameter entry
 that corresponds to the object for which the function is
 attribute
 whose value is a reference to the formal parameter entry
 that corresponds to the object for which the function is
@@ -1390,7 +1421,9 @@ and some other languages). That parameter
 also has a \livelink{chap:DWATartificial}{DW\-\_AT\-\_artificial} attribute whose value is true.
 
 Conversely, if the member function entry describes a static
 also has a \livelink{chap:DWATartificial}{DW\-\_AT\-\_artificial} attribute whose value is true.
 
 Conversely, if the member function entry describes a static
-member function, the entry does not have a 
+member function, the entry does not have 
+\addtoindexx{object pointer attribute}
+a 
 \livelink{chap:DWATobjectpointer}{DW\-\_AT\-\_object\-\_pointer}
 attribute.
 
 \livelink{chap:DWATobjectpointer}{DW\-\_AT\-\_object\-\_pointer}
 attribute.
 
@@ -1769,7 +1802,9 @@ those declared using non\dash prototype declarations.
 A 
 \hypertarget{chap:DWATprototypedsubroutineprototype}
 subroutine entry declared with a function prototype style
 A 
 \hypertarget{chap:DWATprototypedsubroutineprototype}
 subroutine entry declared with a function prototype style
-declaration may have a 
+declaration may have 
+\addtoindexx{prototyped attribute}
+a 
 \livelink{chap:DWATprototyped}{DW\-\_AT\-\_prototyped} attribute, which is
 a \livelink{chap:flag}{flag}.
 
 \livelink{chap:DWATprototyped}{DW\-\_AT\-\_prototyped} attribute, which is
 a \livelink{chap:flag}{flag}.
 
@@ -1844,7 +1879,7 @@ storage needed to hold a value of the string type.
 \section{Set Type Entries}
 \label{chap:settypeentries}
 
 \section{Set Type Entries}
 \label{chap:settypeentries}
 
-\textit{Pascal provides the concept of a “set,” which represents
+\textit{\addtoindex{Pascal} provides the concept of a “set,” which represents
 a group of values of ordinal type.}
 
 A set is represented by a debugging information entry with
 a group of values of ordinal type.}
 
 A set is represented by a debugging information entry with
@@ -2001,25 +2036,29 @@ Section \refersec{chap:byteandbitsizes}.
 \section{Pointer to Member Type Entries}
 \label{chap:pointertomembertypeentries}
 
 \section{Pointer to Member Type Entries}
 \label{chap:pointertomembertypeentries}
 
-\textit{In \addtoindex{C++}, a pointer to a data or function member of a class or
+\textit{In \addtoindex{C++}, a 
+pointer to a data or function member of a class or
 structure is a unique type.}
 
 A debugging information entry representing the type of an
 object that is a pointer to a structure or class member has
 the tag \livetarg{chap:DWTAGptrtomembertype}{DW\-\_TAG\-\_ptr\-\_to\-\_member\-\_type}.
 
 structure is a unique type.}
 
 A debugging information entry representing the type of an
 object that is a pointer to a structure or class member has
 the tag \livetarg{chap:DWTAGptrtomembertype}{DW\-\_TAG\-\_ptr\-\_to\-\_member\-\_type}.
 
-If the pointer to member type has a name, the pointer to
-member entry has a \livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute,
+If the \addtoindex{pointer to member type} has a name, the 
+\addtoindexx{pointer to member type entry}
+pointer to member entry has a
+\livelink{chap:DWATname}{DW\-\_AT\-\_name} attribute, 
 \addtoindexx{name attribute}
 whose value is a
 null\dash terminated string containing the type name as it appears
 in the source program.
 
 \addtoindexx{name attribute}
 whose value is a
 null\dash terminated string containing the type name as it appears
 in the source program.
 
-The pointer to member entry has a \livelink{chap:DWATtype}{DW\-\_AT\-\_type} attribute to
+The \addtoindex{pointer to member} entry 
+has a \livelink{chap:DWATtype}{DW\-\_AT\-\_type} attribute to
 describe the type of the class or structure member to which
 objects of this type may point.
 
 describe the type of the class or structure member to which
 objects of this type may point.
 
-The pointer to member entry also 
+The \addtoindex{pointer to member} entry also 
 \hypertarget{chap:DWATcontainingtypecontainingtypeofpointertomembertype}
 has a 
 \livelink{chap:DWATcontainingtype}{DW\-\_AT\-\_containing\-\_type}
 \hypertarget{chap:DWATcontainingtypecontainingtypeofpointertomembertype}
 has a 
 \livelink{chap:DWATcontainingtype}{DW\-\_AT\-\_containing\-\_type}
@@ -2029,7 +2068,9 @@ objects of this type may point.
 
 The 
 \hypertarget{chap:DWATuselocationmemberlocationforpointertomembertype}
 
 The 
 \hypertarget{chap:DWATuselocationmemberlocationforpointertomembertype}
-pointer to member entry has a 
+has 
+\addtoindex{pointer to member entry} 
+a 
 \livelink{chap:DWATuselocation}{DW\-\_AT\-\_use\-\_location} attribute
 whose value is a 
 \addtoindex{location description} that computes the
 \livelink{chap:DWATuselocation}{DW\-\_AT\-\_use\-\_location} attribute
 whose value is a 
 \addtoindex{location description} that computes the
@@ -2044,7 +2085,7 @@ rather than with each instance of the type.}
 
 The \livelink{chap:DWATuselocation}{DW\-\_AT\-\_use\-\_location} description is used in conjunction
 with the location descriptions for a particular object of the
 
 The \livelink{chap:DWATuselocation}{DW\-\_AT\-\_use\-\_location} description is used in conjunction
 with the location descriptions for a particular object of the
-given pointer to member type and for a particular structure or
+given \addtoindex{pointer to member type} and for a particular structure or
 class instance. The \livelink{chap:DWATuselocation}{DW\-\_AT\-\_use\-\_location} 
 attribute expects two values to be 
 \addtoindexi{pushed}{address!implicit push for member operator}
 class instance. The \livelink{chap:DWATuselocation}{DW\-\_AT\-\_use\-\_location} 
 attribute expects two values to be 
 \addtoindexi{pushed}{address!implicit push for member operator}
@@ -2052,7 +2093,7 @@ onto the DWARF expression stack before
 the \livelink{chap:DWATuselocation}{DW\-\_AT\-\_use\-\_location} description is evaluated.
 The first value 
 \addtoindexi{pushed}{address!implicit push for member operator}
 the \livelink{chap:DWATuselocation}{DW\-\_AT\-\_use\-\_location} description is evaluated.
 The first value 
 \addtoindexi{pushed}{address!implicit push for member operator}
-is the value of the pointer to member object
+is the value of the \addtoindex{pointer to member} object
 itself. The second value 
 \addtoindexi{pushed}{address!implicit push for member operator} 
 is the base address of the
 itself. The second value 
 \addtoindexi{pushed}{address!implicit push for member operator} 
 is the base address of the
@@ -2065,7 +2106,7 @@ whose address is being calculated.
     object.*mbr_ptr
 \end{lstlisting}
 % FIXME: object and mbr\_ptr should be distinguished from italic. See DW4.
     object.*mbr_ptr
 \end{lstlisting}
 % FIXME: object and mbr\_ptr should be distinguished from italic. See DW4.
-\textit{where mbr\_ptr has some pointer to member type, a debugger should:}
+\textit{where mbr\_ptr has some \addtoindex{pointer to member type}, a debugger should:}
 
 \textit{1. Push the value of mbr\_ptr onto the DWARF expression stack.}
 
 
 \textit{1. Push the value of mbr\_ptr onto the DWARF expression stack.}
 
@@ -2077,7 +2118,8 @@ given in the type of mbr\_ptr.}
 \section{File Type Entries}
 \label{chap:filetypeentries}
 
 \section{File Type Entries}
 \label{chap:filetypeentries}
 
-\textit{Some languages, such as Pascal, provide a data type to represent 
+\textit{Some languages, such as \addtoindex{Pascal}, 
+provide a data type to represent 
 files.}
 
 A file type is represented by a debugging information entry
 files.}
 
 A file type is represented by a debugging information entry