Filled out dwarfnamecmds.tex with the full set of Dwarf name symbols.
authorRon Brender <ron.brender@gmail.com>
Fri, 4 Oct 2013 14:52:21 +0000 (10:52 -0400)
committerRon Brender <ron.brender@gmail.com>
Fri, 4 Oct 2013 14:52:21 +0000 (10:52 -0400)
Made changes in other files to match a few special cases (eg, for
DW_OP_lit2, _lit11, and the like that do not deserve "full treatment".

Signed-off-by: Ron Brender <ron.brender@gmail.com>
dwarf5/latexdoc/changesummary.tex
dwarf5/latexdoc/compression.tex
dwarf5/latexdoc/dwarf5.tex
dwarf5/latexdoc/dwarfnamecmds.tex
dwarf5/latexdoc/examples.tex
dwarf5/latexdoc/generaldescription.tex

index 29b62c7..2a042fa 100644 (file)
@@ -14,7 +14,8 @@ This change summary is included only in draft versions of this document.
 \vspace{1cm}
 \begin{tabular}{ll}
 \textbf{Date}  & \textbf{Issue Incorported or Other Change}    \\ \hline       \\
-9/28/2013              & Introduce \newdwfnamecommands and related conventions         \\
+10/2/2013              & Fill out the rest of dwarfnamecmds.tex                                        \\
+9/28/2013              & Introduce newdwfnamecommands and related conventions          \\
 9/27/2013              & Editorial work re assumed-rank arrays, other minor cleanups \\
 9/23/2013       & 130313.5 (Fortran assumed-rank arrays)\\
 6/22/2013      & 100805.1 (value of reference), 100816.1 (remove .debug\_types), \\ 
index dd81740..4f152c7 100644 (file)
@@ -500,10 +500,10 @@ DW.cpp.wa.h.123456.3:     ! linker global symbol
 DW.cpp.wa.h.123456.4:     ! linker global symbol
         \livelink{chap:DWTAGmember}{DW\_TAG\_member}
         \livelink{chap:DWATname}{DW\_AT\_name}("i")
-        \livelink{chap:DWATtype}{DW\_AT\_type}(\livelink{chap:DWFORMrefn}{DW\_FORM\_refn} to DW.cpp.wa.h.123456.2)
+        \livelink{chap:DWATtype}{DW\_AT\_type}(\livelink{chap:DWFORMrefone}{DW\_FORM\_ref}\textit{<n>} to DW.cpp.wa.h.123456.2)
             ! (This is a local reference, so the more
-            ! compact form \livetarg{chap:DWFORMrefn}{DW\_FORM\_refn
-            ! for n 1,2,4, or 8 can be used)
+            ! compact form \livelink{chap:DWFORMrefone}{DW\_FORM\_ref}\textit{<n>
+            ! for n 1,2,4, or 8 can be used)
 \end{alltt}
 \end{dwflisting}
 \vspace{2mm}
index 99a76f4..2d960f0 100644 (file)
@@ -3,7 +3,7 @@
 % If draft is in the document class list, pix are just suggested
 % by an outline, the pic does not appear as a picture.
 %
-\newcommand{\docdate}{September 27, 2013}
+\newcommand{\docdate}{October 2, 2013}
 %
 \usepackage{ifthen}
 \newboolean{isdraft}
index 1105dab..42f491b 100644 (file)
        \expandafter\def\csname #1LINK\endcsname{\index{#2}\hyperlink{chap:#1}{#2}}
        \expandafter\def\csname #1TARG\endcsname{\index{#2}\hypertarget{chap:#1}{#2}}
        \expandafter\def\csname #1INDX\endcsname{\index{#2}#2}
+       \expandafter\def\csname #1MARK\endcsname{\hypertarget{chap:#1}{}}       
        \expandafter\def\csname #1NAME\endcsname{#2}
        % The normal, most common use in running text...
        \expandafter\def\csname #1\endcsname{\csname #1LINK\endcsname}
        }
 
+
+% DW_ACCESS
+%
+\newdwfnamecommands{DWACCESSprivate}{DW\_ACCESS\_private}
+\newdwfnamecommands{DWACCESSprotected}{DW\_ACCESS\_protected}
+\newdwfnamecommands{DWACCESSpublic}{DW\_ACCESS\_public}
+%
+% DW_ADDR
+%
+\newdwfnamecommands{DWADDRnone}{DW\_ADDR\_none}
+%
 % DW_AT
 %
+\newdwfnamecommands{DWATabstractorigin}{DW\_AT\_abstract\_origin}
+\newdwfnamecommands{DWATaccessibility}{DW\_AT\_accessibility}
+\newdwfnamecommands{DWATaddressclass}{DW\_AT\_address\_class}
+\newdwfnamecommands{DWATallocated}{DW\_AT\_allocated}
+\newdwfnamecommands{DWATartificial}{DW\_AT\_artificial}
+\newdwfnamecommands{DWATassociated}{DW\_AT\_associated}
+%
+\newdwfnamecommands{DWATbasetypes}{DW\_AT\_base\_types}
+\newdwfnamecommands{DWATbinaryscale}{DW\_AT\_binary\_scale}
+\newdwfnamecommands{DWATbitoffset}{DW\_AT\_bit\_offset}
 \newdwfnamecommands{DWATbitsize}{DW\_AT\_bit\_size}
+\newdwfnamecommands{DWATbitstride}{DW\_AT\_bit\_stride}
+\newdwfnamecommands{DWATbyteoffset}{DW\_AT\_byte\_offset}
 \newdwfnamecommands{DWATbytesize}{DW\_AT\_byte\_size}
 \newdwfnamecommands{DWATbytestride}{DW\_AT\_byte\_stride}
+%
+\newdwfnamecommands{DWATcallcolumn}{DW\_AT\_call\_column}
+\newdwfnamecommands{DWATcallfile}{DW\_AT\_call\_file}
+\newdwfnamecommands{DWATcallline}{DW\_AT\_call\_line}
+\newdwfnamecommands{DWATcallingconvention}{DW\_AT\_calling\_convention}
+\newdwfnamecommands{DWATcommonreference}{DW\_at\_common\_reference}
+\newdwfnamecommands{DWATcompdir}{DW\_AT\_omp\_dir}
+\newdwfnamecommands{DWATconstexpr}{DW\_AT\_const\_expr}
+\newdwfnamecommands{DWATconstvalue}{DW\_AT\_const\_value}
+\newdwfnamecommands{DWATcontainingtype}{DW\_AT\_containing\_type}
+\newdwfnamecommands{DWATcount}{DW\_AT\_count}
+%
+\newdwfnamecommands{DWATdatabitoffset}{DW\_AT\_bit\_offset}
 \newdwfnamecommands{DWATdatalocation}{DW\_AT\_data\_location}
+\newdwfnamecommands{DWATdatamemberlocation}{DW\_AT\_data\_member\_location}
+\newdwfnamecommands{DWATdecimalscale}{DW\_AT\_decimal\_scale}
+\newdwfnamecommands{DWATdecimalsign}{DW\_AT\_decimal\_sign}
+\newdwfnamecommands{DWATdeclcolumn}{DW\_AT\_decl\_column}
+\newdwfnamecommands{DWATdeclfile}{DW\_AT\_decl\_file}
+\newdwfnamecommands{DWATdeclline}{DW\_AT\_decl\_line}
+\newdwfnamecommands{DWATdeclaration}{DW\_AT\_declaration}
+\newdwfnamecommands{DWATdefaultvalue}{DW\_AT\_default\_value}
+\newdwfnamecommands{DWATdescription}{DW\_AT\_description}
+\newdwfnamecommands{DWATdigitcount}{DW\_AT\_digit\_ount}
+\newdwfnamecommands{DWATdiscr}{DW\_AT\_discr}
+\newdwfnamecommands{DWATdiscrlist}{DW\_AT\_discr\_list}
+\newdwfnamecommands{DWATdiscrvalue}{DW\_AT\_discr\_value}
+%
+\newdwfnamecommands{DWATelemental}{DW\_AT\_elemental}
+\newdwfnamecommands{DWATencoding}{DW\_AT\_encoding}
+\newdwfnamecommands{DWATendianity}{DW\_AT\_endianity}
+\newdwfnamecommands{DWATentrypc}{DW\_AT\_entry\_pc}
+\newdwfnamecommands{DWATenumclass}{DW\_AT\_enum\_class}
+\newdwfnamecommands{DWATexplicit}{DW|_AT\_explicit}
+\newdwfnamecommands{DWATextension}{DW\_AT\_extension}
+\newdwfnamecommands{DWATexternal}{DW\_AT\_external}
+%
+\newdwfnamecommands{DWATframebase}{DW\_AT\_frame\_base}
+\newdwfnamecommands{DWATfriend}{DW\_AT\_friend}
+%
+\newdwfnamecommands{DWAThiuser}{DW\_AT\_hi\_user}
+\newdwfnamecommands{DWAThighpc}{DW\_AT\_high\_pc}
+%
+\newdwfnamecommands{DWATidentifiercase}{DW\_AT\_identifier\_case}
+\newdwfnamecommands{DWATimport}{DW\_AT\_import}
+\newdwfnamecommands{DWATinline}{DW\_AT\_inline}
+\newdwfnamecommands{DWATisoptional}{DW\_AT\_is\_optional}
+%
+\newdwfnamecommands{DWATlanguage}{DW\_AT\_language}
+\newdwfnamecommands{DWATlinkagename}{DW\_AT\_linkage\_name}
+\newdwfnamecommands{DWATlouser}{DW\_AT\_lo\_user}
 \newdwfnamecommands{DWATlocation}{DW\_AT\_location}
+\newdwfnamecommands{DWATlowpc}{DW\_AT\_low\_pc}
 \newdwfnamecommands{DWATlowerbound}{DW\_AT\_lower\_bound}
+%
 \newdwfnamecommands{DWATmacroinfo}{DW\_AT\_macro\_info}
+\newdwfnamecommands{DWATmainsubprogram}{DW\_AT\_main\_subprogram}
+\newdwfnamecommands{DWATmutable}{DW\_AT\_mutable}
+%
 \newdwfnamecommands{DWATname}{DW\_AT\_name}
+\newdwfnamecommands{DWATnamelistitem}{DW\_AT\_namelist\_item}
+%
+\newdwfnamecommands{DWATobjectpointer}{DW\_AT\_object\_pointer}
 \newdwfnamecommands{DWATordering}{DW\_AT\_ordering}
+%
+\newdwfnamecommands{DWATpicturestring}{DW\_AT\_picture\_string}
+\newdwfnamecommands{DWATpriority}{DW\AT\_priority}
+\newdwfnamecommands{DWATproducer}{DW\_AT\_producer}
+\newdwfnamecommands{DWATprototyped}{DW\_AT\_prototyped}
+\newdwfnamecommands{DWATpure}{DW\_AT\_pure}
+%
 \newdwfnamecommands{DWATranges}{DW\_AT\_ranges}
 \newdwfnamecommands{DWATrank}{DW\_AT\_rank}
+\newdwfnamecommands{DWATrecursive}{DW\_AT\_recursive}
+\newdwfnamecommands{DWATreturnaddr}{DW\_AT\_return\_addr}
+%
+\newdwfnamecommands{DWATsegment}{DW\_AT\_segment}
 \newdwfnamecommands{DWATsibling}{DW\_AT\_sibling}
+\newdwfnamecommands{DWATsignature}{DW\_AT\_signature}
+\newdwfnamecommands{DWATsmall}{DW\_AT\_small}
+\newdwfnamecommands{DWATspecification}{DW\_AT\_specification}
+\newdwfnamecommands{DWATstartsccope}{DW\_AT\_start\_scope}
+\newdwfnamecommands{DWATstaticlink}{DW\_AT\_static\_link}
 \newdwfnamecommands{DWATstmtlist}{DW\_AT\_stmt\_list}
 \newdwfnamecommands{DWATstringlength}{DW\_AT\_string\_length}
 \newdwfnamecommands{DWATstringlengthbitsize}{DW\_AT\_string\_length\_bit\_size}
 \newdwfnamecommands{DWATstringlengthbytesize}{DW\_AT\_string\_length\_byte\_size}
+%
+\newdwfnamecommands{DWATthreadsscaled}{DW\_AT\_threads\_scaled}
+\newdwfnamecommands{DWATtrampoline}{DW\_AT\_trampoline}
 \newdwfnamecommands{DWATtype}{DW\_AT\_type}
+%
 \newdwfnamecommands{DWATupperbound}{DW\_AT\_upper\_bound}
+\newdwfnamecommands{DWATuselocation}{DW\_AT\_use\_location}
+\newdwfnamecommands{DWATuseUTFeight}{DW\_AT\_use\_UTF8}
+%
+\newdwfnamecommands{DWATvariableparameter}{DW\_AT\_variable\_parameter}
+\newdwfnamecommands{DWATvirtuality}{DW\_AT\_virtuality}
+\newdwfnamecommands{DWATvisibility}{DW\_AT\_visibility}
+\newdwfnamecommands{DWATvtableelemlocation}{DW\_AT\_vtable\_elem\_location}
+%
+% DW_ATE
+%
+\newdwfnamecommands{DWATEaddress}{DW\_ATE\_address}
+\newdwfnamecommands{DWATEboolean}{DW\_ATE\_boolean}
+\newdwfnamecommands{DWATEcomplexfloat}{DW\_ATE\_complex\_float}
+\newdwfnamecommands{DWATEdecimalfloat}{DW\_ATE\_decimal\_float}
+\newdwfnamecommands{DWATEedited}{DW\_ATE\_edited}
+\newdwfnamecommands{DWATEfloat}{DW\_ATE\_float}
+\newdwfnamecommands{DWATEhiuser}{DW\_ATE\_hi\_user}
+\newdwfnamecommands{DWATEimaginaryfloat}{DW\_ATE\_imaginary\_float}
+\newdwfnamecommands{DWATElouser}{DW\_ATE\_lo\_user}
+\newdwfnamecommands{DWATEnumericstring}{DW\_ATE\_numeric\_string}
+\newdwfnamecommands{DWATEpackeddecimal}{DWATE\_packed\_decimal}
+\newdwfnamecommands{DWATEsigned}{DW\_ATE\_signed}
+\newdwfnamecommands{DWATEsignedchar}{DW\_ATE\_signed\_char}
+\newdwfnamecommands{DWATEsignedfixed}{DW\_ATE\_signed\_fixed}
+\newdwfnamecommands{DWATEunsigned}{DW\_ATE\_unsigned}
+\newdwfnamecommands{DWATEunsignedchar}{DW\_ATE\_unsigned\_char}
+\newdwfnamecommands{DWATEunsignedfixed}{DW\_ATE\_unsigned\_fixed}
+\newdwfnamecommands{DWATEUTF}{DW\_ATE\_UTF}
+%
+% DW_CC
+%
+\newdwfnamecommands{DWCChiuser}{DW\_CC\_hi\_user}
+\newdwfnamecommands{DWCClouser}{DW\_CC\_lo\_user}
+\newdwfnamecommands{DWCCnocall}{DW\_CC\_nocall}
+\newdwfnamecommands{DWCCnormal}{DW\_CC\_normal}
+\newdwfnamecommands{DWCCprogram}{DW\_CC\_program}
+%
+% DW_CFA
+%
+\newdwfnamecommands{DWCFAadvanceloc}{DW\_CFA\_advance\_loc}
+\newdwfnamecommands{DWCFAadvancelocone}{DW\_CFA\_advance\_loc1}
+\newdwfnamecommands{DWCFAadvanceloctwo}{DW\_CFA\_advance\_loc2}
+\newdwfnamecommands{DWCFAadvancelocfour}{DW\_CFA\_advance\_loc4}
+\newdwfnamecommands{DWCFAdefcfa}{DW\_CFA\_def\_cfa}
+\newdwfnamecommands{DWCFAdefcfaexpression}{DW\_CFA\_def\_cfa\_expression}
+\newdwfnamecommands{DWCFAdefcfaoffset}{DW\_CFA\_def\_cfa\_offset}
+\newdwfnamecommands{DWCFAdefcfaoffsetsf}{DW\_CFA\_def\_cfa\_offset\_sf}
+\newdwfnamecommands{DWCFAdefcfaregister}{DW\_CFA\_def\_cfa\_register}
+\newdwfnamecommands{DWCFAdefcfasf}{DW\_CFA\_def\_cfa\_sf}
+\newdwfnamecommands{DWCFAexpression}{DW\_CFA\_expression}
+\newdwfnamecommands{DWCFAiuser}{DW\_CFA\_hi\_user}
+\newdwfnamecommands{DWCFAlouser}{DW\_CFA\_lo\_user}
+\newdwfnamecommands{DWCFAnop}{DW\_CFA\_nop}
+\newdwfnamecommands{DWCFAoffset}{DW\_CFA\_offset}
+\newdwfnamecommands{DWCFAoffsetextended}{DW\_CFA\_offset\_extended}
+\newdwfnamecommands{DWCFAoffsetextendedsf}{DW\_CFA\_offset\_extended\_sf}
+\newdwfnamecommands{DWCFAregister}{DW\_CFA\_register}
+\newdwfnamecommands{DWCFArememberstate}{DW\_CFA\_remember\_state}
+\newdwfnamecommands{DWCFArestore}{DW\_CFA\_restore}
+\newdwfnamecommands{DWCFArestoreextended}{DW\_CFA\_restore\_extended}
+\newdwfnamecommands{DWCFArestorestate}{DW\_CFA\_restore\_state}
+\newdwfnamecommands{DWCFAsamevalue}{DW\_CFA\_same\_value}
+\newdwfnamecommands{DWCFAsetloc}{DW\_CFA\_set\_loc}
+\newdwfnamecommands{DWCFAundefined}{DW\_CFA\_undefined}
+\newdwfnamecommands{DWCFAvalexpression}{DW\_CFA\_val\_expression}
+\newdwfnamecommands{DWCFAvaloffset}{DW\_CFA\_val\_val\_offset}
+\newdwfnamecommands{DWCFAvaloffsetsf}{DW\_CFA\_val\_offset\_sf}
+%
+% DW_CHILDREN
+%
+\newdwfnamecommands{DWCHILDRENno}{DW\_CHILDREN\_no}
+\newdwfnamecommands{DWCHILDRENyes}{DW\_CHILDREN\_yes}
+%
+% DW_DS
+%
+\newdwfnamecommands{DWDSleadingoverpunch}{DW\_DS\_leading\_overpunch}
+\newdwfnamecommands{DWDSleadingseparate}{DW\_DS\_leading\_separate}
+\newdwfnamecommands{DWDStrailingoverpunch}{DW\_DS\_trailing\_overpunch}
+\newdwfnamecommands{DWDStrailingseparate}{DW\_DS\_trailing\_separate}
+\newdwfnamecommands{DWDSunsigned}{DW\_DS\_unsigned}
+%
+% DW_DSC
+%
+\newdwfnamecommands{DWDSClabel}{DW\_DSC\_label}
+\newdwfnamecommands{DWDSCrange}{DW\_DSC\_range}
+%
+% DW_END
+%
+\newdwfnamecommands{DWENDbig}{DW\_END\_big}
+\newdwfnamecommands{DWENDdefault}{DW\_END\_default}
+\newdwfnamecommands{DWENDhiuser}{DW\_END\_hi\_user}
+\newdwfnamecommands{DWENDlittle}{DW\_END\_little}
+\newdwfnamecommands{DWENDlouser}{DW\_END\_lo\_user}
 %
 % DW_FORM
 %
+\newdwfnamecommands{DWFORMaddr}{DW\_FORM\_addr}
+\newdwfnamecommands{DWFORMblock}{DW\_FORM\_block}
+\newdwfnamecommands{DWFORMblockone}{DW\_FORM\_block1}
+\newdwfnamecommands{DWFORMblocktwo}{DW\_FORM\_block2}
+\newdwfnamecommands{DWFORMblockfour}{DW\_FORM\_block3}
+\newdwfnamecommands{DWFORMdata}{DW\_FORM\_data}
+\newdwfnamecommands{DWFORMdataone}{DW\_FORM\_data1}
+\newdwfnamecommands{DWFORMdatatwo}{DW\_FORM\_data2}
+\newdwfnamecommands{DWFORMdatafour}{DW\_FORM\_data4}
+\newdwfnamecommands{DWFORMdataeight}{DW\_FORM\_data8}
+\newdwfnamecommands{DWFORMexprloc}{DW\_FORM\_exprloc}
+\newdwfnamecommands{DWFORMflag}{DW\_FORM\_flag}
+\newdwfnamecommands{DWFORMflag}{DW\_FORM\_flag\_present}
+\newdwfnamecommands{DWFORMindirect}{DW\_FORM\_indirect}
+\newdwfnamecommands{DWFORMrefone}{DW\_FORM\_ref1}
+\newdwfnamecommands{DWFORMreftwo}{DW\_FORM\_ref2}
+\newdwfnamecommands{DWFORMreffour}{DW\_FORM\_ref4}
+\newdwfnamecommands{DWFORMrefeight}{DW\_FORM\_ref8}
+\newdwfnamecommands{DWFORMrefaddr}{DW\_FORM\_ref\_addr}
 \newdwfnamecommands{DWFORMrefsigeight}{DW\_FORM\_ref\_sig8}
+\newdwfnamecommands{DWFORMrefudata}{DW\_FORM\_ref\_udata}
+\newdwfnamecommands{DWFORMsdata}{DW\_FORM\_sdata}
+\newdwfnamecommands{DWFORMsecoffset}{DW\_FORM\_sec\_offset}
+\newdwfnamecommands{DWFORMstring}{DW\_FORM\_string}
 \newdwfnamecommands{DWFORMstrp}{DW\_FORM\_strp}
+\newdwfnamecommands{DWFORMudata}{DW\_FORM\_udata}
+%
+% DW_ID
+%
+\newdwfnamecommands{DWIDcaseinsensitive}{DW\_ID\_case\_insensitive}
+\newdwfnamecommands{DWIDcasesensitive}{DW\_ID\_case\_sensitive}
+\newdwfnamecommands{DWIDdowncase}{DW\_ID\_down\_case}
+\newdwfnamecommands{DWIDupcase}{DW\_ID\_up\_case}
+%
+% DW_INL
+%
+\newdwfnamecommands{DWINLdeclaredinlined}{DW\_INL\_declared\_inlined}
+\newdwfnamecommands{DWINLdeclarednotinlined}{DW\_INL\_declared\_not\_inlined}
+\newdwfnamecommands{DWINLinlined}{DW\_INL\_inlined}
+\newdwfnamecommands{DWINLnotinlined}{DW\_INL\_not\_inlined}
 %
 % DW_LANG
 %
+\newdwfnamecommands{DWLANGAdaeightythree}{DW\_LANG\_Ada83}
+\newdwfnamecommands{DWLANGAdaninetyfive}{DW\_LANG\_Ada95}
+\newdwfnamecommands{DWLANGC}{DW\_LANG\_C}
+\newdwfnamecommands{DWLANGCeightynine}{DW\_LANG\_C89}
+\newdwfnamecommands{DWLANGCninetynine}{DW\_LANG\_C99}
+\newdwfnamecommands{DWLANGCplusplus}{DW\_LANG\_C\_plus\_plus}
+\newdwfnamecommands{DWLANGCobolseventyfour}{DW\_LANG\_Cobol74}
+\newdwfnamecommands{DWLANGCoboleightyfive}{DW\_LANG\_Cobol85}
+\newdwfnamecommands{DWLANGD}{DW\_LANG\_D}
+\newdwfnamecommands{DWLANGFortranseventyseven}{DW\_LANG\_Fortran77}
+\newdwfnamecommands{DWLANGFortranninety}{DW\_LANG\_Fortran90}
+\newdwfnamecommands{DWLANGFortranninetyfive}{DW\_LANG\_Fortran95}
 \newdwfnamecommands{DWLANGGo}{DW\_LANG\_Go}
 \newdwfnamecommands{DWLANGHaskell}{DW\_LANG\_Haskell}
-\newdwfnamecommands{DWLANGModulaThree}{DW\_LANG\_Modula3}
+\newdwfnamecommands{DWLANGhiuser}{DW\_LANG\_hi\_user}
+\newdwfnamecommands{DWLANGJava}{DW\_LANG\_Java}
+\newdwfnamecommands{DWLANGlouser}{DW\_LANG\_lo\_user}
+\newdwfnamecommands{DWLANGModulatwo}{DW\_LANG\_Modula2}
+\newdwfnamecommands{DWLANGModulathree}{DW\_LANG\_Modula3}
+\newdwfnamecommands{DWLANGObjC}{DW\_LANG\_ObjC}
+\newdwfnamecommands{DWLANGObjCplusplus}{DW\_LANG\_ObjC\_plus\_plus}
 \newdwfnamecommands{DWLANGOpenCL}{DW\_LANG\_OpenCL}
+\newdwfnamecommands{DWLANGPascaleightythree}{DW\_LANG\_Pascal83}
+\newdwfnamecommands{DWLANGPLI}{DW\_LANG\_PLI}
+\newdwfnamecommands{DWLANGPython}{DW\_LANG\_Python}
+\newdwfnamecommands{DWLANGUPC}{DW\_LANG\_UPC}
+%
+% DW_LNE
+%
+\newdwfnamecommands{DWLNEdefinefile}{DW\_LNE\_define\_file}
+\newdwfnamecommands{DWLNEendsequence}{DW\_LNE\_end\_sequence}
+\newdwfnamecommands{DWLNEhiuser}{DW\_LNE\_hi\_user}
+\newdwfnamecommands{DWLNElouser}{DW\_LNE\_lo\_user}
+\newdwfnamecommands{DWLNEsetaddress}{DW\_LNE\_set\_address}
+\newdwfnamecommands{DWLNEsetdiscriminator}{DW\_LNE\_set\_discriminator}
+%
+% DW_LNS
+%
+\newdwfnamecommands{DWLNSadvanceline}{DW\_LNS\_advance\_line}
+\newdwfnamecommands{DWLNSadvancepc}{DW\_LNS\_advance\_pc}
+\newdwfnamecommands{DWLNSconstaddpc}{DW\_LNS\_const\_add\_pc}
+\newdwfnamecommands{DWLNScopy}{DW\_LNS\_copy}
+\newdwfnamecommands{DWLNSfixedadvancepc}{DW\_LNS\_fixed\_advance\_pc}
+\newdwfnamecommands{DWLNShiuser}{DW\_LNS\_hi\_user}
+\newdwfnamecommands{DWLNSlouser}{DW\_LNS\_lo\_user}
+\newdwfnamecommands{DWLNSnegatestmt}{DW\_LNS\_negate\_stmt}
+\newdwfnamecommands{DWLNSsetbasicblock}{DW\_LNS\_set\_basic\_block}
+\newdwfnamecommands{DWLNSsetcolumn}{DW\_LNS\_set\_column}
+\newdwfnamecommands{DWLNSsetepiloguebegin}{DW\_LNS\_set\_epilogue\_begin}
+\newdwfnamecommands{DWLNSsetfile}{DW\_LNS\_set\_file}
+\newdwfnamecommands{DWLNSsetisa}{DW\_LNS\_set\_isa}
+\newdwfnamecommands{DWLNSsetprologueend}{DW\_LNS\_set\_prologue\_end}
+%
+% DW_MACINFO
+%
+\newdwfnamecommands{DWMACINFOdefine}{DW\_MACINFO\_define}
+\newdwfnamecommands{DWMACINFOendfile}{DW\_MACINFO\_end\_file}
+\newdwfnamecommands{DWMACINFOstartfile}{DW\_MACINFO\_start\_file}
+\newdwfnamecommands{DWMACINFOundef}{DW\_MACINFO\_undef}
+\newdwfnamecommands{DWMACINFOvendorext}{DW\_MACINFO\_vendor\_ext}
 %
 % DW_OP
 %
+\newdwfnamecommands{DWOPabs}{DW\_OP\_abs}
+\newdwfnamecommands{DWOPaddr}{DW\_OP\_addr}
+\newdwfnamecommands{DWOPand}{DW\_OP\_and}
+\newdwfnamecommands{DWOPbitpiece}{DW\_OP\_bit\_piece}
+\newdwfnamecommands{DWOPbra}{DW\_OP\_bra}
+\newdwfnamecommands{DWOPbregn}{DW\_OP\_breg\textit{n}}                                                 % Generic name
+\newdwfnamecommands{DWOPbregzero}{DW\_OP\_breg0}
+\newdwfnamecommands{DWOPbregone}{DW\_OP\_breg1}
+\newdwfnamecommands{DWOPbregthirtyone}{DW\_OP\_breg31}
+    \newcommand{\DWOPbregtwo}{\hyperlink{chap:DWOPbregn}{DW\_OP\_breg2}}               % Link, don't index...
+       \newcommand{\DWOPbregthree}{\hyperlink{chap:DWOPbregn}{DW\_OP\_breg3}}          %
+       \newcommand{\DWOPbregfour}{\hyperlink{chap:DWOPbregn}{DW\_OP\_breg4}}           %
+       \newcommand{\DWOPbregeleven}{\hyperlink{chap:DWOPbregn}{DW\_OP\_breg11}}        %
+\newdwfnamecommands{DWOPbregx}{DW\_OP\_bregx}
+\newdwfnamecommands{DWOPcalltwo}{DW\_OP\_call2}
+\newdwfnamecommands{DWOPcallfour}{DW\_OP\_call4}
+\newdwfnamecommands{DWOPcallframecfa}{DW\_OP\_call\_frame\_cfa}
 \newdwfnamecommands{DWOPcallref}{DW\_OP\_call\_ref}
-\newdwfnamecommands{DWOPconst}{DW\_OP\_const}
+\newdwfnamecommands{DWOPconstnx}{DW\_OP\_const\textit{nx}}             %generic const%% operator name
+\newdwfnamecommands{DWOPconstns}{DW\_OP\_const\textit{n}s}             %generic const%s operator name
+\newdwfnamecommands{DWOPconstnu}{DW\_OP\_const\textit{n}u}             %generic const%u operator name
+\newdwfnamecommands{DWOPconstones}{DW\_OP\_const1s}
+\newdwfnamecommands{DWOPconstoneu}{DW\_OP\_const1u}
+\newdwfnamecommands{DWOPconsttwos}{DW\_OP\_const2s}
+\newdwfnamecommands{DWOPconsttwou}{DW\_OP\_const2u}
+\newdwfnamecommands{DWOPconstfours}{DW\_OP\_const4s}
+\newdwfnamecommands{DWOPconstfouru}{DW\_OP\_const4u}
+\newdwfnamecommands{DWOPconsteights}{DW\_OP\_const8s}
+\newdwfnamecommands{DWOPconsteightu}{DW\_OP\_const8u}
+\newdwfnamecommands{DWOPconsts}{DW\_OP\_consts}
+\newdwfnamecommands{DWOPconstu}{DW\_OP\_constu}
 \newdwfnamecommands{DWOPderef}{DW\_OP\_deref}
+\newdwfnamecommands{DWOPderefsize}{DW\_OP\_deref\_size}
+\newdwfnamecommands{DWOPdiv}{DW\_OP\_div}
+\newdwfnamecommands{DWOPdrop}{DW\_OP\_drop}
+\newdwfnamecommands{DWOPdup}{DW\_OP\_dup}
+\newdwfnamecommands{DWOPeq}{DW\_OP\_eq}
+\newdwfnamecommands{DWOPfbreg}{DW\_OP\_fbreg}
 \newdwfnamecommands{DWOPformtlsaddress}{DW\_OP\_form\_tls\_address}
-\newdwfnamecommands{DWOPlit}{DW\_OP\_lit}
-\newdwfnamecommands{DWOPmult}{DW\_OP\_mult}
+\newdwfnamecommands{DWOPge}{DW\_OP\_ge}
+\newdwfnamecommands{DWOPgt}{DW\_OP\_gt}
+\newdwfnamecommands{DWOPhiuser}{DW\_OP\_hi\_user}
+\newdwfnamecommands{DWOPimplicitvalue}{DW\_OP\_implicit\_value}
+\newdwfnamecommands{DWOPle}{DW\_OP\_le}
+\newdwfnamecommands{DWOPlitn}{DW\_OP\_lit\textit{n}}                                           % generic lit operator name
+\newdwfnamecommands{DWOPlitzero}{DW\_OP\_lit0}
+\newdwfnamecommands{DWOPlitone}{DW\_OP\_lit1}
+    \newcommand{\DWOPlittwo}{\hyperlink{chap:DWOPlitn}{DW\_OP\_lit2}}          % Link, don't index...
+\newdwfnamecommands{DWOPlitthirtyone}{DW\_OP\_lit31}
+\newdwfnamecommands{DWOPlouser}{DW\_OP\_lo\_user}
+\newdwfnamecommands{DWOPlt}{DW\_OP\_lt}
+\newdwfnamecommands{DWOPminus}{DW\_OP\_minus}
+\newdwfnamecommands{DWOPmod}{DW\_OP\_mod}
+\newdwfnamecommands{DWOPmul}{DW\_OP\_mul}
+\newdwfnamecommands{DWOPne}{DW\_OP\_ne}
+\newdwfnamecommands{DWOPneg}{DW\_OP\_neg}
+\newdwfnamecommands{DWOPnop}{DW\_OP\_nop}
+\newdwfnamecommands{DWOPnot}{DW\_OP\_not}
+\newdwfnamecommands{DWOPor}{DW\_OP\_or}
+\newdwfnamecommands{DWOPover}{DW\_OP\_over}
+\newdwfnamecommands{DWOPpick}{DW\_OP\_pick}
+\newdwfnamecommands{DWOPpiece}{DW\_OP\_piece}
 \newdwfnamecommands{DWOPplus}{DW\_OP\_plus}
+\newdwfnamecommands{DWOPplusuconst}{DW\_OP\_plus\_uconst}
 \newdwfnamecommands{DWOPpushobjectaddress}{DW\_OP\_push\_object\_address}
+\newdwfnamecommands{DWOPregn}{DW\_OP\_reg\textit{n}}                                           % Generic register name
+\newdwfnamecommands{DWOPregzero}{DW\_OP\_reg0}
+\newdwfnamecommands{DWOPregone}{DW\_OP\_reg1}
+       \newcommand{\DWOPregtwo}{\hyperlink{DWOPregn}{DW\_OP\_reg2}}                    % Link, don't index
+       \newcommand{\DWOPregthree}{\hyperlink{DWOPregn}{DW\_OP\_reg3}}
+       \newcommand{\DWOPregten}{\hyperlink{DWOPregn}{DW\_OP\_reg10}}
+\newdwfnamecommands{DWOPregthirtyone}{DW\_OP\_reg31}
+\newdwfnamecommands{DWOPregx}{DW\_OP\_regx}
+\newdwfnamecommands{DWOProt}{DW\_OP\_rot}
+\newdwfnamecommands{DWOPshl}{DW\_OP\_shl}
+\newdwfnamecommands{DWOPshr}{DW\_OP\_shr}
+\newdwfnamecommands{DWOPshra}{DW\_OP\_shra}
+\newdwfnamecommands{DWOPskip}{DW\_OP\_skip}
+\newdwfnamecommands{DWOPstatckvalue}{DW\_OP\_static\_value}
+\newdwfnamecommands{DWOPswap}{DW\_OP\_swap}
+\newdwfnamecommands{DWOPxderef}{DW\_OP\_xderef}
+\newdwfnamecommands{DWOPxderefsize}{DW\_OP\_xderef\_size}
+\newdwfnamecommands{DWOPxor}{DW\_OP\_xor}
 %
 % DW_ORD
 %
 %
 % DW_TAG
 %
+\newdwfnamecommands{DWTAGaccessdeclaration}{DW\_TAG\_access\_declaration}
 \newdwfnamecommands{DWTAGarraytype}{DW\_TAG\_array\_type}
+\newdwfnamecommands{DWTAGbasetype}{DW\_TAG\_base\_type}
+\newdwfnamecommands{DWTAGcatchblok}{DW\_TAG\_catch\_block}
+\newdwfnamecommands{DWTAGclasstype}{DW\_TAG\_class\_type}
 \newdwfnamecommands{DWTAGcoarraytype}{DW\_TAG\_coarray\_type}
+\newdwfnamecommands{DWTAGcommonblock}{DW\_TAG\_common\_block}
+\newdwfnamecommands{DWTAGcommoninclusion}{DW\_TAG\_common\_inclusion}
+\newdwfnamecommands{DWTAGcompileunit}{DW\_TAG\_compile\_unit}
+\newdwfnamecommands{DWTAGcondition}{DW\_TAG\_condition}
+\newdwfnamecommands{DWTAGconttype}{DW\_TAG\_const\_type}
+\newdwfnamecommands{DWTAGconstant}{DW\_TAG\_constant}
+\newdwfnamecommands{DWTAGdwarfprocedure}{DW\_TAG\_dwarf\_procedure}
+\newdwfnamecommands{DWTAGentrypoint}{DW\_TAG\_entry\_point}
+\newdwfnamecommands{DWTAGenumerationtype}{DW\_TAG\_enumeration\_type}
+\newdwfnamecommands{DWTAGenumerator}{DW\_TAG\_enumerator}
+\newdwfnamecommands{DWTAGfiletype}{DW\_TAG\_file\_type}
+\newdwfnamecommands{DWTAGformalparameter}{DW\_TAG\_formal\_parameter}
+\newdwfnamecommands{DWTAGfriend}{DW\_TAG\_friend}
 \newdwfnamecommands{DWTAGgenericsubrange}{DW\_TAG\_generic\_subrange}
+\newdwfnamecommands{DWTAGhiuser}{DW\_TAG\_hi\_user}
+\newdwfnamecommands{DWTAGimporteddeclaration}{DW\_TAG\_imported\_declaration}
+\newdwfnamecommands{DWTAGimportedmodule}{DW\_TAG\_imported\_module}
+\newdwfnamecommands{DWTAGimportedunit}{DW\_TAG\_imported\_unit}
+\newdwfnamecommands{DWTAGinheritance}{DW\_TAG\_inheritance}
+\newdwfnamecommands{DWTAGinlinedsubroutine}{DW\_TAG\_inlined\_subroutine}
+\newdwfnamecommands{DWTAGinterfacetype}{DW\_TAG\_interface\_type}
+\newdwfnamecommands{DWTAGlabel}{DW\_TAG\_label}
+\newdwfnamecommands{DWTAGlexicalblock}{DW\_TG\_lexical\_block}
+\newdwfnamecommands{DWTAGlouser}{DW\_TAG\_lo\_user}
 \newdwfnamecommands{DWTAGmember}{DW\_TAG\_member}
+\newdwfnamecommands{DWTAGmodule}{DW\_TAG\_module}
+\newdwfnamecommands{DWTAGnamelist}{DW\_TAG\_namelist}
+\newdwfnamecommands{DWTAGnamelistitem}{DW\_TAG\_namelist\_item}
+\newdwfnamecommands{DWTAGnamespace}{DW\_TAG\_namespace}
+\newdwfnamecommands{DWTAGpackedtype}{DW\_TAG\_packed\_type}
+\newdwfnamecommands{DWTAGpartialunit}{DW\_TAG\_partial\_unit}
+\newdwfnamecommands{DWTAGpointertype}{DW\_TAG\_pointer\_type}
+\newdwfnamecommands{DWTAGptrtomembertype}{DW\_TAG\_ptr\_to\_member\_type}
+\newdwfnamecommands{DWTAGreferencetype}{DW\_tag\_reference\_type}
+\newdwfnamecommands{DWTAGrestricttype}{DW\_TAG\_restrict\_type}
+\newdwfnamecommands{DWTAGrvaluereferencetype}{DW\_TAG\_rvalue\_reference\_type}
+\newdwfnamecommands{DWTAGsettype}{DW\_TAG\_set\_type}
+\newdwfnamecommands{DWTAGsharedtype}{DW\_TAG\_shared\_type}
+\newdwfnamecommands{DWTAGstringtype}{DW\_TAG\_string\_type}
+\newdwfnamecommands{DWTAGstructuretype}{DW\_TAG\_structure\_type}
+\newdwfnamecommands{DWTAGsubprogram}{DW\_TAG\_subprogram}
 \newdwfnamecommands{DWTAGsubrangetype}{DW\_TAG\_subrange\_type}
+\newdwfnamecommands{DWTAGsubroutinetype}{DW\_TAG\_subroutine\_type}
+\newdwfnamecommands{DWTAGtemplatealias}{DW\_TAG\_template\_alias}
+\newdwfnamecommands{DWTAGtemplatetypeparameter}{DW\_TAG\_template\_type\_parameter}
+\newdwfnamecommands{DWTAGtemplatevalueparameter}{DW\_TAG\_template\_value\_parameter}
+\newdwfnamecommands{DWTAGthrowntype}{DW\_TAG\_thrown\_type}
+\newdwfnamecommands{DWTAGtryblock}{DW\_TAG\_try\_block}
+\newdwfnamecommands{DWTAGtypedef}{DW\_TAG\_typedef}
+\newdwfnamecommands{DWTAGtypeunit}{DW\_TAG\_type\_unit}
+\newdwfnamecommands{DWTAGuniontype}{DW\_TAG\_union\_type}
+\newdwfnamecommands{DWTAGunspecifiedparameters}{DW\_TAG\_unspecified\_parameters}
+\newdwfnamecommands{DWTAGunspecifiedtype}{DW\_TAG\_unspecified_type}
 \newdwfnamecommands{DWTAGvariable}{DW\_TAG\_variable}
+\newdwfnamecommands{DWTAGvariant}{DW\_TAG\_variant}
+\newdwfnamecommands{DWTAGvariantpart}{DW\_TAG\_variant\_part}
+\newdwfnamecommands{DWTAGvolatiletype}{DW\_TAG\_volatile\_type}
+\newdwfnamecommands{DWTAGwithstmt}{DW\_TAG\_with\_stmt}
+%
+% DW_VIRTUALITY
+%
+\newdwfnamecommands{DWVIRTUALITYnone}{DW\_VIRTUALITY\_none}
+\newdwfnamecommands{DWVIRTUALITYpurevirtual}{DW\_VIRTUALITY\_pure\_virtual}
+\newdwfnamecommands{DWVIRTUALITYvirtual}{DW\_VIRTUALITY\_virtual}
+%
+% DW_VIS
+%
+\newdwfnamecommands{DWVISexported}{DW\_VIS\_exported}
+\newdwfnamecommands{DWVISlocal}{DW\_VIS\_local}
+\newdwfnamecommands{DWVISqualified}{DW\_VIS\_qualified}
+%
+%%%%%%%%%%%%%%%
 %
 % .debug, et al
 %
-\newcommand{\dotdebugabbrev}[1][]{\addtoindex{\texttt{.debug\_abbrev}}}
-\newcommand{\dotdebugaranges}[1][]{\addtoindex{\texttt{.debug\_aranges}}}
-\newcommand{\dotdebugframe}[1][]{\addtoindex{\texttt{.debug\_frame}}}
-\newcommand{\dotdebuginfo}[1][]{\addtoindex{\texttt{.debug\_info}}}
-\newcommand{\dotdebugline}[1][]{\addtoindex{\texttt{.debug\_line}}}
-\newcommand{\dotdebugloc}[1][]{\addtoindex{\texttt{.debug\_loc}}}
-\newcommand{\dotdebugmacinfo}[1][]{\addtoindex{\texttt{.debug\_mac\_info}}}
-\newcommand{\dotdebugpubnames}[1][]{\addtoindex{\texttt{.debug\_pubnames}}}
-\newcommand{\dotdebugpubtypes}[1][]{\addtoindex{\texttt{.debug\_pubtypes}}}
-\newcommand{\dotdebugranges}[1][]{\addtoindex{\texttt{.debug\_ranges}}}
-\newcommand{\dotdebugstr}[1][]{\addtoindex{\texttt{.debug\_str}}}
-\newcommand{\dotdebugtypes}[1][]{\addtoindex{\texttt{.debug\_types}}}
-%
-\newcommand{\dotdata}[1][]{\addtoindex{\texttt{.data}}}
-\newcommand{\dottext}[1][]{\addtoindex{\texttt{.text}}}
+\newcommand{\dotdebugabbrev}{\addtoindex{\texttt{.debug\_abbrev}}}
+\newcommand{\dotdebugaranges}{\addtoindex{\texttt{.debug\_aranges}}}
+\newcommand{\dotdebugframe}{\addtoindex{\texttt{.debug\_frame}}}
+\newcommand{\dotdebuginfo}{\addtoindex{\texttt{.debug\_info}}}
+\newcommand{\dotdebugline}{\addtoindex{\texttt{.debug\_line}}}
+\newcommand{\dotdebugloc}{\addtoindex{\texttt{.debug\_loc}}}
+\newcommand{\dotdebugmacinfo}{\addtoindex{\texttt{.debug\_mac\_info}}}
+\newcommand{\dotdebugpubnames}{\addtoindex{\texttt{.debug\_pubnames}}}
+\newcommand{\dotdebugpubtypes}{\addtoindex{\texttt{.debug\_pubtypes}}}
+\newcommand{\dotdebugranges}{\addtoindex{\texttt{.debug\_ranges}}}
+\newcommand{\dotdebugstr}{\addtoindex{\texttt{.debug\_str}}}
+\newcommand{\dotdebugtypes}{\addtoindex{\texttt{.debug\_types}}}
+%
+\newcommand{\dotdata}{\addtoindex{\texttt{.data}}}
+\newcommand{\dottext}{\addtoindex{\texttt{.text}}}
 %
 % Current section version numbers
 %
index cc729ce..5869c73 100644 (file)
@@ -1,11 +1,11 @@
 \chapter{Examples (Informative)}
-\label{app:examplesinformative}
+\label{app:examplesinformative}F
 
 The following sections provide examples that illustrate
 various aspects of the DWARF debugging information format.
 
 
-\section{ Compilation Units and Abbreviations Table Example}
+\section{ Compilation Units and Abbreviations Table Example}F
 \label{app:compilationunitsandabbreviationstableexample}
 
 
@@ -356,37 +356,37 @@ in Figure \refersec{fig:fortranarrayexampledwarfdescription}.
         \livelink{chap:DWATtype}{DW\_AT\_type}(reference to REAL)
         \livelink{chap:DWATassociated}{DW\_AT\_associated}(expression= ! Test 'ptr\_assoc' \nolink{flag}
             \livelink{chap:DWOPpushobjectaddress}{DW\_OP\_push\_object\_address}
-            \livelink{chap:DWOPlit}{DW\_OP\_lit}<n>    ! where n == offset(ptr\_assoc)
+            \DWOPlitn              ! where n == offset(ptr\_assoc)
             \livelink{chap:DWOPplus}{DW\_OP\_plus}
             \livelink{chap:DWOPderef}{DW\_OP\_deref}
-            \livelink{chap:DWOPlit1}{DW\_OP\_lit1}      ! mask for 'ptr\_assoc' \nolink{flag}
+            \livelink{chap:DWOPlit1}{DW\_OP\_lit1}              ! mask for 'ptr\_assoc' \nolink{flag}
             \livelink{chap:DWOPand}{DW\_OP\_and})
         \livelink{chap:DWATdatalocation}{DW\_AT\_data\_location}(expression= ! Get raw data address
             \livelink{chap:DWOPpushobjectaddress}{DW\_OP\_push\_object\_address}
-            \livelink{chap:DWOPlit}{DW\_OP\_lit}<n>    ! where n == offset(base)
+            \DWOPlitn              ! where n == offset(base)
             \livelink{chap:DWOPplus}{DW\_OP\_plus}
-            \livelink{chap:DWOPderef}{DW\_OP\_deref})    ! Type of index of array 'ap'
+            \livelink{chap:DWOPderef}{DW\_OP\_deref})            ! Type of index of array 'ap'
 2\$:     \livelink{chap:DWTAGsubrangetype}{DW\_TAG\_subrange\_type}
             ! No name, default stride
             \livelink{chap:DWATtype}{DW\_AT\_type}(reference to INTEGER)
             \livelink{chap:DWATlowerbound}{DW\_AT\_lower\_bound}(expression=
                 \livelink{chap:DWOPpushobjectaddress}{DW\_OP\_push\_object\_address}
-                \livelink{chap:DWOPlit}{DW\_OP\_lit}<n> ! where n ==
-                             !  offset(desc, dims) +
-                             !  offset(dims\_str, lower\_bound)
+                \DWOPlitn          ! where n ==
+                                    !   offset(desc, dims) +
+                                    !   offset(dims\_str, lower\_bound)
                 \livelink{chap:DWOPplus}{DW\_OP\_plus}
                 \livelink{chap:DWOPderef}{DW\_OP\_deref})
             \livelink{chap:DWATupperbound}{DW\_AT\_upper\_bound}(expression=
                 \livelink{chap:DWOPpushobjectaddress}{DW\_OP\_push\_object\_address}
-                \livelink{chap:DWOPlit}{DW\_OP\_lit}<n> ! where n ==
-                             !  offset(desc, dims) +
-                             !  offset(dims\_str, upper\_bound)
+                \DWOPlitn          ! where n ==
+                                    !   offset(desc, dims) +
+                                    !   offset(dims\_str, upper\_bound)
                 \livelink{chap:DWOPplus}{DW\_OP\_plus}
                 \livelink{chap:DWOPderef}{DW\_OP\_deref})
             !  Note: for the m'th dimension, the second operator becomes
