Editorial cleanups mostly related to coarrays and assumed rank arrays.
[dwarf-doc.git] / dwarf5 / latexdoc / typeentries.tex
index d406644..bc93fd2 100644 (file)
@@ -596,7 +596,7 @@ attribute
 \addtoindexx{language attribute}
 of the enclosing compilation unit entry) is assumed.
 
-\begin{simplenametable}[1.6in]{Array ordering}{tab:arrayordering}
+\begin{simplenametable}[1.8in]{Array ordering}{tab:arrayordering}
 \livetarg{chap:DWORDcolmajor}{DW\_ORD\_col\_major} \\
 \livetarg{chap:DWORDrowmajor}{DW\_ORD\_row\_major} \\
 \end{simplenametable}
@@ -661,13 +661,17 @@ first, next to leftmost second, and so on).
 be represented by a debugging information entry for a
 multidimensional array.}
 
-\hypertarget{chap:DWTAGgenericsubrange}
-Alternatively, the array dimensions can also be described with the
-\DWTAGgenericsubrange, which contains only a single, generic
-expression describing each of the attributes. If \DWTAGgenericsubrange
-is used, the number dimensions must be stored in the
-\livelink{chap:DWATrank}{DW\_AT\_rank} attribute. See also Section
-\ref{chap:DWATrank}, Dynamic Type Properties: Array Rank.
+Alternatively, for an array with dynamic rank the array dimensions 
+are described by a debugging information entry with the tag
+\livetarg{chap:DWTAGgenericsubrange}{DW\_TAG\_generic\_subrange}.
+This entry has the same attributes as a
+\livelink{DWTAGsubrangetype}{DW\_TAG\_subrange\_type} entry; however,
+there is just one \DWTAGgenericsubrange{} entry and it describes all of the
+dimensions of the array.
+If \DWTAGgenericsubrange{}
+is used, the number of dimensions must be specified using a
+\DWATrankLL{} attribute. See also Section
+\refersec{chap:DWATrank}.
 
 
 \needlines{5}
@@ -693,21 +697,21 @@ indexed using a \doublequote{coindex} or multiple \doublequote{coindices}.
 }
 
 A coarray type is represented by a debugging information entry 
-with the tag \livetarg{chap:DWTAGcoarraytype}{DW\_TAG\_coarray\_type}.
+with the tag \DWTAGcoarraytype.
 If a name has been given to the 
 coarray type in the source, then the corresponding coarray type 
-entry has a \DWATname{} attribute whose value is a null-terminated 
+entry has a \DWATnameLL{} attribute whose value is a null-terminated 
 string containing the array type name as it appears in the source 
 program.
 
-A coarray entry has one or more \DWTAGsubrangetype{} child entries,
-one for each codimension. It also has a \DWATtype{} attribute 
+A coarray entry has one or more \DWTAGsubrangetypeLL{} child entries,
+one for each codimension. It also has a \DWATtypeLL{} attribute 
 describing the type of each element of the coarray.
 
 \textit{In a coarray application, the run-time number of processes in the application
 is part of the coindex calculation.  It is represented in the Fortran source by
 a coindex which is declared with a \doublequote{*} as the upper bound.  To express this
-concept in DWARF, the \DWTAGsubrangetype{} child entry for that index has 
+concept in DWARF, the \DWTAGsubrangetypeLL{} child entry for that index has 
 only a lower bound and no upper bound.}
 
 \textit{How coarray elements are located and how coindices are 
@@ -1958,10 +1962,9 @@ whose value is a null\dash terminated
 string containing the subrange type name as it appears in
 the source program.
 
-The tag
-\livelink{chap:DWTAGgenericsubrange}{DW\_TAG\_generic\_subrange} is
+The tag \DWTAGgenericsubrangeLL is
 used to describe arrays with a dynamic rank. See Section
-\ref{chap:DWTAGgenericsubrange}.
+\refersec{chap:DWTAGgenericsubrange}.
 
 The subrange entry may have 
 \addtoindexx{type attribute}
@@ -2304,21 +2307,25 @@ see Appendix \refersec{app:aggregateexamples}.}
 
 \subsection{Array Rank}
 \label{chap:DWATrank}
-\textit{The Fortran language supports ``assumed-rank arrays''. The
+\addtoindexx{array!assumed-rank}
+\addtoindexx{assumed-rank array|see{array, assumed-rank}}
+\textit{The Fortran language supports \doublequote{assumed-rank arrays}. The
   rank (the number of dimensions) of an assumed-rank array is unknown
   at compile time. The Fortran runtime stores the rank in the array
   descriptor metadata.}
 
-The presence of \DWATrank{} indicates that an array's rank
+The presence of the
+\livetarg{chap:DWATrankofdynamicarray}{DW\_AT\_rank} attribute
+indicates that an array's rank
 (dimensionality) is dynamic, and therefore unknown at compile
-time. \DWATrank{} contains an expression that can be evaluated to look
-up the dynamic rank from the array descriptor.
-
-The dimensions of an array with dynamic rank are described using the
-\DWTAGgenericsubrange{} tag. The \DWTAGgenericsubrange{} tag is the
-dynamic rank array equivalent of
-\livelink{chap:DWTAGsubrangetype}{DW\_TAG\_subrange\_type}. The
-difference is that a \DWTAGgenericsubrange{} contains generic
+time. The value of the \DWATrank{} attribute is either an integer constant
+or a location expression whose evaluation yields the dynamic rank.
+
+The bounds of an array with dynamic rank are described using the
+\DWTAGgenericsubrangeLL{} tag, which  
+is the dynamic rank array equivalent of
+\DWTAGsubrangetypeLL. The
+difference is that a \DWTAGgenericsubrangeLL{} contains generic
 lower/upper bound and stride expressions that need to be evaluated for
 each dimension: Before any expression contained in a
 \DWTAGgenericsubrange{} can be evaluated, the dimension for which the
@@ -2337,7 +2344,7 @@ Dimensions are enumerated $0$ to $\mathit{rank}-1$ in a left-to-right
 fashion.
 
 \textit{For an example in Fortran 2008, see
-  Section~\ref{app:assumedrankexample}.}
+  Section~\refersec{app:assumedrankexample}.}
 
 
 \section{Template Alias Entries}