Added links and targets for
[dwarf-doc.git] / dwarf5 / latexdoc / examples.tex
index fb6356a..c483160 100644 (file)
@@ -50,13 +50,13 @@ Compilation Unit 1: .debug\_info
 DW\-\_LANG\-\_C89
 0x0
 0x55
-DW\-\_FORM\-\_sec\-\_offset
+\livelink{chap:DWFORMsecoffset}{DW\-\_FORM\-\_sec\-\_offset}
 0x0
 \vspace{0.01cm}
 \hrule
 2
 “char”
-DW\-\_ATE\-\_unsigned\-\_char
+\livelink{chap:DWATEunsignedchar}{DW\-\_ATE\-\_unsigned\-\_char}
 1
 \vspace{0.01cm}
 \hrule
@@ -106,38 +106,38 @@ Abbreviation Table: .debug\_abbrev
 \scriptsize
 \begin{alltt}
 \livelink{chap:DWTAGcompileunit}{DW\-\_TAG\-\_compile\-\_unit}
-DW\-\_CHILDREN\-\_yes
-\livelink{chap:DWATname}{DW\-\_AT\-\_name}       DW\-\_FORM\-\_string
-\livelink{chap:DWATproducer}{DW\-\_AT\-\_producer}   DW\-\_FORM\-\_string
-\livelink{chap:DWATcompdir}{DW\-\_AT\-\_comp\-\_dir}   DW\-\_FORM\-\_string
-\livelink{chap:DWATlanguage}{DW\-\_AT\-\_language}   DW\-\_FORM\-\_data1
-\livelink{chap:DWATlowpc}{DW\-\_AT\-\_low\-\_pc}     DW\-\_FORM\-\_addr
-\livelink{chap:DWAThighpc}{DW\-\_AT\-\_high\-\_pc}    DW\-\_FORM\-\_data1
-\livelink{chap:DWATstmtlist}{DW\-\_AT\-\_stmt\-\_list}  DW\-\_FORM\-\_indirect
+\livelink{chap:DWCHILDRENyes}{DW\-\_CHILDREN\-\_yes}
+\livelink{chap:DWATname}{DW\-\_AT\-\_name}       \livelink{chap:DWFORMstring}{DW\-\_FORM\-\_string}
+\livelink{chap:DWATproducer}{DW\-\_AT\-\_producer}   \livelink{chap:DWFORMstring}{DW\-\_FORM\-\_string}
+\livelink{chap:DWATcompdir}{DW\-\_AT\-\_comp\-\_dir}   \livelink{chap:DWFORMstring}{DW\-\_FORM\-\_string}
+\livelink{chap:DWATlanguage}{DW\-\_AT\-\_language}   \livelink{chap:DWFORMdata1}{DW\-\_FORM\-\_data1}
+\livelink{chap:DWATlowpc}{DW\-\_AT\-\_low\-\_pc}     \livelink{chap:DWFORMaddr}{DW\-\_FORM\-\_addr}
+\livelink{chap:DWAThighpc}{DW\-\_AT\-\_high\-\_pc}    \livelink{chap:DWFORMdata1}{DW\-\_FORM\-\_data1}
+\livelink{chap:DWATstmtlist}{DW\-\_AT\-\_stmt\-\_list}  \livelink{chap:DWFORMindirect}{DW\-\_FORM\-\_indirect}
 0                  0
 \vspace{0.01cm}
 \hrule
 2
 \livelink{chap:DWTAGbasetype}{DW\-\_TAG\-\_base\-\_type}
-DW\-\_CHILDREN\-\_no
-\livelink{chap:DWATname}{DW\-\_AT\-\_name}       DW\-\_FORM\-\_string
-\livelink{chap:DWATencoding}{DW\-\_AT\-\_encoding}   DW\-\_FORM\-\_data1
-\livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size}  DW\-\_FORM\-\_data1
+\livelink{chap:DWCHILDRENno}{DW\-\_CHILDREN\-\_no}
+\livelink{chap:DWATname}{DW\-\_AT\-\_name}       \livelink{chap:DWFORMstring}{DW\-\_FORM\-\_string}
+\livelink{chap:DWATencoding}{DW\-\_AT\-\_encoding}   \livelink{chap:DWFORMdata1}{DW\-\_FORM\-\_data1}
+\livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size}  \livelink{chap:DWFORMdata1}{DW\-\_FORM\-\_data1}
 0
 \vspace{0.01cm}
 \hrule
 3
 \livelink{chap:DWTAGpointertype}{DW\-\_TAG\-\_pointer\-\_type}