-            !  \livelink{chap:DWOPlit}{DW\_OP\_lit}<x> where
-            !       x == offset(desc, dims)          +
-            !                (m-1)*sizeof(dims\_str) +
+            !  \DWOPlitn where
+            !       n == offset(desc, dims)          +
+            !                (m-1)*sizeof(dims\_str)  +
             !                 offset(dims\_str, [lower|upper]\_bound)
             !  That is, the expression does not get longer for each successive 
             !  dimension (other than to express the larger offsets involved).
@@ -416,14 +416,14 @@ in Figure \refersec{fig:fortranarrayexampledwarfdescription}.
         \livelink{chap:DWATtype}{DW\_AT\_type}(reference to 3\$)
         \livelink{chap:DWATallocated}{DW\_AT\_allocated}(expression=     ! Test 'ptr\_alloc' \nolink{flag}
             \livelink{chap:DWOPpushobjectaddress}{DW\_OP\_push\_object\_address}
-            \livelink{chap:DWOPlit}{DW\_OP\_lit}<n>                ! where n == offset(ptr\_alloc)
+            \DWOPlitn                  ! where n == offset(ptr\_alloc)
             \livelink{chap:DWOPplus}{DW\_OP\_plus}
             \livelink{chap:DWOPderef}{DW\_OP\_deref}
-            \livelink{chap:DWOPlit}{DW\_OP\_lit2}                  ! Mask for 'ptr\_alloc' \nolink{flag}
+            \DWOPlittwo                  ! Mask for 'ptr\_alloc' \nolink{flag}
             \livelink{chap:DWOPand}{DW\_OP\_and})
         \livelink{chap:DWATdatalocation}{DW\_AT\_data\_location}(expression= ! Get raw data address
             \livelink{chap:DWOPpushobjectaddress}{DW\_OP\_push\_object\_address}
-            \livelink{chap:DWOPlit}{DW\_OP\_lit}<n>                ! where n = offset(base)
+            \DWOPlitn                  ! where n == offset(base)
             \livelink{chap:DWOPplus}{DW\_OP\_plus}
             \livelink{chap:DWOPderef}{DW\_OP\_deref})
 7\$:     \livelink{chap:DWTAGsubrangetype}{DW\_TAG\_subrange\_type}
@@ -431,12 +431,12 @@ in Figure \refersec{fig:fortranarrayexampledwarfdescription}.
             \livelink{chap:DWATtype}{DW\_AT\_type}(reference to INTEGER)
             \livelink{chap:DWATlowerbound}{DW\_AT\_lower\_bound}(expression=
                 \livelink{chap:DWOPpushobjectaddress}{DW\_OP\_push\_object\_address}
-                \livelink{chap:DWOPlit}{DW\_OP\_lit}<n>            ! where n == ...
+                \DWOPlitn              ! where n == ...
                 \livelink{chap:DWOPplus}{DW\_OP\_plus}
                 \livelink{chap:DWOPderef}{DW\_OP\_deref})
             \livelink{chap:DWATupperbound}{DW\_AT\_upper\_bound}(expression=
                 \livelink{chap:DWOPpushobjectaddress}{DW\_OP\_push\_object\_address}
-                \livelink{chap:DWOPlit}{DW\_OP\_lit}<n>            ! where n == ...
+                \DWOPlitn              ! where n == ...
                 \livelink{chap:DWOPplus}{DW\_OP\_plus}
                 \livelink{chap:DWOPderef}{DW\_OP\_deref})
 8\$: \livelink{chap:DWTAGvariable}{DW\_TAG\_variable}