-DW\-\_CHILDREN\-\_no
-\livelink{chap:DWATtype}{DW\-\_AT\-\_type}       DW\-\_FORM\-\_ref4
+\livelink{chap:DWCHILDRENno}{DW\-\_CHILDREN\-\_no}
+\livelink{chap:DWATtype}{DW\-\_AT\-\_type}       \livelink{chap:DWFORMref4}{DW\-\_FORM\-\_ref4}
 0
 \vspace{0.01cm}
 \hrule
 4
 \livelink{chap:DWTAGtypedef}{DW\-\_TAG\-\_typedef}
-DW\-\_CHILDREN\-\_no
-\livelink{chap:DWATname}{DW\-\_AT\-\_name}      DW\-\_FORM\-\_string
-\livelink{chap:DWATtype}{DW\-\_AT\-\_type}      DW\-\_FORM\-\_ref\-\_addr
+\livelink{chap:DWCHILDRENno}{DW\-\_CHILDREN\-\_no}
+\livelink{chap:DWATname}{DW\-\_AT\-\_name}      \livelink{chap:DWFORMstring}{DW\-\_FORM\-\_string}
+\livelink{chap:DWATtype}{DW\-\_AT\-\_type}      \livelink{chap:DWFORMrefaddr}{DW\-\_FORM\-\_ref\-\_addr}
 0
 \vspace{0.01cm}
 \hrule
@@ -289,36 +289,36 @@ Section \refersec{app:fortran90exampledwarfdescription}.
         ! No name, default (Fortran) ordering, default stride
         \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to REAL)
         \livelink{chap:DWATassociated}{DW\-\_AT\-\_associated}(expression= ! Test 'ptr\_assoc' flag
-            DW\-\_OP\-\_push\-\_object\-\_address
-            DW\-\_OP\-\_lit<n> ! where n == offset(ptr\_assoc)
-            DW\-\_OP\-\_plus
-            DW\-\_OP\-\_deref
-            DW\-\_OP\-\_lit1 ! mask for 'ptr\_assoc' flag
-            DW\-\_OP\-\_and)
+            \livelink{chap:DWOPpushobjectaddress}{DW\-\_OP\-\_push\-\_object\-\_address}
+            \livelink{chap:DWOPlit}{DW\-\_OP\-\_lit}<n> ! 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' flag
+            \livelink{chap:DWOPand}{DW\-\_OP\-\_and})
         \livelink{chap:DWATdatalocation}{DW\-\_AT\-\_data\-\_location}(expression= ! Get raw data address
-            DW\-\_OP\-\_push\-\_object\-\_address
-            DW\-\_OP\-\_lit<n> ! where n == offset(base)
-            DW\-\_OP\-\_plus
-            DW\-\_OP\-\_deref) ! Type of index of array 'ap'
+            \livelink{chap:DWOPpushobjectaddress}{DW\-\_OP\-\_push\-\_object\-\_address}
+            \livelink{chap:DWOPlit}{DW\-\_OP\-\_lit}<n> ! where n == offset(base)
+            \livelink{chap:DWOPplus}{DW\-\_OP\-\_plus}
+            \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=
-        DW\-\_OP\-\_push\-\_object\-\_address
-            DW\-\_OP\-\_lit<n> ! where n ==
+        \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)
-            DW\-\_OP\-\_plus
-            DW\-\_OP\-\_deref)
+            \livelink{chap:DWOPplus}{DW\-\_OP\-\_plus}
+            \livelink{chap:DWOPderef}{DW\-\_OP\-\_deref})
         \livelink{chap:DWATupperbound}{DW\-\_AT\-\_upper\-\_bound}(expression=
-            DW\-\_OP\-\_push\-\_object\-\_address
-            DW\-\_OP\-\_lit<n> ! where n ==
+            \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)
-            DW\-\_OP\-\_plus
-            DW\-\_OP\-\_deref)
+            \livelink{chap:DWOPplus}{DW\-\_OP\-\_plus}
+            \livelink{chap:DWOPderef}{DW\-\_OP\-\_deref})
         !  Note: for the m'th dimension, the second operator becomes