@@ -732,38 +732,38 @@ Figure~\refersec{fig:assumedrankdwarf}.
          \DWATtype(reference to real)
          \DWATrank(expression=
              \DWOPpushobjectaddress
-             \DWOPlit<offset of rank in descriptor>
+             \DWOPlitn                ! offset of rank in descriptor>
              \DWOPplus
              \DWOPderef)
          \DWATdatalocation(expression=
              \DWOPpushobjectaddress
-             \DWOPlit<offset of data in descriptor>
+             \DWOPlitn                ! offset of data in descriptor>
              \DWOPplus
              \DWOPderef)
 11\$:    \DWTAGgenericsubrange
              \DWATtype(reference to integer)
              \DWATlowerbound(expression=
              !   Looks up the lower bound of dimension i.
-             !   Operation                              ! Stack effect
-             !   (implicit)                             ! i                                                                     
-                 \DWOPlit<byte size of struct dim>     ! i sizeof(dim)
-                 \DWOPmult                             ! dim[i]
-                 \DWOPlit<offset of dim in descriptor> ! dim[i] offset
-                 \DWOPplus                             ! dim[i]+offset
-                 \DWOPpushobjectaddress              ! dim[i]+offset objptr
-                 \DWOPplus                             ! objptr.dim[i]
-                 \DWOPlit<offset of lowerbound in dim> ! objptr.dim[i] offset
-                 \DWOPplus                             ! objptr.dim[i].lowerbound
-                 \DWOPderef)                           ! *objptr.dim[i].lowerbound
+             !   Operation                           ! Stack effect
+             !   (implicit)                          ! i                                                                     
+                 \DWOPlitn                          ! i sizeof(dim)
+                 \DWOPmul                           ! dim[i]
+                 \DWOPlitn                          ! dim[i] offsetof(dim)
+                 \DWOPplus                          ! dim[i]+offset
+                 \DWOPpushobjectaddress           ! dim[i]+offsetof(dim) objptr
+                 \DWOPplus                          ! objptr.dim[i]
+                 \DWOPlitn                          ! objptr.dim[i] offsetof(lb)
+                 \DWOPplus                          ! objptr.dim[i].lowerbound
+                 \DWOPderef)                        ! *objptr.dim[i].lowerbound
              \DWATupperbound(expression=
              !   Looks up the upper bound of dimension i.
-                 \DWOPlit<byte size of dim>
-                 \DWOPmult
-                 \DWOPlit<offset of dim in descriptor>
+                 \DWOPlitn                          ! sizeof(dim)
+                 \DWOPmul
+                 \DWOPlitn                          ! offsetof(dim)
                  \DWOPplus
                  \DWOPpushobjectaddress
                  \DWOPplus
-                 \DWOPlit<offset of upperbound in dim>
+                 \DWOPlitn                          ! offset of upperbound in dim
                  \DWOPplus
                  \DWOPderef)
              \DWATbytestride(expression=
@@ -947,7 +947,7 @@ of this example and therefore is not shown.
             \livelink{chap:DWATname}{DW\_AT\_name}("VEC2")
             \livelink{chap:DWATtype}{DW\_AT\_type}(reference to array "subtype" at 28\$)
             \livelink{chap:DWATdatamemberlocation}{DW\_AT\_data\_member\_location}(machine=
-                \livelink{chap:DWOPlit}{DW\_OP\_lit}<n> ! where n == offset(REC2, VEC2)
+                \DWOPlitn                  ! where n == offset(REC2, VEC2)
                 \livelink{chap:DWOPplus}{DW\_OP\_plus})
      . . .
 41\$: \livelink{chap:DWTAGvariable}{DW\_TAG\_variable}
index de00bd0..c62231c 100644 (file)
@@ -654,7 +654,7 @@ value is truncated to the element size and the low\dash order bits
 are pushed on the stack.
 \begin{enumerate}[1. ]
 \itembfnl{\livetarg{chap:DWOPlit0}{DW\_OP\_lit0}, \livetarg{chap:DWOPlit1}{DW\_OP\_lit1}, \dots, \livetarg{chap:DWOPlit31}{DW\_OP\_lit31}}
-The \livetarg{chap:DWOPlit}{DW\_OP\_lit}\textit{n} operations encode the unsigned literal values
+The \DWOPlitnTARG{} operations encode the unsigned literal values
 from 0 through 31, inclusive.
 
 \itembfnl{\livetarg{chap:DWOPaddr}{DW\_OP\_addr}}
@@ -663,11 +663,11 @@ a machine address and whose size is the \addtoindex{size of an address}
 on the target machine.
 
 \itembfnl{\livetarg{chap:DWOPconst1u}{DW\_OP\_const1u}, \livetarg{chap:DWOPconst2u}{DW\_OP\_const2u}, \livetarg{chap:DWOPconst4u}{DW\_OP\_const4u}, \livetarg{chap:DWOPconst8u}{DW\_OP\_const8u}}
-The single operand of a \livetarg{chap:DWOPconstnu}{DW\_OP\_constnu} operation provides a 1,
+The single operand of a \DWOPconstnuTARG{} operation provides a 1,
 2, 4, or 8\dash byte unsigned integer constant, respectively.
 
 \itembfnl{\livetarg{chap:DWOPconst1s}{DW\_OP\_const1s}, \livetarg{chap:DWOPconst2s}{DW\_OP\_const2s}, \livetarg{chap:DWOPconst4s}{DW\_OP\_const4s}, \livetarg{chap:DWOPconst8s}{DW\_OP\_const8s}}
-The single operand of a \livetarg{chap:DWOPconstns}{DW\_OP\_constns} operation provides a 1,
+The single operand of a \DWOPconstnsTARG{} operation provides a 1,
 2, 4, or 8\dash byte signed integer constant, respectively.
 
 \itembfnl{\livetarg{chap:DWOPconstu}{DW\_OP\_constu}}
@@ -698,7 +698,7 @@ location list that adjusts the offset according to changes
 in the stack pointer as the PC changes.)
 
 \itembfnl{\livetarg{chap:DWOPbreg0}{DW\_OP\_breg0}, \livetarg{chap:DWOPbreg1}{DW\_OP\_breg1}, \dots, \livetarg{chap:DWOPbreg31}{DW\_OP\_breg31} }