-        !  DW\-\_OP\-\_lit<x> where
+        !  \livelink{chap:DWOPlit}{DW\-\_OP\-\_lit}<x> where
         !  x == offset(desc, dims) +
         !  (m-1)*sizeof(dims\_str) +
         !  offset(dims\_str, [lower|upper]\_bound)
@@ -342,32 +342,32 @@ Section \refersec{app:fortran90exampledwarfdescription}.
         \livelink{chap:DWATtype}{DW\-\_AT\-\_type}(reference to 3\$)
         \livelink{chap:DWATallocated}{DW\-\_AT\-\_allocated}(expression=
              ! Test 'ptr\_alloc' flag
-            DW\-\_OP\-\_push\-\_object\-\_address
-            DW\-\_OP\-\_lit<n> ! where n == offset(ptr\_alloc)
-            DW\-\_OP\-\_plus
-            DW\-\_OP\-\_deref
-            DW\-\_OP\-\_lit2
+            \livelink{chap:DWOPpushobjectaddress}{DW\-\_OP\-\_push\-\_object\-\_address}
+            \livelink{chap:DWOPlit}{DW\-\_OP\-\_lit}<n> ! where n == offset(ptr\_alloc)
+            \livelink{chap:DWOPplus}{DW\-\_OP\-\_plus}
+            \livelink{chap:DWOPderef}{DW\-\_OP\-\_deref}
+            \livetarg{chap:DWOPlit2}{DW\-\_OP\-\_lit2}
              ! mask for 'ptr\_alloc' flag
-            DW\-\_OP\-\_and)
+            \livelink{chap:DWOPand}{DW\-\_OP\-\_and})
         \livelink{chap:DWATdatalocation}{DW\-\_AT\-\_data\-\_location}(expression= ! Get raw data address
-            DW\-\_OP\-\_push\-\_object\-\_address
-            DW\-\_OP\-\_lit<n> ! where n = offset(base)
-            DW\-\_OP\-\_plus
-            DW\-\_OP\-\_deref)
+            \livelink{chap:DWOPpushobjectaddress}{DW\-\_OP\-\_push\-\_object\-\_address}
+            \livelink{chap:DWOPlit}{DW\-\_OP\-\_lit}<n> ! where n = offset(base)
+            \livelink{chap:DWOPplus}{DW\-\_OP\-\_plus}
+            \livelink{chap:DWOPderef}{DW\-\_OP\-\_deref})
 
 7\$: \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=
-            DW\-\_OP\-\_push\-\_object\-\_address
-            DW\-\_OP\-\_lit<n> ! where n == ...
-            DW\-\_OP\-\_plus
-            DW\-\_OP\-\_deref)
+            \livelink{chap:DWOPpushobjectaddress}{DW\-\_OP\-\_push\-\_object\-\_address}
+            \livelink{chap:DWOPlit}{DW\-\_OP\-\_lit}<n> ! where n == ...
+            \livelink{chap:DWOPplus}{DW\-\_OP\-\_plus}
+            \livelink{chap:DWOPderef}{DW\-\_OP\-\_deref})
         \livelink{chap:DWATupperbound}{DW\-\_AT\-\_upper\-\_bound}(expression=
-            DW\-\_OP\-\_push\-\_object\-\_address
-            DW\-\_OP\-\_lit<n> ! where n == ...
-            DW\-\_OP\-\_plus
-            DW\-\_OP\-\_deref)
+            \livelink{chap:DWOPpushobjectaddress}{DW\-\_OP\-\_push\-\_object\-\_address}
+            \livelink{chap:DWOPlit}{DW\-\_OP\-\_lit}<n> ! where n == ...
+            \livelink{chap:DWOPplus}{DW\-\_OP\-\_plus}
+            \livelink{chap:DWOPderef}{DW\-\_OP\-\_deref})
 
 8\$: \livelink{chap:DWTAGvariable}{DW\-\_TAG\-\_variable}
         \livelink{chap:DWATname}{DW\-\_AT\-\_name}("arrays")
@@ -423,7 +423,7 @@ be the same as the address from step 1.)
 For b), for each dimension of the array (only one
 in this case), go interpret the usual lower bound
 attribute. Again this is an expression, which again begins
-with DW\-\_OP\-\_push\-\_object\-\_address. This object is 
+with \livelink{chap:DWOPpushobjectaddress}{DW\-\_OP\-\_push\-\_object\-\_address}. This object is 
 \textbf{still} arrays,
 from step 1, because we have not begun to actually perform
 any indexing yet.
@@ -469,7 +469,7 @@ This is just like step 2), so the details are omitted. Recall
 that because the DWARF type 1\$ has a \livelink{chap:DWATdatalocation}{DW\-\_AT\-\_data\-\_location},
 the address that results from step 4) is that of a
 descriptor, and that address is the address pushed by the
-DW\-\_OP\-\_push\-\_object\-\_address operations in 1\$ and 2\$.
+\livelink{chap:DWOPpushobjectaddress}{DW\-\_OP\-\_push\-\_object\-\_address} operations in 1\$ and 2\$.
 
 Note: we happen to be accessing a pointer array here instead
 of an allocatable array; but because there is a common
@@ -593,8 +593,8 @@ of this example and therefore 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=
-                DW\-\_OP\-\_lit<n> ! where n == offset(REC2, VEC2)
-                DW\-\_OP\-\_plus)
+                \livelink{chap:DWOPlit}{DW\-\_OP\-\_lit}<n> ! where n == offset(REC2, VEC2)
+                \livelink{chap:DWOPplus}{DW\-\_OP\-\_plus})
       . . .
 41\$: \livelink{chap:DWTAGvariable}{DW\-\_TAG\-\_variable}
         \livelink{chap:DWATname}{DW\-\_AT\-\_name}("OBJ2B")
@@ -1167,19 +1167,19 @@ cie+11&0&segment size    \\
 cie+12&4&code\_alignment\_factor, \textless caf \textgreater    \\
 cie+13&-4&data\_alignment\_factor, \textless daf \textgreater    \\
 cie+14&8&R8 is the return addr.    \\
-cie+15&DW\-\_CFA\-\_def\-\_cfa (7, 0)&CFA = [R7]+0    \\
-cie+18&DW\-\_CFA\-\_same\-\_value (0)&R0 not modified (=0)    \\
-cie+20&DW\-\_CFA\-\_undefined (1)&R1 scratch    \\
-cie+22&DW\-\_CFA\-\_undefined (2)&R2 scratch    \\
-cie+24&DW\-\_CFA\-\_undefined (3)&R3 scratch    \\
-cie+26&DW\-\_CFA\-\_same\-\_value (4)&R4 preserve    \\
-cie+28&DW\-\_CFA\-\_same\-\_value (5)&R5 preserve    \\
-cie+30&DW\-\_CFA\-\_same\-\_value (6)&R6 preserve    \\
-cie+32&DW\-\_CFA\-\_same\-\_value (7)&R7 preserve    \\
-cie+34&DW\-\_CFA\-\_register (8, 1)&R8 is in R1    \\
-cie+37&DW\-\_CFA\-\_nop&padding    \\
-cie+38&DW\-\_CFA\-\_nop& padding \\
-cie+39& DW\-\_CFA\-\_nop&padding  \\
+cie+15&\livelink{chap:DWCFAdefcfa}{DW\-\_CFA\-\_def\-\_cfa} (7, 0)&CFA = [R7]+0    \\
+cie+18&\livelink{chap:DWCFAsamevalue}{DW\-\_CFA\-\_same\-\_value} (0)&R0 not modified (=0)    \\
+cie+20&\livelink{chap:DWCFAundefined}{DW\-\_CFA\-\_undefined} (1)&R1 scratch    \\
+cie+22&\livelink{chap:DWCFAundefined}{DW\-\_CFA\-\_undefined} (2)&R2 scratch    \\
+cie+24&\livelink{chap:DWCFAundefined}{DW\-\_CFA\-\_undefined} (3)&R3 scratch    \\
+cie+26&\livelink{chap:DWCFAsamevalue}{DW\-\_CFA\-\_same\-\_value} (4)&R4 preserve    \\
+cie+28&\livelink{chap:DWCFAsamevalue}{DW\-\_CFA\-\_same\-\_value} (5)&R5 preserve    \\
+cie+30&\livelink{chap:DWCFAsamevalue}{DW\-\_CFA\-\_same\-\_value} (6)&R6 preserve    \\
+cie+32&\livelink{chap:DWCFAsamevalue}{DW\-\_CFA\-\_same\-\_value} (7)&R7 preserve    \\
+cie+34&\livelink{chap:DWCFAregister}{DW\-\_CFA\-\_register} (8, 1)&R8 is in R1    \\
+cie+37&\livelink{chap:DWCFAnop}{DW\-\_CFA\-\_nop}&padding    \\
+cie+38&\livelink{chap:DWCFAnop}{DW\-\_CFA\-\_nop}& padding \\
+cie+39& \livelink{chap:DWCFAnop}{DW\-\_CFA\-\_nop}&padding  \\
 cie+40 &&  \\
 \end{longtable}
 \end{centering}