-The single operand of the \livetarg{chap:DWOPbreg}{DW\_OP\_breg}\textit{n
+The single operand of the \DWOPbregnTARG{
 operations provides
 a signed LEB128 offset from
 the specified register.
@@ -850,7 +850,8 @@ the main executable, and a separate \nolink{block} for the variables
 declared in each shared library. 
 Each thread\dash local variable can then be accessed in its block using an
 identifier. This identifier is typically an offset into the block and pushed
-onto the DWARF stack by one of the \DWOPconst{} operations prior to the
+onto the DWARF stack by one of the 
+\DWOPconstnx{} operations prior to the
 \DWOPformtlsaddress{} operation. 
 Computing the address of
 the appropriate \nolink{block} can be complex (in some cases, the
@@ -942,7 +943,7 @@ the result.
 \textit{This operation is supplied specifically to be
 able to encode more field offsets in two bytes than can be
 done with
-\doublequote{\livelink{chap:DWOPlit}{DW\_OP\_lit\textit{n}} \livelink{chap:DWOPplus}{DW\_OP\_plus}}.}
+\doublequote{\DWOPlitn~\DWOPplus.}}
 
 \needlines{3}
 \itembfnl{\livetarg{chap:DWOPshl}{DW\_OP\_shl}}
@@ -1101,7 +1102,7 @@ examples illustrate their behavior graphically.}
 2 &1000& & &          \\
 
 & & & & \\
-0 & 17 & \livelink{chap:DWOPpick}{DW\_OP\_pick, 2} & 0 & 1000 \\
+0 & 17 & \livelink{chap:DWOPpick}{DW\_OP\_pick}, 2 & 0 & 1000 \\
 1 & 29 & & 1&17 \\
 2 &1000& &2&29 \\
   &    & &3&1000 \\
@@ -1266,7 +1267,7 @@ by the ABI authoring committee for each architecture.
 }
 \begin{enumerate}[1. ]
 \itembfnl{\livetarg{chap:DWOPreg0}{DW\_OP\_reg0}, \livetarg{chap:DWOPreg1}{DW\_OP\_reg1}, ..., \livetarg{chap:DWOPreg31}{DW\_OP\_reg31}}