@@ -1211,27 +1211,27 @@ fde&40&length \\
 fde+4&cie&CIE\_ptr \\
 fde+8&foo&initial\_location \\
 fde+12&84&address\_range \\
-fde+16&DW\-\_CFA\-\_advance\-\_loc(1)&instructions \\
-fde+17&DW\-\_CFA\-\_def\-\_cfa\-\_offset(12)& \textless fs \textgreater \\
-fde+19&DW\-\_CFA\-\_advance\-\_loc(1)&4/ \textless caf \textgreater \\
-fde+20&DW\-\_CFA\-\_offset(8,1)&-4/ \textless daf \textgreater (second parameter) \\
-fde+22&DW\-\_CFA\-\_advance\-\_loc(1)& \\
-fde+23&DW\-\_CFA\-\_offset(6,2)&-8/ \textless daf> \textgreater (2nd parameter)  \\
-fde+25&DW\-\_CFA\-\_advance\-\_loc(1) & \\
-fde+26&DW\-\_CFA\-\_def\-\_cfa\-\_register(6) & \\
-fde+28&DW\-\_CFA\-\_advance\-\_loc(1) & \\
-fde+29&DW\-\_CFA\-\_offset(4,3)&-12/ \textless daf \textgreater (2nd parameter) \\
-fde+31&DW\-\_CFA\-\_advance\-\_loc(12)&44/ \textless caf \textgreater \\
-fde+32&DW\-\_CFA\-\_restore(4)& \\
-fde+33&DW\-\_CFA\-\_advance\-\_loc(1) & \\
-fde+34&DW\-\_CFA\-\_restore(6) & \\
-fde+35&DW\-\_CFA\-\_def\-\_cfa\-\_register(7)  & \\
-fde+37&DW\-\_CFA\-\_advance\-\_loc(1) & \\
-fde+38&DW\-\_CFA\-\_restore(8) &\\
-fde+39&DW\-\_CFA\-\_advance\-\_loc(1) &\\
-fde+40&DW\-\_CFA\-\_def\-\_cfa\-\_offset(0)  &\\
-fde+42&DW\-\_CFA\-\_nop&padding \\
-fde+43&DW\-\_CFA\-\_nop&padding \\
+fde+16&\livelink{chap:DWCFAadvanceloc}{DW\-\_CFA\-\_advance\-\_loc}(1)&instructions \\
+fde+17&\livelink{chap:DWCFAdefcfaoffset}{DW\-\_CFA\-\_def\-\_cfa\-\_offset}(12)& \textless fs \textgreater \\
+fde+19&\livelink{chap:DWCFAadvanceloc}{DW\-\_CFA\-\_advance\-\_loc}(1)&4/ \textless caf \textgreater \\
+fde+20&\livelink{chap:DWCFAoffset}{DW\-\_CFA\-\_offset}(8,1)&-4/ \textless daf \textgreater (second parameter) \\
+fde+22&\livelink{chap:DWCFAadvanceloc}{DW\-\_CFA\-\_advance\-\_loc}(1)& \\
+fde+23&\livelink{chap:DWCFAoffset}{DW\-\_CFA\-\_offset}(6,2)&-8/ \textless daf> \textgreater (2nd parameter)  \\
+fde+25&\livelink{chap:DWCFAadvanceloc}{DW\-\_CFA\-\_advance\-\_loc}(1) & \\
+fde+26&\livelink{chap:DWCFAdefcfaregister}{DW\-\_CFA\-\_def\-\_cfa\-\_register}(6) & \\
+fde+28&\livelink{chap:DWCFAadvanceloc}{DW\-\_CFA\-\_advance\-\_loc}(1) & \\
+fde+29&\livelink{chap:DWCFAoffset}{DW\-\_CFA\-\_offset}(4,3)&-12/ \textless daf \textgreater (2nd parameter) \\
+fde+31&\livelink{chap:DWCFAadvanceloc}{DW\-\_CFA\-\_advance\-\_loc}(12)&44/ \textless caf \textgreater \\
+fde+32&\livelink{chap:DWCFArestore}{DW\-\_CFA\-\_restore}(4)& \\
+fde+33&\livelink{chap:DWCFAadvanceloc}{DW\-\_CFA\-\_advance\-\_loc}(1) & \\
+fde+34&\livelink{chap:DWCFArestore}{DW\-\_CFA\-\_restore}(6) & \\
+fde+35&\livelink{chap:DWCFAdefcfaregister}{DW\-\_CFA\-\_def\-\_cfa\-\_register}(7)  & \\
+fde+37&\livelink{chap:DWCFAadvanceloc}{DW\-\_CFA\-\_advance\-\_loc}(1) & \\
+fde+38&\livelink{chap:DWCFArestore}{DW\-\_CFA\-\_restore}(8) &\\
+fde+39&\livelink{chap:DWCFAadvanceloc}{DW\-\_CFA\-\_advance\-\_loc}(1) &\\
+fde+40&\livelink{chap:DWCFAdefcfaoffset}{DW\-\_CFA\-\_def\-\_cfa\-\_offset}(0)  &\\
+fde+42&\livelink{chap:DWCFAnop}{DW\-\_CFA\-\_nop}&padding \\
+fde+43&\livelink{chap:DWCFAnop}{DW\-\_CFA\-\_nop}&padding \\
 fde+44 && \\
 \end{longtable}
 \end{centering}
@@ -1792,11 +1792,11 @@ char32_t chr_b = U'h';
 !
 1\$: \livelink{chap:DWTAGbasetype}{DW\-\_TAG\-\_base\-\_type}
         \livelink{chap:DWATname}{DW\-\_AT\-\_name}("char16\_t")
-        \livelink{chap:DWATencoding}{DW\-\_AT\-\_encoding}(DW\-\_ATE\-\_UTF)
+        \livelink{chap:DWATencoding}{DW\-\_AT\-\_encoding}(\livelink{chap:DWATEUTF}{DW\-\_ATE\-\_UTF})
         \livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size}(2)
 2\$: \livelink{chap:DWTAGbasetype}{DW\-\_TAG\-\_base\-\_type}
         \livelink{chap:DWATname}{DW\-\_AT\-\_name}("char32\_t")
-        \livelink{chap:DWATencoding}{DW\-\_AT\-\_encoding}(DW\-\_ATE\-\_UTF)
+        \livelink{chap:DWATencoding}{DW\-\_AT\-\_encoding}(\livelink{chap:DWATEUTF}{DW\-\_ATE\-\_UTF})
         \livelink{chap:DWATbytesize}{DW\-\_AT\-\_byte\-\_size}(4)
 3\$: \livelink{chap:DWTAGvariable}{DW\-\_TAG\-\_variable}
         \livelink{chap:DWATname}{DW\-\_AT\-\_name}("chr\_a")