-The \livetarg{chap:DWOPreg}{DW\_OP\_reg}\textit{n} operations encode the names of up to 32
+The \DWOPregnTARG{} operations encode the names of up to 32
 registers, numbered from 0 through 31, inclusive. The object
 addressed is in register \textit{n}.
 
@@ -1397,7 +1398,7 @@ Here are some examples of how DWARF operations are used to form location descrip
 % Probably the only place that this will be used, so not in dwarf.tex?
 \newcommand{\descriptionitemnl}[1]{\item[#1]\mbox{}\\}
 \begin{description}
-\descriptionitemnl{\livelink{chap:DWOPreg}{DW\_OP\_reg3}}
+\descriptionitemnl{\DWOPregthree}
 The value is in register 3.
 
 \descriptionitemnl{\livelink{chap:DWOPregx}{DW\_OP\_regx} 54}
@@ -1406,7 +1407,7 @@ The value is in register 54.
 \descriptionitemnl{\livelink{chap:DWOPaddr}{DW\_OP\_addr} 0x80d0045c}
 The value of a static variable is at machine address 0x80d0045c.
 
-\descriptionitemnl{\livelink{chap:DWOPbreg}{DW\_OP\_breg11} 44}
+\descriptionitemnl{\DWOPbregeleven{} 44}
 Add 44 to the value in register 11 to get the address of an automatic
 variable instance.
 
@@ -1425,7 +1426,7 @@ from where register 54 points.
 A structure member is four bytes from the start of the structure
 instance. The base address is assumed to be already on the stack.
 
-\descriptionitemnl{\livelink{chap:DWOPreg}{DW\_OP\_reg3} \livelink{chap:DWOPpiece}{DW\_OP\_piece} 4 \livelink{chap:DWOPreg}{DW\_OP\_reg10} \livelink{chap:DWOPpiece}{DW\_OP\_piece} 2}
+\descriptionitemnl{\DWOPregthree{} \livelink{chap:DWOPpiece}{DW\_OP\_piece} 4 \DWOPregten{} \livelink{chap:DWOPpiece}{DW\_OP\_piece} 2}
 A variable whose first four bytes reside in register 3 and whose next
 two bytes reside in register 10.
 
@@ -1435,14 +1436,14 @@ whose middle four bytes are unavailable (perhaps due to optimization),
 and whose last four bytes are in memory, 12 bytes before the frame
 base.
 
-\descriptionitemnl{\livelink{chap:DWOPbreg1}{DW\_OP\_breg1} 0 \livelink{chap:DWOPbreg}{DW\_OP\_breg2} 0 \livelink{chap:DWOPplus}{DW\_OP\_plus} \livelink{chap:DWOPstackvalue}{DW\_OP\_stack\_value} }
+\descriptionitemnl{\DWOPbregone{} 0 \DWOPbregtwo{} 0 \livelink{chap:DWOPplus}{DW\_OP\_plus} \livelink{chap:DWOPstackvalue}{DW\_OP\_stack\_value} }
 Add the contents of r1 and r2 to compute a value. This value is the
 \doublequote{contents} of an otherwise anonymous location.
 
 \needlines{6}
 \descriptionitemnl{\livelink{chap:DWOPlit1}{DW\_OP\_lit1} \livelink{chap:DWOPstackvalue}{DW\_OP\_stack\_value} \livelink{chap:DWOPpiece}{DW\_OP\_piece} 4 }
 \vspace{-0.1\parsep}
-\descriptionitemnl{\livelink{chap:DWOPbreg}{DW\_OP\_breg3} 0 \livelink{chap:DWOPbreg}{DW\_OP\_breg4} 0 \livelink{chap:DWOPplus}{DW\_OP\_plus} \livelink{chap:DWOPstackvalue}{DW\_OP\_stack\_value} \livelink{chap:DWOPpiece}{DW\_OP\_piece} 4}
+\descriptionitemnl{\DWOPbregthree 0 \DWOPbregfour 0 \livelink{chap:DWOPplus}{DW\_OP\_plus} \livelink{chap:DWOPstackvalue}{DW\_OP\_stack\_value} \livelink{chap:DWOPpiece}{DW\_OP\_piece} 4}
 The object value is found in an anonymous (virtual) location whose
 value consists of two parts, given in memory address order: the 4 byte
 value 1 followed by the four byte value computed from the sum of the