manually fix n1570.html, fix x^y in cpow for n1256.html
[c-standard] / n1256.txt
index 2411f4d..7ea055b 100644 (file)
--- a/n1256.txt
+++ b/n1256.txt
@@ -1,4 +1,4 @@
-WG14/N1256                Committee Draft -- Septermber 7.2007                   ISO/IEC 9899:TC3
+WG14/N1256                Committee Draft -- Septermber 72007                   ISO/IEC 9899:TC3
 
 
 Contents
@@ -42,7 +42,6 @@ Introduction     . . . . . . . . . . . . . . . . . . . . . . . . . . . .
         6.4.9 Comments         . . . . . . . . .         .   .   .   .   .   .    .   .   .   .   .   .   66
    6.5 Expressions     . . . . . . . . . . . .           .   .   .   .   .   .    .   .   .   .   .   .   67
 
-
 [page iii]
 
           6.5.1   Primary expressions      . . .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    69
@@ -306,13 +305,9 @@ Annex J (informative) Portability issues      . . . .         .   .   .   .   .
 Bibliography      . . . . . . . . . . . . . . . . . . . . . . . . . . . 516
 Index     . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519
 
-
-
-
 [page ix]
 
 
-
 [page x]
 
     Foreword
@@ -353,7 +348,6 @@ Index     . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519
     -- type-generic math macros in <tgmath.h>
     -- the long long int type and library functions
 
-
 [page xi]
 
 -- increased minimum translation limits
@@ -388,7 +382,6 @@ Index     . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519
 -- idempotent type qualifiers
 -- empty macro arguments
 
-
 [page xii]
 
     -- new structure type compatibility rules (tag compatibility)
@@ -411,9 +404,6 @@ Index     . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519
     ISO/IEC Directives, this foreword, the introduction, notes, footnotes, and examples are
     also for information only.
 
-
-
-
 [page xiii]
 
     Introduction
@@ -440,9 +430,6 @@ Index     . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519
 5   The language clause (clause 6) is derived from ''The C Reference Manual''.
 6   The library clause (clause 7) is based on the 1984 /usr/group Standard.
 
-
-
-
 [page xiv]
 
 
@@ -504,9 +491,6 @@ Index     . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519
 8   IEC 60559:1989, Binary floating-point arithmetic for microprocessor systems (previously
     designated IEC 559:1989).
 
-
-
-
 [page 2]
 
 
@@ -551,7 +535,6 @@ Index     . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519
     behavior that depends on local conventions of nationality, culture, and language that each
     implementation documents
 
-
 [page 3]
 
 2   EXAMPLE An example of locale-specific behavior is whether the islower function returns true for
@@ -600,6 +583,7 @@ Index     . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519
 1   character
     single-byte character
     <C> bit representation that fits in a byte
+
 [page 4]
 
     3.7.2
@@ -681,9 +665,6 @@ Index     . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519
     floor of x: the greatest integer less than or equal to x
 2   EXAMPLE       ???2.4??? is 2, ???-2.4??? is -3.
 
-
-
-
 [page 6]
 
 
@@ -994,9 +975,6 @@ preprocessing directives (6.10), trigraph sequences (5.2.1.1), external definiti
      that the result would be the same as if it were executed using double-precision arithmetic (for example, if d
      were replaced by the constant 2.0, which has type double).
 
-
-
-
 [page 14]
 
 12   EXAMPLE 4 Implementations employing wide registers have to take care to honor appropriate
@@ -1044,9 +1022,6 @@ preprocessing directives (6.10), trigraph sequences (5.2.1.1), external definiti
      above expression statement can be rewritten by the implementation in any of the above ways because the
      same result will occur.
 
-
-
-
 [page 15]
 
 15   EXAMPLE 7 The grouping of an expression does not completely determine its evaluation. In the
@@ -1065,9 +1040,6 @@ preprocessing directives (6.10), trigraph sequences (5.2.1.1), external definiti
      Forward references: expressions (6.5), type qualifiers (6.7.3), statements (6.8), the
      signal function (7.14), files (7.19.3).
 
-
-
-
 [page 16]
 
     5.2 Environmental considerations
@@ -1185,6 +1157,7 @@ preprocessing directives (6.10), trigraph sequences (5.2.1.1), external definiti
        tabulation position, the behavior of the display device is unspecified.
     \v (vertical tab) Moves the active position to the initial position of the next vertical
         tabulation position. If the active position is at or past the last defined vertical
+
 [page 19]
 
          tabulation position, the behavior of the display device is unspecified.
@@ -1295,7 +1268,6 @@ preprocessing directives (6.10), trigraph sequences (5.2.1.1), external definiti
 -- maximum value for an object of type unsigned long int
   ULONG_MAX                         4294967295 // 232 - 1
 
-
 [page 22]
 
     -- minimum value for an object of type long long int
@@ -1461,6 +1433,7 @@ preprocessing directives (6.10), trigraph sequences (5.2.1.1), external definiti
      implementation-defined (positive) values that are less than or equal to those shown:
      -- the difference between 1 and the least value greater than 1 that is representable in the
         given floating point type, b1- p
+
 [page 26]
 
          FLT_EPSILON                                         1E-5
@@ -1547,9 +1520,6 @@ Forward references:        conditional inclusion (6.10.1), complex arithmetic
 (7.24), floating-point environment <fenv.h> (7.6), general utilities <stdlib.h>
 (7.20), input/output <stdio.h> (7.19), mathematics <math.h> (7.12).
 
-
-
-
 [page 28]
 
 
@@ -1589,6 +1559,7 @@ Forward references:        conditional inclusion (6.10.1), complex arithmetic
     declares the identifier appears inside a block or within the list of parameter declarations in
     a function definition, the identifier has block scope, which terminates at the end of the
     associated block. If the declarator or type specifier that declares the identifier appears
+
 [page 29]
 
     within the list of parameter declarations in a function prototype (not part of a function
@@ -2051,9 +2022,6 @@ Forward references:        conditional inclusion (6.10.1), complex arithmetic
     The resulting composite type for the function is:
              int f(int (*)(char *), double (*)[3]);
 
-
-
-
 [page 41]
 
     6.3 Conversions
@@ -2300,9 +2268,6 @@ Forward references:        conditional inclusion (6.10.1), complex arithmetic
     Forward references: cast operators (6.5.4), equality operators (6.5.9), integer types
     capable of holding object pointers (7.18.1.4), simple assignment (6.5.16.1).
 
-
-
-
 [page 48]
 
     6.4 Lexical elements
@@ -2530,15 +2495,12 @@ Forward references:        conditional inclusion (6.10.1), complex arithmetic
                    hexadecimal-prefix hexadecimal-digit
                    hexadecimal-constant hexadecimal-digit
              hexadecimal-prefix: one of
-                   0.0X
+                   00X
              nonzero-digit: one of
                     1 2 3 4          5     6     7   8    9
              octal-digit: one of
                      0 1 2 3         4     5     6   7
 
-
-
-
 [page 54]
 
            hexadecimal-digit:   one of
@@ -2570,9 +2532,6 @@ Forward references:        conditional inclusion (6.10.1), complex arithmetic
 5   The type of an integer constant is the first of the corresponding list in which its value can
     be represented.
 
-
-
-
 [page 55]
 
                                                                      Octal or Hexadecimal
@@ -2610,9 +2569,6 @@ Forward references:        conditional inclusion (6.10.1), complex arithmetic
     may be signed or unsigned. If an integer constant cannot be represented by any type in
     its list and has no extended integer type, then the integer constant has no type.
 
-
-
-
 [page 56]
 
     6.4.4.2 Floating constants
@@ -2730,8 +2686,6 @@ Forward references:        conditional inclusion (6.10.1), complex arithmetic
                    \x hexadecimal-digit
                    hexadecimal-escape-sequence hexadecimal-digit
 
-
-
 [page 59]
 
     Description
@@ -2819,9 +2773,6 @@ Forward references:        conditional inclusion (6.10.1), complex arithmetic
      Forward references: common definitions <stddef.h> (7.17), the mbtowc function
      (7.20.7.2).
 
-
-
-
 [page 61]
 
     6.4.5 String literals
@@ -2895,9 +2846,6 @@ Forward references:        conditional inclusion (6.10.1), complex arithmetic
     in which case it is known as an operator (other forms of operator also exist in some
     contexts). An operand is an entity on which an operator acts.
 
-
-
-
 [page 63]
 
 3   In all aspects of the language, the six tokens67)
@@ -3164,9 +3112,6 @@ Forward references:        conditional inclusion (6.10.1), complex arithmetic
     Forward references: additive operators (6.5.6), address and indirection operators
     (6.5.3.2), array declarators (6.7.5.2).
 
-
-
-
 [page 70]
 
     6.5.2.2 Function calls
@@ -3247,9 +3192,6 @@ Forward references:        conditional inclusion (6.10.1), complex arithmetic
      structure'' or ''pointer to qualified or unqualified union'', and the second operand shall
      name a member of the type pointed to.
 
-
-
-
 [page 72]
 
     Semantics
@@ -3339,9 +3281,6 @@ Forward references:        conditional inclusion (6.10.1), complex arithmetic
     Forward references: address and indirection operators (6.5.3.2), structure and union
     specifiers (6.7.2.1).
 
-
-
-
 [page 74]
 
     6.5.2.4 Postfix increment and decrement operators
@@ -3392,7 +3331,7 @@ Forward references:        conditional inclusion (6.10.1), complex arithmetic
 8    String literals, and compound literals with const-qualified types, need not designate
      distinct objects.86)
 9    EXAMPLE 1       The file scope definition
-              int *p = (int []){2.4};
+              int *p = (int []){24};
      initializes p to point to the first element of an array of two ints, the first having the value two and the
      second, four. The expressions in this compound literal are required to be constant. The unnamed object
      has static storage duration.
@@ -3418,7 +3357,7 @@ Forward references:        conditional inclusion (6.10.1), complex arithmetic
                     &(struct point){.x=3, .y=4});
 
 12   EXAMPLE 4       A read-only compound literal can be specified through constructions like:
-              (const float []){1e0.1e1.1e2.1e3.1e4.1e5.1e6}
+              (const float []){1e0, 1e1, 1e2, 1e3, 1e4, 1e5, 1e6}
 
 
 
@@ -3467,9 +3406,6 @@ Forward references:        conditional inclusion (6.10.1), complex arithmetic
 
      Forward references: type names (6.7.6), initialization (6.7.8).
 
-
-
-
 [page 77]
 
     6.5.3 Unary operators
@@ -3535,7 +3471,7 @@ Forward references:        conditional inclusion (6.10.1), complex arithmetic
     promoted type. If the promoted type is an unsigned type, the expression ~E is equivalent
     to the maximum value representable in that type minus E.
 5   The result of the logical negation operator ! is 0 if the value of its operand compares
-    unequal to 0.1 if the value of its operand compares equal to 0. The result has type int.
+    unequal to 01 if the value of its operand compares equal to 0. The result has type int.
     The expression !E is equivalent to (0==E).
 
 
@@ -3709,6 +3645,7 @@ Forward references:        conditional inclusion (6.10.1), complex arithmetic
     object of type ptrdiff_t. Moreover, if the expression P points either to an element of
     an array object or one past the last element of an array object, and the expression Q points
     to the last element of the same array object, the expression ((Q)+1)-(P) has the same
+
 [page 83]
 
      value as ((Q)-(P))+1 and as -((P)-((Q)+1)), and has the value zero if the
@@ -3896,9 +3833,6 @@ Forward references:        conditional inclusion (6.10.1), complex arithmetic
     the result is set if and only if at least one of the corresponding bits in the converted
     operands is set).
 
-
-
-
 [page 88]
 
     6.5.13 Logical AND operator
@@ -3928,9 +3862,6 @@ Forward references:        conditional inclusion (6.10.1), complex arithmetic
     a sequence point after the evaluation of the first operand. If the first operand compares
     unequal to 0, the second operand is not evaluated.
 
-
-
-
 [page 89]
 
     6.5.15 Conditional operator
@@ -4011,7 +3942,6 @@ Forward references:        conditional inclusion (6.10.1), complex arithmetic
     the result of an assignment operator or to access it after the next sequence point, the
     behavior is undefined.
 
-
 [page 91]
 
     6.5.16.1 Simple assignment
@@ -4089,9 +4019,6 @@ Forward references:        conditional inclusion (6.10.1), complex arithmetic
 3   A compound assignment of the form E1 op = E2 differs from the simple assignment
     expression E1 = E1 op (E2) only in that the lvalue E1 is evaluated only once.
 
-
-
-
 [page 93]
 
     6.5.17 Comma operator
@@ -4303,7 +4230,6 @@ Forward references:        conditional inclusion (6.10.1), complex arithmetic
     -- unsigned short, or unsigned short int
     -- int, signed, or signed int
 
-
 [page 99]
 
     -- unsigned, or unsigned int
@@ -4377,7 +4303,6 @@ Forward references:        conditional inclusion (6.10.1), complex arithmetic
 4   A bit-field shall have a type that is a qualified or unqualified version of _Bool, signed
     int, unsigned int, or some other implementation-defined type.
 
-
 [page 101]
 
      Semantics
@@ -4458,9 +4383,6 @@ Forward references:        conditional inclusion (6.10.1), complex arithmetic
      not be the same).
 18   Following the above declaration:
 
-
-
-
 [page 103]
 
               struct s t1 = { 0 };                        //   valid
@@ -4555,7 +4477,7 @@ Forward references:        conditional inclusion (6.10.1), complex arithmetic
             if (*cp != burgundy)
                   /* ... */
     makes hue the tag of an enumeration, and then declares col as an object that has that type and cp as a
-    pointer to an object that has that type. The enumerated values are in the set { 0.1, 20.21 }.
+    pointer to an object that has that type. The enumerated values are in the set { 0, 1, 20, 21 }.
 
     Forward references: tags (6.7.2.3).
     6.7.2.3 Tags
@@ -4724,7 +4646,7 @@ Forward references:        conditional inclusion (6.10.1), complex arithmetic
              const struct s { int mem; } cs = { 1 };
              struct s ncs; // the object ncs is modifiable
              typedef int A[2][3];
-             const A a = {{4.5, 6}, {7.8, 9}}; // array of array of const int
+             const A a = {{4, 5, 6}, {7, 8, 9}}; // array of array of const int
              int *pi;
              const int *pci;
              ncs = cs;             //   valid
@@ -4808,9 +4730,6 @@ Forward references:        conditional inclusion (6.10.1), complex arithmetic
      function call and an equivalent nested block. With one exception, only ''outer-to-inner'' assignments
      between restricted pointers declared in nested blocks have defined behavior.
 
-
-
-
 [page 111]
 
               {
@@ -4855,6 +4774,7 @@ Forward references:        conditional inclusion (6.10.1), complex arithmetic
      implementation-defined.121)
 6    Any function with internal linkage can be an inline function. For a function with external
      linkage, the following restrictions apply: If a function is declared with an inline
+
 [page 112]
 
     function specifier, then it shall also be defined in the same translation unit. If all of the
@@ -4942,6 +4862,7 @@ Forward references:        conditional inclusion (6.10.1), complex arithmetic
     scope, storage duration, and type indicated by the declaration specifiers.
 3   A full declarator is a declarator that is not part of another declarator. The end of a full
     declarator is a sequence point. If, in the nested sequence of declarators in a full
+
 [page 114]
 
     declarator, there is a declarator specifying a variable length array type, the type specified
@@ -4977,9 +4898,6 @@ Forward references:        conditional inclusion (6.10.1), complex arithmetic
 3   EXAMPLE The following pair of declarations demonstrates the difference between a ''variable pointer
     to a constant value'' and a ''constant pointer to a variable value''.
 
-
-
-
 [page 115]
 
              const int *ptr_to_constant;
@@ -5194,9 +5112,6 @@ Forward references:        conditional inclusion (6.10.1), complex arithmetic
      The pointer returned by fpfi points to a function that has one int parameter and accepts zero or more
      additional arguments of any type.
 
-
-
-
 [page 120]
 
 20   EXAMPLE 4        The following prototype has a variably modified parameter.
@@ -5205,7 +5120,7 @@ Forward references:        conditional inclusion (6.10.1), complex arithmetic
                int main()
                {
                      double b[4][308];
-                     addscalar(4.2, b, 2.17);
+                     addscalar(42, b, 2.17);
                      return 0;
                }
                void addscalar(int n, int m,
@@ -5232,9 +5147,6 @@ Forward references:        conditional inclusion (6.10.1), complex arithmetic
 
      Forward references: function definitions (6.9.1), type names (6.7.6).
 
-
-
-
 [page 121]
 
     6.7.6 Type names
@@ -5320,9 +5232,6 @@ Forward references:        conditional inclusion (6.10.1), complex arithmetic
     type t1 and the type pointed to by tp1 are compatible. Type t1 is also compatible with type struct
     s1, but not compatible with the types struct s2, t2, the type pointed to by tp2, or int.
 
-
-
-
 [page 123]
 
 6   EXAMPLE 3       The following obscure constructions
@@ -5334,9 +5243,9 @@ Forward references:        conditional inclusion (6.10.1), complex arithmetic
                   plain r:5;
             };
     declare a typedef name t with type signed int, a typedef name plain with type int, and a structure
-    with three bit-field members, one named t that contains values in the range [0.15], an unnamed const-
+    with three bit-field members, one named t that contains values in the range [015], an unnamed const-
     qualified bit-field which (if it could be accessed) would contain values in either the range [-15, +15] or
-    [-16, +15], and one named r that contains values in one of the ranges [0.31], [-15, +15], or [-16, +15].
+    [-16, +15], and one named r that contains values in one of the ranges [031], [-15, +15], or [-16, +15].
     (The choice of range is implementation-defined.) The first two bit-field declarations differ in that
     unsigned is a type specifier (which forces t to be the name of a structure member), while const is a
     type qualifier (which modifies t which is still visible as a typedef name). If these declarations are followed
@@ -5367,9 +5276,6 @@ Forward references:        conditional inclusion (6.10.1), complex arithmetic
                         a[i-1] = b[i];
             }
 
-
-
-
 [page 124]
 
     6.7.8 Initialization
@@ -5407,6 +5313,7 @@ Forward references:        conditional inclusion (6.10.1), complex arithmetic
              . identifier
     then the current object (defined below) shall have structure or union type and the
     identifier shall be the name of a member of that type.
+
 [page 125]
 
      Semantics
@@ -5445,6 +5352,7 @@ Forward references:        conditional inclusion (6.10.1), complex arithmetic
 17   Each brace-enclosed initializer list has an associated current object. When no
      designations are present, subobjects of the current object are initialized in order according
      to the type of the current object: array elements in increasing subscript order, structure
+
 [page 126]
 
      members in declaration order, and the first named member of a union.129) In contrast, a
@@ -5498,22 +5406,22 @@ Forward references:        conditional inclusion (6.10.1), complex arithmetic
      define and initialize i with the value 3 and c with the value 5.0 + i3.0.
 
 25   EXAMPLE 2 The declaration
-              int x[] = { 1.3, 5 };
+              int x[] = { 13, 5 };
      defines and initializes x as a one-dimensional array object that has three elements, as no size was specified
      and there are three initializers.
 
 26   EXAMPLE 3       The declaration
               int y[4][3] =         {
-                    { 1.3,         5 },
-                    { 2.4,         6 },
-                    { 3.5,         7 },
+                    { 13,         5 },
+                    { 24,         6 },
+                    { 35,         7 },
               };
-     is a definition with a fully bracketed initialization: 1.3, and 5 initialize the first row of y (the array object
+     is a definition with a fully bracketed initialization: 13, and 5 initialize the first row of y (the array object
      y[0]), namely y[0][0], y[0][1], and y[0][2]. Likewise the next two lines initialize y[1] and
      y[2]. The initializer ends early, so y[3] is initialized with zeros. Precisely the same effect could have
      been achieved by
               int y[4][3] = {
-                    1.3, 5.2, 4.6, 3.5, 7
+                    1, 3, 5, 2, 4, 6, 3, 5, 7
               };
      The initializer for y[0] does not begin with a left brace, so three items from the list are used. Likewise the
      next three are taken successively for y[1] and y[2].
@@ -5539,11 +5447,11 @@ Forward references:        conditional inclusion (6.10.1), complex arithmetic
 29   EXAMPLE 6         The declaration
                short q[4][3][2] = {
                      { 1 },
-                     { 2.3 },
-                     { 4.5, 6 }
+                     { 23 },
+                     { 45, 6 }
                };
      contains an incompletely but consistently bracketed initialization. It defines a three-dimensional array
-     object: q[0][0][0] is 1, q[1][0][0] is 2, q[1][0][1] is 3, and 4.5, and 6 initialize
+     object: q[0][0][0] is 1, q[1][0][0] is 2, q[1][0][1] is 3, and 45, and 6 initialize
      q[2][0][0], q[2][0][1], and q[2][1][0], respectively; all the rest are zero. The initializer for
      q[0][0] does not begin with a left brace, so up to six items from the current list may be used. There is
      only one, so the values for the remaining five elements are initialized with zero. Likewise, the initializers
@@ -5551,9 +5459,9 @@ Forward references:        conditional inclusion (6.10.1), complex arithmetic
      respective two-dimensional subaggregates. If there had been more than six items in any of the lists, a
      diagnostic message would have been issued. The same initialization result could have been achieved by:
                short q[4][3][2] = {
-                     1.0, 0.0, 0.0,
-                     2.3, 0.0, 0.0,
-                     4.5, 6
+                     1, 0, 0, 0, 0, 0,
+                     2, 3, 0, 0, 0, 0,
+                     45, 6
                };
      or by:
                short q[4][3][2] = {
@@ -5561,10 +5469,10 @@ Forward references:        conditional inclusion (6.10.1), complex arithmetic
                            { 1 },
                      },
                      {
-                           { 2.3 },
+                           { 23 },
                      },
                      {
-                           { 4.5 },
+                           { 45 },
                            { 6 },
                      }
                };
@@ -5576,13 +5484,11 @@ Forward references:        conditional inclusion (6.10.1), complex arithmetic
      declaration
                typedef int A[];          // OK - declared with block scope
      the declaration
-               A a = { 1.2 }, b = { 3.4, 5 };
+               A a = { 1, 2 }, b = { 3, 4, 5 };
      is identical to
-               int a[] = { 1.2 }, b[] = { 3.4, 5 };
+               int a[] = { 1, 2 }, b[] = { 3, 4, 5 };
      due to the rules for incomplete types.
 
-
-
 [page 129]
 
 32   EXAMPLE 8       The declaration
@@ -5615,7 +5521,7 @@ Forward references:        conditional inclusion (6.10.1), complex arithmetic
 
 36   EXAMPLE 12       Space can be ''allocated'' from both ends of an array by using a single designator:
               int a[MAX] = {
-                    1.3, 5.7, 9, [MAX-5] = 8.6, 4.2, 0
+                    1, 3, 5, 7, 9, [MAX-5] = 8, 6, 4, 2, 0
               };
 37   In the above, if MAX is greater than ten, there will be some zero-valued elements in the middle; if it is less
      than ten, some of the values provided by the first five initializers will be overridden by the second five.
@@ -5625,9 +5531,6 @@ Forward references:        conditional inclusion (6.10.1), complex arithmetic
 
      Forward references: common definitions <stddef.h> (7.17).
 
-
-
-
 [page 130]
 
     6.8 Statements and blocks
@@ -5666,7 +5569,6 @@ Forward references:        conditional inclusion (6.10.1), complex arithmetic
 2   A case or default label shall appear only in a switch statement. Further
     constraints on such labels are discussed under the switch statement.
 
-
 [page 131]
 
 3   Label names shall be unique within a function.
@@ -5902,9 +5804,6 @@ Forward references:        conditional inclusion (6.10.1), complex arithmetic
                     /* ... */
             }
 
-
-
-
 [page 137]
 
 4   EXAMPLE 2 A goto statement is not allowed to jump past any declarations of objects with variably
@@ -6070,7 +5969,6 @@ Forward references:        conditional inclusion (6.10.1), complex arithmetic
                   int (*fp)(void);                              //   fp points to a function that has type F
                   F *Fp;                                        //   Fp points to a function that has type F
 
-
 [page 141]
 
      Semantics
@@ -6153,9 +6051,6 @@ Forward references:        conditional inclusion (6.10.1), complex arithmetic
 3    If the declaration of an identifier for an object is a tentative definition and has internal
      linkage, the declared type shall not be an incomplete type.
 
-
-
-
 [page 143]
 
 4   EXAMPLE 1
@@ -6180,9 +6075,6 @@ Forward references:        conditional inclusion (6.10.1), complex arithmetic
     the array i still has incomplete type, the implicit initializer causes it to have one element, which is set to
     zero on program startup.
 
-
-
-
 [page 144]
 
     6.10 Preprocessing directives
@@ -6213,9 +6105,6 @@ Forward references:        conditional inclusion (6.10.1), complex arithmetic
              endif-line:
                      # endif      new-line
 
-
-
-
 [page 145]
 
              control-line:
@@ -6538,9 +6427,6 @@ Forward references:        conditional inclusion (6.10.1), complex arithmetic
     string literal corresponding to an empty argument is "". The order of evaluation of # and
     ## operators is unspecified.
 
-
-
-
 [page 153]
 
     6.10.3.3 The ## operator
@@ -6619,9 +6505,6 @@ Forward references:        conditional inclusion (6.10.1), complex arithmetic
             #define max(a, b) ((a) > (b) ? (a) : (b))
     The parentheses ensure that the arguments and the resulting expression are bound properly.
 
-
-
-
 [page 155]
 
 5   EXAMPLE 3     To illustrate the rules for redefinition and reexamination, the sequence
@@ -6647,7 +6530,7 @@ Forward references:        conditional inclusion (6.10.1), complex arithmetic
     results in
              f(2 * (y+1)) + f(2 * (f(2 * (z[0])))) % f(2 * (0)) + t(1);
              f(2 * (2+(3,4)-0,1)) | f(2 * (~ 5)) & f(2 * (0,1))^m(0,1);
-             int i[] = { 1.23.4, 5, };
+             int i[] = { 1, 23, 4, 5, };
              char c[2][6] = { "hello", "" };
 
 6   EXAMPLE 4     To illustrate the rules for creating character string literals and concatenating tokens, the
@@ -6661,7 +6544,7 @@ Forward references:        conditional inclusion (6.10.1), complex arithmetic
              #define xglue(a, b) glue(a, b)
              #define HIGHLOW     "hello"
              #define LOW         LOW ", world"
-             debug(1.2);
+             debug(12);
              fputs(str(strncmp("abc\0d", "abc", '\4') // this goes away
                    == 0) str(: @\n), s);
              #include xstr(INCFILE(2).h)
@@ -6669,9 +6552,6 @@ Forward references:        conditional inclusion (6.10.1), complex arithmetic
              xglue(HIGH, LOW)
     results in
 
-
-
-
 [page 156]
 
              printf("x" "1" "= %d, x" "2" "= %s", x1, x2);
@@ -6696,8 +6576,8 @@ Forward references:        conditional inclusion (6.10.1), complex arithmetic
              int j[] = { t(1,2,3), t(,4,5), t(6,,7), t(8,9,),
                         t(10,,), t(,11,), t(,,12), t(,,) };
     results in
-             int j[] = { 123.45.67.89,
-                         10.11.12, };
+             int j[] = { 123, 45, 67, 89,
+                         10, 11, 12, };
 
 8   EXAMPLE 6        To demonstrate the redefinition rules, the following sequence is valid.
              #define      OBJ_LIKE      (1-1)
@@ -6722,7 +6602,6 @@ Forward references:        conditional inclusion (6.10.1), complex arithmetic
              showlist(The first, second, and third items.);
              report(x>y, "x is %d but y is %d", x, y);
 
-
 [page 157]
 
     results in
@@ -6757,9 +6636,6 @@ Forward references:        conditional inclusion (6.10.1), complex arithmetic
     tokens). The directive resulting after all replacements shall match one of the two
     previous forms and is then processed as appropriate.
 
-
-
-
 [page 158]
 
     6.10.5 Error directive
@@ -6876,6 +6752,7 @@ Forward references:        conditional inclusion (6.10.1), complex arithmetic
 2   EXAMPLE       A directive of the form:
              #pragma listing on "..\listing.dir"
     can also be expressed as:
+
 [page 161]
 
         _Pragma ( "listing on \"..\\listing.dir\"" )
@@ -6885,9 +6762,6 @@ replacement, as in:
         #define PRAGMA(x) _Pragma(#x)
         LISTING ( ..\listing.dir )
 
-
-
-
 [page 162]
 
     6.11 Future language directions
@@ -6918,9 +6792,6 @@ replacement, as in:
     6.11.9 Predefined macro names
 1   Macro names beginning with __STDC_ are reserved for future standardization.
 
-
-
-
 [page 163]
 
 
@@ -6954,7 +6825,7 @@ replacement, as in:
 
 
     157) The functions that make use of the decimal-point character are the numeric conversion functions
-         (7.20.1.7.24.4.1) and the formatted input/output functions (7.19.6.7.24.2).
+         (7.20.1, 7.24.4.1) and the formatted input/output functions (7.19.6, 7.24.2).
     158) For state-dependent encodings, the values for MB_CUR_MAX and MB_LEN_MAX shall thus be large
          enough to count all the bytes in any complete multibyte character plus at least one adjacent shift
          sequence of maximum length. Whether these counts provide for more than one shift sequence is the
@@ -7109,9 +6980,6 @@ replacement, as in:
                 /* ... */
                 i = atoi(str);
 
-
-
-
 [page 168]
 
     7.2 Diagnostics <assert.h>
@@ -7150,7 +7018,6 @@ replacement, as in:
     165) The message written might be of the form:
          Assertion failed: expression, function abc, file xyz, line nnn.
 
-
 [page 169]
 
     7.3 Complex arithmetic <complex.h>
@@ -7224,7 +7091,7 @@ replacement, as in:
     169) The purpose of the pragma is to allow the implementation to use the formulas:
              (x + iy) x (u + iv) = (xu - yv) + i(yu + xv)
              (x + iy) / (u + iv) = [(xu + yv) + i(yu - xv)]/(u2 + v 2 )
-             | x + iy | = sqrt: x 2 + y 2
+             | x + iy | = (sqrt) x 2 + y 2
                           ???????????????
          where the programmer can determine they are safe.
 
@@ -7338,7 +7205,6 @@ replacement, as in:
 2   The casinh functions compute the complex arc hyperbolic sine of z, with branch cuts
     outside the interval [-i, +i] along the imaginary axis.
 
-
 [page 174]
 
     Returns
@@ -7375,7 +7241,6 @@ replacement, as in:
            float complex csinhf(float complex z);
            long double complex csinhl(long double complex z);
 
-
 [page 175]
 
     Description
@@ -7410,8 +7275,6 @@ replacement, as in:
            float complex clogf(float complex z);
            long double complex clogl(long double complex z);
 
-
-
 [page 176]
 
     Description
@@ -7446,9 +7309,6 @@ replacement, as in:
     Returns
 3   The cpow functions return the complex power function value.
 
-
-
-
 [page 177]
 
     7.3.8.3 The csqrt functions
@@ -7482,9 +7342,6 @@ replacement, as in:
            float cimagf(float complex z);
            long double cimagl(long double complex z);
 
-
-
-
 [page 178]
 
     Description
@@ -7684,9 +7541,6 @@ replacement, as in:
     the tolower function returns one of the corresponding characters (always the same one
     for any given locale); otherwise, the argument is returned unchanged.
 
-
-
-
 [page 184]
 
     7.4.2.2 The toupper function
@@ -7701,9 +7555,6 @@ replacement, as in:
     the toupper function returns one of the corresponding characters (always the same one
     for any given locale); otherwise, the argument is returned unchanged.
 
-
-
-
 [page 185]
 
     7.5 Errors <errno.h>
@@ -8017,7 +7868,6 @@ replacement, as in:
 3   The fesetround function returns zero if and only if the requested rounding direction
     was established.
 
-
 [page 193]
 
 4   EXAMPLE Save, set, and restore the rounding direction. Report an error and abort if setting the
@@ -8120,9 +7970,6 @@ replacement, as in:
                 return result;
           }
 
-
-
-
 [page 196]
 
     7.7 Characteristics of floating types <float.h>
@@ -8131,9 +7978,6 @@ replacement, as in:
 2   The macros, their meanings, and the constraints (or restrictions) on their values are listed
     in 5.2.4.2.2.
 
-
-
-
 [page 197]
 
     7.8 Format conversion of integer types <inttypes.h>
@@ -8249,8 +8093,6 @@ replacement, as in:
     Forward references: the strtol, strtoll, strtoul, and strtoull functions
     (7.20.1.4).
 
-
-
 [page 200]
 
     7.8.2.4 The wcstoimax and wcstoumax functions
@@ -8274,9 +8116,6 @@ replacement, as in:
     Forward references: the wcstol, wcstoll, wcstoul, and wcstoull functions
     (7.24.4.1.2).
 
-
-
-
 [page 201]
 
     7.9 Alternative spellings <iso646.h>
@@ -8294,9 +8133,6 @@ replacement, as in:
           xor          ^
           xor_eq       ^=
 
-
-
-
 [page 202]
 
     7.10 Sizes of integer types <limits.h>
@@ -8305,9 +8141,6 @@ replacement, as in:
 2   The macros, their meanings, and the constraints (or restrictions) on their values are listed
     in 5.2.4.2.1.
 
-
-
-
 [page 203]
 
     7.11 Localization <locale.h>
@@ -8343,9 +8176,6 @@ replacement, as in:
            char   int_p_sign_posn;                //   CHAR_MAX
            char   int_n_sign_posn;                //   CHAR_MAX
 
-
-
-
 [page 204]
 
 3   The macros defined are NULL (described in 7.17); and
@@ -8462,7 +8292,6 @@ char n_cs_precedes
           Set to 1 or 0 if the currency_symbol respectively precedes or
           succeeds the value for a negative locally formatted monetary quantity.
 
-
 [page 207]
 
 char p_sep_by_space
@@ -8501,9 +8330,6 @@ char int_p_sep_by_space
           sign string, and the value for a nonnegative internationally formatted
           monetary quantity.
 
-
-
-
 [page 208]
 
     char int_n_sep_by_space
@@ -8541,7 +8367,6 @@ char int_p_sep_by_space
     3   The sign string immediately precedes the currency symbol.
     4   The sign string immediately succeeds the currency symbol.
 
-
 [page 209]
 
 7    The implementation shall behave as if no library function calls the localeconv
@@ -8588,9 +8413,6 @@ char int_p_sep_by_space
      int_p_sign_posn                   1                     1                    1                   1
      int_n_sign_posn                   4                     1                    4                   2
 
-
-
-
 [page 210]
 
 11   EXAMPLE 2 The following table illustrates how the cs_precedes, sep_by_space, and sign_posn members
@@ -8611,9 +8433,6 @@ char int_p_sep_by_space
                                           3         +$1.25             +$ 1.25             + $1.25
                                           4         $+1.25             $+ 1.25             $ +1.25
 
-
-
-
 [page 211]
 
     7.12 Mathematics <math.h>
@@ -8649,7 +8468,7 @@ char int_p_sep_by_space
     198) Particularly on systems with wide expression evaluation, a <math.h> function might pass arguments
          and return values in wider format than the synopsis prototype indicates.
     199) The types float_t and double_t are intended to be the implementation's most efficient types at
-         least as wide as float and double, respectively. For FLT_EVAL_METHOD equal 0.1, or 2, the
+         least as wide as float and double, respectively. For FLT_EVAL_METHOD equal 01, or 2, the
          type float_t is the narrowest type used by the implementation to evaluate floating expressions.
     200) HUGE_VAL, HUGE_VALF, and HUGE_VALL can be positive infinities in an implementation that
          supports infinities.
@@ -8926,7 +8745,6 @@ char int_p_sep_by_space
     Returns
 3   The atan2 functions return arctan y/x in the interval [-pi , +pi ] radians.
 
-
 [page 219]
 
     7.12.4.5 The cos functions
@@ -8960,9 +8778,6 @@ char int_p_sep_by_space
     Returns
 3   The tan functions return tan x.
 
-
-
-
 [page 220]
 
     7.12.5 Hyperbolic functions
@@ -8998,8 +8813,6 @@ char int_p_sep_by_space
     for arguments not in the interval [-1, +1]. A range error may occur if the argument
     equals -1 or +1.
 
-
-
 [page 221]
 
     Returns
@@ -9035,8 +8848,6 @@ char int_p_sep_by_space
     Description
 2   The tanh functions compute the hyperbolic tangent of x.
 
-
-
 [page 222]
 
     Returns
@@ -9071,9 +8882,6 @@ char int_p_sep_by_space
            float expm1f(float x);
            long double expm1l(long double x);
 
-
-
-
 [page 223]
 
     Description
@@ -9092,7 +8900,7 @@ char int_p_sep_by_space
     integral power of 2. They store the integer in the int object pointed to by exp.
     Returns
 3   If value is not a floating-point number, the results are unspecified. Otherwise, the
-    frexp functions return the value x, such that x has a magnitude in the interval [1/2.1) or
+    frexp functions return the value x, such that x has a magnitude in the interval [1/21) or
     zero, and value equals x x 2*exp . If value is zero, both parts of the result are zero.
     7.12.6.5 The ilogb functions
     Synopsis
@@ -9147,9 +8955,6 @@ char int_p_sep_by_space
            float log10f(float x);
            long double log10l(long double x);
 
-
-
-
 [page 225]
 
     Description
@@ -9215,9 +9020,6 @@ char int_p_sep_by_space
     Returns
 3   The modf functions return the signed fractional part of value.
 
-
-
-
 [page 227]
 
     7.12.6.13 The scalbn and scalbln functions
@@ -9254,7 +9056,6 @@ char int_p_sep_by_space
     Description
 2   The fabs functions compute the absolute value of a floating-point number x.
 
-
 [page 228]
 
     Returns
@@ -9269,7 +9070,7 @@ char int_p_sep_by_space
 2   The hypot functions compute the square root of the sum of the squares of x and y,
     without undue overflow or underflow. A range error may occur.
 3   Returns
-4   The hypot functions return sqrt:x2 + y2 .
+4   The hypot functions return (sqrt)x2 + y2 .
                                ???
                                ???????????????
     7.12.7.4 The pow functions
@@ -9292,16 +9093,13 @@ char int_p_sep_by_space
            float sqrtf(float x);
            long double sqrtl(long double x);
 
-
-
-
 [page 229]
 
     Description
 2   The sqrt functions compute the nonnegative square root of x. A domain error occurs if
     the argument is less than zero.
     Returns
-3   The sqrt functions return sqrt:x.
+3   The sqrt functions return (sqrt)x.
                               ???
                               ???
     7.12.8 Error and gamma functions
@@ -9321,7 +9119,7 @@ char int_p_sep_by_space
                                                       2
 
 
-                                       sqrt:pi
+                                       (sqrt)pi
                                        ???
                                        ???    0
 
@@ -9342,13 +9140,10 @@ char int_p_sep_by_space
                                                                              2
 
 
-                                                              sqrt:pi
+                                                              (sqrt)pi
                                                               ???
                                                               ???    x
 
-
-
-
 [page 230]
 
     7.12.8.3 The lgamma functions
@@ -9385,7 +9180,6 @@ char int_p_sep_by_space
     Description
 2   The ceil functions compute the smallest integer value not less than x.
 
-
 [page 231]
 
     Returns
@@ -9422,6 +9216,7 @@ char int_p_sep_by_space
 2   The rint functions differ from the nearbyint functions (7.12.9.3) only in that the
     rint functions may raise the ''inexact'' floating-point exception if the result differs in
     value from the argument.
+
 [page 232]
 
     Returns
@@ -9455,9 +9250,6 @@ char int_p_sep_by_space
     Returns
 3   The round functions return the rounded integer value.
 
-
-
-
 [page 233]
 
     7.12.9.7 The lround and llround functions
@@ -9488,9 +9280,6 @@ char int_p_sep_by_space
     Returns
 3   The trunc functions return the truncated integer value.
 
-
-
-
 [page 234]
 
     7.12.10 Remainder functions
@@ -9560,9 +9349,6 @@ char int_p_sep_by_space
     Returns
 3   The copysign functions return a value with the magnitude of x and the sign of y.
 
-
-
-
 [page 236]
 
     7.12.11.2 The nan functions
@@ -9755,6 +9541,7 @@ char int_p_sep_by_space
     (x) < (y) || (x) > (y); however, islessgreater(x, y) does not raise
     the ''invalid'' floating-point exception when x and y are unordered (nor does it evaluate x
     and y twice).
+
 [page 241]
 
     Returns
@@ -9768,9 +9555,6 @@ char int_p_sep_by_space
     Returns
 3   The isunordered macro returns 1 if its arguments are unordered and 0 otherwise.
 
-
-
-
 [page 242]
 
     7.13 Nonlocal jumps <setjmp.h>
@@ -9873,9 +9657,6 @@ char int_p_sep_by_space
              longjmp(buf, 2);   // might cause memory loss
        }
 
-
-
-
 [page 245]
 
     7.14 Signal handling <signal.h>
@@ -9980,9 +9761,6 @@ char int_p_sep_by_space
     Returns
 3   The raise function returns zero if successful, nonzero if unsuccessful.
 
-
-
-
 [page 248]
 
     7.15 Variable arguments <stdarg.h>
@@ -10094,9 +9872,6 @@ char int_p_sep_by_space
                   char *array[MAXARGS];
                   int ptr_no = 0;
 
-
-
-
 [page 251]
 
                       if (n_ptrs > MAXARGS)
@@ -10139,9 +9914,6 @@ char int_p_sep_by_space
                       f4(n_ptrs, array);
              }
 
-
-
-
 [page 252]
 
     7.16 Boolean type and values <stdbool.h>
@@ -10199,9 +9971,6 @@ char int_p_sep_by_space
     large enough to make this necessary.
     Forward references: localization (7.11).
 
-
-
-
 [page 254]
 
     7.18 Integer types <stdint.h>
@@ -10245,7 +10014,7 @@ char int_p_sep_by_space
 2   The typedef name uintN_t designates an unsigned integer type with width N . Thus,
     uint24_t denotes an unsigned integer type with a width of exactly 24 bits.
 3   These types are optional. However, if an implementation provides integer types with
-    widths of 8.16.32, or 64 bits, no padding bits, and (for the signed types) that have a
+    widths of 8, 16, 32, or 64 bits, no padding bits, and (for the signed types) that have a
     two's complement representation, it shall define the corresponding typedef names.
     7.18.1.2 Minimum-width integer types
 1   The typedef name int_leastN_t designates a signed integer type with a width of at
@@ -10344,9 +10113,7 @@ char int_p_sep_by_space
     -- maximum value of pointer-holding signed integer type
           INTPTR_MAX                                       215 - 1
 
-
-
-[page 258]
+[page 258]
 
     -- maximum value of pointer-holding unsigned integer type
         UINTPTR_MAX                                                   216 - 1
@@ -10439,9 +10206,6 @@ char int_p_sep_by_space
     by its argument and the type uintmax_t:
            UINTMAX_C(value)
 
-
-
-
 [page 261]
 
     7.19 Input/output <stdio.h>
@@ -10477,8 +10241,6 @@ char int_p_sep_by_space
     which expands to an integer constant expression that is the size needed for an array of
     char large enough to hold the longest file name string that the implementation
 
-
-
 [page 262]
 
     guarantees can be opened;231)
@@ -10712,9 +10474,6 @@ char int_p_sep_by_space
      old is no longer accessible by that name. If a file named by the string pointed to by new
      exists prior to the call to the rename function, the behavior is implementation-defined.
 
-
-
-
 [page 268]
 
     Returns
@@ -10789,9 +10548,6 @@ char int_p_sep_by_space
 1          #include <stdio.h>
            int fflush(FILE *stream);
 
-
-
-
 [page 270]
 
     Description
@@ -10869,9 +10625,6 @@ char int_p_sep_by_space
 2   The freopen function opens the file whose name is the string pointed to by filename
     and associates the stream pointed to by stream with it. The mode argument is used just
 
-
-
-
 [page 272]
 
     as in the fopen function.238)
@@ -11071,7 +10824,6 @@ char int_p_sep_by_space
             with leading zeros. The default precision is 1. The result of converting a
             zero value with a precision of zero is no characters.
 
-
 [page 277]
 
 f,F          A double argument representing a floating-point number is converted to
@@ -11220,7 +10972,7 @@ s             If no l length modifier is present, the argument shall be a pointe
      Environmental limits
 15   The number of characters that can be produced by any single conversion shall be at least
      4095.
-16   EXAMPLE 1 To print a date and time in the form ''Sunday, July 3.10:02'' followed by pi to five decimal
+16   EXAMPLE 1 To print a date and time in the form ''Sunday, July 310:02'' followed by pi to five decimal
      places:
              #include <math.h>
              #include <stdio.h>
@@ -11364,6 +11116,7 @@ s             If no l length modifier is present, the argument shall be a pointe
                  for the subject sequence of the strtol function with the value 0 for the
                  base argument. The corresponding argument shall be a pointer to signed
                  integer.
+
 [page 284]
 
 o             Matches an optionally signed octal integer, whose format is the same as
@@ -11475,7 +11228,7 @@ p        Matches an implementation-defined set of sequences, which should be the
               int n, i; float x; char name[50];
               n = fscanf(stdin, "%d%f%s", &i, &x, name);
      with the input line:
-              2.54.32E-1 thompson
+              254.32E-1 thompson
      will assign to n the value 3, to i the value 25, to x the value 5.432, and to name the sequence
      thompson\0.
 
@@ -11492,7 +11245,7 @@ p        Matches an implementation-defined set of sequences, which should be the
 
 [page 287]
 
-              5678.012.56a72
+              56789 0123 56a72
      will assign to i the value 56 and to x the value 789.0, will skip 0123, and will assign to name the
      sequence 56\0. The next character read from the input stream will be a.
 
@@ -11537,9 +11290,6 @@ p        Matches an implementation-defined set of sequences, which should be the
      entry into the alternate shift state.
 23   After the call:
 
-
-
-
 [page 288]
 
                #include <stdio.h>
@@ -11580,9 +11330,6 @@ p        Matches an implementation-defined set of sequences, which should be the
      strtol, strtoll, strtoul, and strtoull functions (7.20.1.4), conversion state
      (7.24.6), the wcrtomb function (7.24.6.3.3).
 
-
-
-
 [page 289]
 
     7.19.6.3 The printf function
@@ -11656,9 +11403,6 @@ p        Matches an implementation-defined set of sequences, which should be the
     items assigned, which can be fewer than provided for, or even zero, in the event of an
     early matching failure.
 
-
-
-
 [page 291]
 
     7.19.6.8 The vfprintf function
@@ -11730,9 +11474,6 @@ p        Matches an implementation-defined set of sequences, which should be the
 3   The vprintf function returns the number of characters transmitted, or a negative value
     if an output or encoding error occurred.
 
-
-
-
 [page 293]
 
     7.19.6.11 The vscanf function
@@ -11770,9 +11511,6 @@ p        Matches an implementation-defined set of sequences, which should be the
     value if an encoding error occurred. Thus, the null-terminated output has been
     completely written if and only if the returned value is nonnegative and less than n.
 
-
-
-
 [page 294]
 
     7.19.6.13 The vsprintf function
@@ -11809,9 +11547,6 @@ p        Matches an implementation-defined set of sequences, which should be the
     items assigned, which can be fewer than provided for, or even zero, in the event of an
     early matching failure.
 
-
-
-
 [page 295]
 
     7.19.7 Character input/output functions
@@ -11886,9 +11621,6 @@ p        Matches an implementation-defined set of sequences, which should be the
     may evaluate stream more than once, so the argument should never be an expression
     with side effects.
 
-
-
-
 [page 297]
 
     Returns
@@ -11923,9 +11655,6 @@ p        Matches an implementation-defined set of sequences, which should be the
     indeterminate and a null pointer is returned.
     Forward references: future library directions (7.26.9).
 
-
-
-
 [page 298]
 
     7.19.7.8 The putc function
@@ -11960,9 +11689,6 @@ p        Matches an implementation-defined set of sequences, which should be the
 3   The puts function returns EOF if a write error occurs; otherwise it returns a nonnegative
     value.
 
-
-
-
 [page 299]
 
     7.19.7.11 The ungetc function
@@ -12036,9 +11762,6 @@ p        Matches an implementation-defined set of sequences, which should be the
     error occurs, the resulting value of the file position indicator for the stream is
     indeterminate.
 
-
-
-
 [page 301]
 
     Returns
@@ -12143,9 +11866,6 @@ p        Matches an implementation-defined set of sequences, which should be the
     Returns
 3   The clearerr function returns no value.
 
-
-
-
 [page 304]
 
     7.19.10.2 The feof function
@@ -12181,7 +11901,6 @@ p        Matches an implementation-defined set of sequences, which should be the
 3   The perror function returns no value.
     Forward references: the strerror function (7.21.6.2).
 
-
 [page 305]
 
     7.20 General utilities <stdlib.h>
@@ -12249,8 +11968,6 @@ p        Matches an implementation-defined set of sequences, which should be the
     Forward references: the strtol, strtoll, strtoul, and strtoull functions
     (7.20.1.4).
 
-
-
 [page 307]
 
     7.20.1.3 The strtod, strtof, and strtold functions
@@ -12290,6 +12007,7 @@ p        Matches an implementation-defined set of sequences, which should be the
 4   If the subject sequence has the expected form for a floating-point number, the sequence of
     characters starting with the first digit or the decimal-point character (whichever occurs
     first) is interpreted as a floating constant according to the rules of 6.4.4.2, except that the
+
 [page 308]
 
     decimal-point character is used in place of a period, and that if neither an exponent part
@@ -12413,9 +12131,6 @@ p        Matches an implementation-defined set of sequences, which should be the
     LLONG_MAX, ULONG_MAX, or ULLONG_MAX is returned (according to the return type
     and sign of the value, if any), and the value of the macro ERANGE is stored in errno.
 
-
-
-
 [page 311]
 
     7.20.2 Pseudo-random sequence generation functions
@@ -12452,8 +12167,6 @@ p        Matches an implementation-defined set of sequences, which should be the
                  return (unsigned int)(next/65536) % 32768;
            }
 
-
-
 [page 312]
 
             void srand(unsigned int seed)
@@ -12530,9 +12243,6 @@ p        Matches an implementation-defined set of sequences, which should be the
     value as a pointer to the old object), or a null pointer if the new object could not be
     allocated.
 
-
-
-
 [page 314]
 
     7.20.4 Communication with the environment
@@ -12568,6 +12278,7 @@ p        Matches an implementation-defined set of sequences, which should be the
     Description
 2   The exit function causes normal program termination to occur. If more than one call to
     the exit function is executed by a program, the behavior is undefined.
+
 [page 315]
 
 3   First, all functions registered by the atexit function are called, in the reverse order of
@@ -12635,9 +12346,6 @@ p        Matches an implementation-defined set of sequences, which should be the
     command processor is available. If the argument is not a null pointer, and the system
     function does return, it returns an implementation-defined value.
 
-
-
-
 [page 317]
 
     7.20.5 Searching and sorting utilities
@@ -12678,7 +12386,6 @@ p        Matches an implementation-defined set of sequences, which should be the
                   (char *)p >= (char *)base
                   (char *)p < (char *)base + nmemb * size
 
-
 [page 318]
 
     size of each element of the array is specified by size.
@@ -12886,9 +12593,6 @@ p        Matches an implementation-defined set of sequences, which should be the
     returns the number of bytes modified, not including a terminating null character, if
     any.267)
 
-
-
-
 [page 324]
 
     7.21 String handling <string.h>
@@ -12963,9 +12667,6 @@ p        Matches an implementation-defined set of sequences, which should be the
 2   The strncpy function copies not more than n characters (characters that follow a null
     character are not copied) from the array pointed to by s2 to the array pointed to by
 
-
-
-
 [page 326]
 
     s1.269) If copying takes place between objects that overlap, the behavior is undefined.
@@ -13116,6 +12817,7 @@ p        Matches an implementation-defined set of sequences, which should be the
     Returns
 3   The strchr function returns a pointer to the located character, or a null pointer if the
     character does not occur in the string.
+
 [page 330]
 
     7.21.5.3 The strcspn function
@@ -13150,9 +12852,6 @@ p        Matches an implementation-defined set of sequences, which should be the
 3   The strrchr function returns a pointer to the character, or a null pointer if c does not
     occur in the string.
 
-
-
-
 [page 331]
 
     7.21.5.6 The strspn function
@@ -13225,9 +12924,6 @@ p        Matches an implementation-defined set of sequences, which should be the
     Returns
 3   The memset function returns the value of s.
 
-
-
-
 [page 333]
 
     7.21.6.2 The strerror function
@@ -13253,9 +12949,6 @@ p        Matches an implementation-defined set of sequences, which should be the
 3   The strlen function returns the number of characters that precede the terminating null
     character.
 
-
-
-
 [page 334]
 
     7.22 Type-generic math <tgmath.h>
@@ -13368,9 +13061,6 @@ p        Matches an implementation-defined set of sequences, which should be the
                 carg(dc)                            carg(dc), the function
                 cproj(ldc)                          cprojl(ldc)
 
-
-
-
 [page 337]
 
     7.23 Date and time <time.h>
@@ -13396,19 +13086,19 @@ p        Matches an implementation-defined set of sequences, which should be the
     implementation-defined. The tm structure shall contain at least the following members,
     in any order. The semantics of the members and their normal ranges are expressed in the
     comments.274)
-            int    tm_sec;           //   seconds after the minute -- [0.60]
-            int    tm_min;           //   minutes after the hour -- [0.59]
-            int    tm_hour;          //   hours since midnight -- [0.23]
-            int    tm_mday;          //   day of the month -- [1.31]
-            int    tm_mon;           //   months since January -- [0.11]
+            int    tm_sec;           //   seconds after the minute -- [060]
+            int    tm_min;           //   minutes after the hour -- [059]
+            int    tm_hour;          //   hours since midnight -- [023]
+            int    tm_mday;          //   day of the month -- [131]
+            int    tm_mon;           //   months since January -- [011]
             int    tm_year;          //   years since 1900
-            int    tm_wday;          //   days since Sunday -- [0.6]
-            int    tm_yday;          //   days since January 1 -- [0.365]
+            int    tm_wday;          //   days since Sunday -- [06]
+            int    tm_yday;          //   days since January 1 -- [0365]
             int    tm_isdst;         //   Daylight Saving Time flag
 
 
 
-    274) The range [0.60] for tm_sec allows for a positive leap second.
+    274) The range [060] for tm_sec allows for a positive leap second.
 
 [page 338]
 
@@ -13464,7 +13154,7 @@ p        Matches an implementation-defined set of sequences, which should be the
 3   The mktime function returns the specified calendar time encoded as a value of type
     time_t. If the calendar time cannot be represented, the function returns the value
     (time_t)(-1).
-4   EXAMPLE       What day of the week is July 4.2001?
+4   EXAMPLE       What day of the week is July 42001?
             #include <stdio.h>
             #include <time.h>
             static const char *const wday[] = {
@@ -13520,7 +13210,7 @@ p        Matches an implementation-defined set of sequences, which should be the
     Description
 2   The asctime function converts the broken-down time in the structure pointed to by
     timeptr into a string in the form
-           Sun Sep 1.01:03:5.1973\n\0
+           Sun Sep 16 01:03:52 1973\n\0
 
 [page 341]
 
@@ -13558,9 +13248,6 @@ p        Matches an implementation-defined set of sequences, which should be the
     broken-down time as argument.
     Forward references: the localtime function (7.23.3.4).
 
-
-
-
 [page 342]
 
     7.23.3.3 The gmtime function
@@ -13598,6 +13285,7 @@ p        Matches an implementation-defined set of sequences, which should be the
     consists of a % character, possibly followed by an E or O modifier character (described
     below), followed by a character that determines the behavior of the conversion specifier.
     All ordinary multibyte characters (including the terminating null character) are copied
+
 [page 343]
 
     unchanged into the array. If copying takes place between objects that overlap, the
@@ -13683,7 +13371,6 @@ p        Matches an implementation-defined set of sequences, which should be the
     %OH is replaced by the hour (24-hour clock), using the locale's alternative numeric
         symbols.
 
-
 [page 345]
 
     %OI is replaced by the hour (12-hour clock), using the locale's alternative numeric
@@ -13725,7 +13412,6 @@ p        Matches an implementation-defined set of sequences, which should be the
     %X    equivalent to %T.
     %Z    implementation-defined.
 
-
 [page 346]
 
     Returns
@@ -13734,9 +13420,6 @@ p        Matches an implementation-defined set of sequences, which should be the
     into the array pointed to by s not including the terminating null character. Otherwise,
     zero is returned and the contents of the array are indeterminate.
 
-
-
-
 [page 347]
 
     7.24 Extended multibyte and wide character utilities <wchar.h>
@@ -13934,6 +13617,7 @@ p        Matches an implementation-defined set of sequences, which should be the
                [-]nan or [-]nan(n-wchar-sequence) -- which style, and the meaning of
                any n-wchar-sequence, is implementation-defined. The F conversion
                specifier produces INF, INFINITY, or NAN instead of inf, infinity, or
+
 [page 352]
 
              nan, respectively.283)
@@ -14062,7 +13746,7 @@ p            The argument shall be a pointer to void. The value of the pointer i
      Environmental limits
 15   The number of wide characters that can be produced by any single conversion shall be at
      least 4095.
-16   EXAMPLE       To print a date and time in the form ''Sunday, July 3.10:02'' followed by pi to five decimal
+16   EXAMPLE       To print a date and time in the form ''Sunday, July 310:02'' followed by pi to five decimal
      places:
             #include <math.h>
             #include <stdio.h>
@@ -14098,8 +13782,6 @@ p            The argument shall be a pointer to void. The value of the pointer i
      -- An optional decimal integer greater than zero that specifies the maximum field width
        (in wide characters).
 
-
-
 [page 356]
 
      -- An optional length modifier that specifies the size of the receiving object.
@@ -14179,6 +13861,7 @@ p            The argument shall be a pointer to void. The value of the pointer i
      i          Matches an optionally signed integer, whose format is the same as expected
                 for the subject sequence of the wcstol function with the value 0 for the
                 base argument. The corresponding argument shall be a pointer to signed
+
 [page 358]
 
             integer.
@@ -14260,6 +13943,7 @@ n        No input is consumed. The corresponding argument shall be a pointer to
          from the input stream so far by this call to the fwscanf function. Execution
          of a %n directive does not increment the assignment count returned at the
          completion of execution of the fwscanf function. No argument is
+
 [page 360]
 
                     converted, but one is consumed. If the conversion specification includes an
@@ -14285,7 +13969,7 @@ n        No input is consumed. The corresponding argument shall be a pointer to
               int n, i; float x; wchar_t name[50];
               n = fwscanf(stdin, L"%d%f%ls", &i, &x, name);
      with the input line:
-              2.54.32E-1 thompson
+              254.32E-1 thompson
      will assign to n the value 3, to i the value 25, to x the value 5.432, and to name the sequence
      thompson\0.
 
@@ -14296,7 +13980,7 @@ n        No input is consumed. The corresponding argument shall be a pointer to
               int i; float x; double y;
               fwscanf(stdin, L"%2d%f%*d %lf", &i, &x, &y);
      with input:
-              5678.012.56a72
+              56789 0123 56a72
      will assign to i the value 56 and to x the value 789.0, will skip past 0123, and will assign to y the value
      56.0. The next wide character read from the input stream will be a.
 
@@ -14339,9 +14023,6 @@ n        No input is consumed. The corresponding argument shall be a pointer to
     items assigned, which can be fewer than provided for, or even zero, in the event of an
     early matching failure.
 
-
-
-
 [page 362]
 
     7.24.2.5 The vfwprintf function
@@ -14420,7 +14101,6 @@ n        No input is consumed. The corresponding argument shall be a pointer to
     counting the terminating null wide character, or a negative value if an encoding error
     occurred or if n or more wide characters were requested to be generated.
 
-
 [page 364]
 
     7.24.2.8 The vswscanf function
@@ -14455,9 +14135,6 @@ n        No input is consumed. The corresponding argument shall be a pointer to
 3   The vwprintf function returns the number of wide characters transmitted, or a negative
     value if an output or encoding error occurred.
 
-
-
-
 [page 365]
 
     7.24.2.10 The vwscanf function
@@ -14494,7 +14171,6 @@ n        No input is consumed. The corresponding argument shall be a pointer to
 2   The wscanf function is equivalent to fwscanf with the argument stdin interposed
     before the arguments to wscanf.
 
-
 [page 366]
 
     Returns
@@ -14680,9 +14356,6 @@ n        No input is consumed. The corresponding argument shall be a pointer to
     wide character sequences returns zero, and a function that copies wide characters copies
     zero wide characters.
 
-
-
-
 [page 371]
 
     7.24.4.1 Wide string numeric conversion functions
@@ -14722,6 +14395,7 @@ n        No input is consumed. The corresponding argument shall be a pointer to
                      n-wchar-sequence nondigit
     The subject sequence is defined as the longest initial subsequence of the input wide
     string, starting with the first non-white-space wide character, that is of the expected form.
+
 [page 372]
 
     The subject sequence contains no wide characters if the input wide string is not of the
@@ -14871,7 +14545,6 @@ n        No input is consumed. The corresponding argument shall be a pointer to
     Returns
 3   The wcscpy function returns the value of s1.
 
-
 [page 376]
 
     7.24.4.2.2 The wcsncpy function
@@ -15020,7 +14693,6 @@ n        No input is consumed. The corresponding argument shall be a pointer to
 4   EXAMPLE The value of the following expression is the length of the array needed to hold the
     transformation of the wide string pointed to by s:
 
-
 [page 380]
 
            1 + wcsxfrm(NULL, s, 0)
@@ -15057,8 +14729,6 @@ n        No input is consumed. The corresponding argument shall be a pointer to
     string pointed to by s1 which consists entirely of wide characters not from the wide
     string pointed to by s2.
 
-
-
 [page 381]
 
     Returns
@@ -15094,7 +14764,6 @@ n        No input is consumed. The corresponding argument shall be a pointer to
     Returns
 3   The wcsspn function returns the length of the segment.
 
-
 [page 382]
 
     7.24.4.5.6 The wcsstr function
@@ -15133,6 +14802,7 @@ n        No input is consumed. The corresponding argument shall be a pointer to
     the start of the first token.
 5   The wcstok function then searches from there for a wide character that is contained in
     the current separator wide string. If no such wide character is found, the current token
+
 [page 383]
 
     extends to the end of the wide string pointed to by s1, and subsequent searches in the
@@ -15168,9 +14838,6 @@ n        No input is consumed. The corresponding argument shall be a pointer to
 3   The wmemchr function returns a pointer to the located wide character, or a null pointer if
     the wide character does not occur in the object.
 
-
-
-
 [page 384]
 
     7.24.4.6 Miscellaneous functions
@@ -15206,7 +14873,6 @@ n        No input is consumed. The corresponding argument shall be a pointer to
     -- The argument s points to the initial element of an array of wide characters into which
       the generated output is to be placed.
 
-
 [page 385]
 
     -- The argument maxsize indicates the limiting number of wide characters.
@@ -15284,6 +14950,7 @@ n        No input is consumed. The corresponding argument shall be a pointer to
     Description
 2   If ps is not a null pointer, the mbsinit function determines whether the pointed-to
     mbstate_t object describes an initial conversion state.
+
 [page 387]
 
     Returns
@@ -15315,9 +14982,6 @@ n        No input is consumed. The corresponding argument shall be a pointer to
     or (size_t)(-1).
     Forward references: the mbrtowc function (7.24.6.3.2).
 
-
-
-
 [page 388]
 
     7.24.6.3.2 The mbrtowc function
@@ -15393,9 +15057,6 @@ n        No input is consumed. The corresponding argument shall be a pointer to
     when dst is not a null pointer), the pointer object pointed to by this parameter is updated
     to reflect the amount of the source processed by that invocation.
 
-
-
-
 [page 390]
 
     7.24.6.4.1 The mbsrtowcs function
@@ -15651,7 +15312,6 @@ n        No input is consumed. The corresponding argument shall be a pointer to
 3   Each of the following expressions has a truth-value equivalent to the call to the wide
     character classification function (7.25.2.1) in the comment that follows the expression:
 
-
 [page 397]
 
            iswctype(wc,       wctype("alnum"))             //   iswalnum(wc)
@@ -15684,9 +15344,6 @@ n        No input is consumed. The corresponding argument shall be a pointer to
     category of the current locale, the wctype function returns a nonzero value that is valid
     as the second argument to the iswctype function; otherwise, it returns zero.              *
 
-
-
-
 [page 398]
 
     7.25.3 Wide character case mapping utilities
@@ -15721,9 +15378,6 @@ n        No input is consumed. The corresponding argument shall be a pointer to
     well as case mapping equivalent to that performed by the functions described in the
     previous subclause (7.25.3.1).
 
-
-
-
 [page 399]
 
     7.25.3.2.1 The towctrans function
@@ -15755,9 +15409,6 @@ n        No input is consumed. The corresponding argument shall be a pointer to
     category of the current locale, the wctrans function returns a nonzero value that is valid
     as the second argument to the towctrans function; otherwise, it returns zero.
 
-
-
-
 [page 400]
 
     7.26 Future library directions
@@ -15793,6 +15444,7 @@ n        No input is consumed. The corresponding argument shall be a pointer to
     types defined in the <stdint.h> header. Macro names beginning with INT or UINT
     and ending with _MAX, _MIN, or _C may be added to the macros defined in the
     <stdint.h> header.
+
 [page 401]
 
     7.26.9 Input/output <stdio.h>
@@ -15817,9 +15469,6 @@ n        No input is consumed. The corresponding argument shall be a pointer to
 1   Function names that begin with is or to and a lowercase letter may be added to the
     declarations in the <wctype.h> header.
 
-
-
-
 [page 402]
 
                                                    Annex A
@@ -15856,9 +15505,6 @@ n        No input is consumed. The corresponding argument shall be a pointer to
                   double                    long             typedef
                   else                      register         union
 
-
-
-
 [page 403]
 
 A.1.3 Identifiers
@@ -15897,6 +15543,7 @@ A.1.5 Constants
 (6.4.4.1) decimal-constant:
               nonzero-digit
               decimal-constant digit
+
 [page 404]
 
 (6.4.4.1) octal-constant:
@@ -15906,7 +15553,7 @@ A.1.5 Constants
               hexadecimal-prefix hexadecimal-digit
               hexadecimal-constant hexadecimal-digit
 (6.4.4.1) hexadecimal-prefix: one of
-              0.0X
+              00X
 (6.4.4.1) nonzero-digit: one of
               1 2 3 4 5              6      7   8   9
 (6.4.4.1) octal-digit: one of
@@ -15933,9 +15580,6 @@ A.1.5 Constants
               fractional-constant exponent-partopt floating-suffixopt
               digit-sequence exponent-part floating-suffixopt
 
-
-
-
 [page 405]
 
 (6.4.4.2) hexadecimal-floating-constant:
@@ -15972,9 +15616,6 @@ A.1.5 Constants
               ' c-char-sequence '
               L' c-char-sequence '
 
-
-
-
 [page 406]
 
 (6.4.4.4) c-char-sequence:
@@ -16011,9 +15652,6 @@ A.1.6 String literals
                             the double-quote ", backslash \, or new-line character
                escape-sequence
 
-
-
-
 [page 407]
 
 A.1.7 Punctuators
@@ -16053,7 +15691,6 @@ A.1.9 Preprocessing numbers
               pp-number   P sign
               pp-number   .
 
-
 [page 408]
 
 A.2 Phrase structure grammar
@@ -16166,9 +15803,6 @@ A.2.2 Declarations
               auto
               register
 
-
-
-
 [page 411]
 
 (6.7.2) type-specifier:
@@ -16207,9 +15841,6 @@ A.2.2 Declarations
                declarator
                declaratoropt : constant-expression
 
-
-
-
 [page 412]
 
 (6.7.2.2) enum-specifier:
@@ -16287,8 +15918,6 @@ A.2.2 Declarations
 (6.7.8) designation:
               designator-list =
 
-
-
 [page 414]
 
 (6.7.8) designator-list:
@@ -16324,9 +15953,6 @@ A.2.3 Statements
                if ( expression ) statement else statement
                switch ( expression ) statement
 
-
-
-
 [page 415]
 
 (6.8.5) iteration-statement:
@@ -16365,7 +15991,6 @@ A.3 Preprocessing directives
 (6.10) if-section:
                 if-group elif-groupsopt else-groupopt endif-line
 
-
 [page 416]
 
 (6.10) if-group:
@@ -16403,9 +16028,6 @@ A.3 Preprocessing directives
 (6.10) replacement-list:
               pp-tokensopt
 
-
-
-
 [page 417]
 
 (6.10) pp-tokens:
@@ -16414,9 +16036,6 @@ A.3 Preprocessing directives
 (6.10) new-line:
               the new-line character
 
-
-
-
 [page 418]
 
                                 Annex B
@@ -16456,6 +16075,7 @@ B.2 Complex <complex.h>
        double complex catanh(double complex z);
        float complex catanhf(float complex z);
        long double complex catanhl(long double complex z);
+
 [page 419]
 
       double complex ccosh(double complex z);
@@ -16499,7 +16119,6 @@ B.2 Complex <complex.h>
       float crealf(float complex z);
       long double creall(long double complex z);
 
-
 [page 420]
 
 B.3 Character handling <ctype.h>
@@ -16539,8 +16158,6 @@ B.5 Floating-point environment <fenv.h>
        int fesetenv(const fenv_t *envp);
        int feupdateenv(const fenv_t *envp);
 
-
-
 [page 421]
 
 B.6 Characteristics of floating types <float.h>
@@ -16579,9 +16196,6 @@ B.7 Format conversion of integer types <inttypes.h>
       uintmax_t wcstoumax(const wchar_t * restrict nptr,
               wchar_t ** restrict endptr, int base);
 
-
-
-
 [page 422]
 
 B.8 Alternative spellings <iso646.h>
@@ -16621,6 +16235,7 @@ B.11 Mathematics <math.h>
       float asinf(float x);
       long double asinl(long double x);
       double atan(double x);
+
 [page 423]
 
       float atanf(float x);
@@ -16829,9 +16444,6 @@ B.15 Boolean type and values <stdbool.h>
       false
       __bool_true_false_are_defined
 
-
-
-
 [page 428]
 
 B.16 Common definitions <stddef.h>
@@ -16871,7 +16483,6 @@ B.18 Input/output <stdio.h>
         void setbuf(FILE * restrict stream,
              char * restrict buf);
 
-
 [page 429]
 
       int setvbuf(FILE * restrict stream,
@@ -16915,7 +16526,6 @@ B.18 Input/output <stdio.h>
       int puts(const char *s);
       int ungetc(int c, FILE *stream);
 
-
 [page 430]
 
         size_t fread(void * restrict ptr,
@@ -16956,9 +16566,6 @@ B.19 General utilities <stdlib.h>
              const char * restrict nptr,
              char ** restrict endptr, int base);
 
-
-
-
 [page 431]
 
       unsigned long long int strtoull(
@@ -16997,9 +16604,6 @@ B.19 General utilities <stdlib.h>
       size_t wcstombs(char * restrict s,
            const wchar_t * restrict pwcs, size_t n);
 
-
-
-
 [page 432]
 
 B.20 String handling <string.h>
@@ -17035,9 +16639,6 @@ B.20 String handling <string.h>
         char *strerror(int errnum);
         size_t strlen(const char *s);
 
-
-
-
 [page 433]
 
 B.21 Type-generic math <tgmath.h>
@@ -17072,9 +16673,6 @@ B.22 Date and time <time.h>
            const char * restrict format,
            const struct tm * restrict timeptr);
 
-
-
-
 [page 434]
 
 B.23 Extended multibyte/wide character utilities <wchar.h>
@@ -17116,8 +16714,6 @@ B.23 Extended multibyte/wide character utilities <wchar.h>
         wint_t putwchar(wchar_t c);
         wint_t ungetwc(wint_t c, FILE *stream);
 
-
-
 [page 435]
 
       double wcstod(const wchar_t * restrict nptr,
@@ -17204,6 +16800,7 @@ B.24 Wide character classification and mapping utilities <wctype.h>
         int   iswupper(wint_t wc);
         int   iswxdigit(wint_t wc);
         int   iswctype(wint_t wc, wctype_t desc);
+
 [page 437]
 
       wctype_t wctype(const char *property);
@@ -17212,9 +16809,6 @@ B.24 Wide character classification and mapping utilities <wctype.h>
       wint_t towctrans(wint_t wc, wctrans_t desc);
       wctrans_t wctrans(const char *property);
 
-
-
-
 [page 438]
 
                                           Annex C
@@ -17232,14 +16826,11 @@ B.24 Wide character classification and mapping utilities <wctype.h>
       (6.8.6.4).
     -- Immediately before a library function returns (7.1.4).
     -- After the actions associated with each formatted input/output function conversion
-      specifier (7.19.6.7.24.2).
+      specifier (7.19.67.24.2).
     -- Immediately before and immediately after each call to a comparison function, and
       also between any call to a comparison function and any movement of the objects
       passed as arguments to that call (7.20.5).
 
-
-
-
 [page 439]
 
                                          Annex D
@@ -17250,69 +16841,67 @@ B.24 Wide character classification and mapping utilities <wctype.h>
 2   This table is reproduced unchanged from ISO/IEC TR 10176:1998, produced by ISO/IEC
     JTC 1/SC 22/WG 20, except for the omission of ranges that are part of the basic character
     sets.
-    Latin:            00AA, 00BA, 00C0-00D6.00D8-00F6.00F8-01F5.01FA-0217,
-                      0250-02A8.1E00-1E9B, 1EA0-1EF9.207F
-    Greek:            0386.0388-038A, 038C, 038E-03A1.03A3-03CE, 03D0-03D6,
-                      03DA, 03DC, 03DE, 03E0.03E2-03F3.1F00-1F15.1F18-1F1D,
-                      1F20-1F45.1F48-1F4D, 1F50-1F57.1F59.1F5B, 1F5D,
-                      1F5F-1F7D, 1F80-1FB4.1FB6-1FBC, 1FC2-1FC4.1FC6-1FCC,
-                      1FD0-1FD3.1FD6-1FDB, 1FE0-1FEC, 1FF2-1FF4.1FF6-1FFC
-    Cyrillic:         0401-040C, 040E-044F, 0451-045C, 045E-0481.0490-04C4,
-                      04C7-04C8.04CB-04CC, 04D0-04EB, 04EE-04F5.04F8-04F9
-    Armenian:         0531-0556.0561-0587
+    Latin:            00AA, 00BA, 00C0-00D6, 00D8-00F6, 00F8-01F5, 01FA-0217,
+                      0250-02A8, 1E00-1E9B, 1EA0-1EF9, 207F
+    Greek:            0386, 0388-038A, 038C, 038E-03A1, 03A3-03CE, 03D0-03D6,
+                      03DA, 03DC, 03DE, 03E0, 03E2-03F3, 1F00-1F15, 1F18-1F1D,
+                      1F20-1F45, 1F48-1F4D, 1F50-1F57, 1F59, 1F5B, 1F5D,
+                      1F5F-1F7D, 1F80-1FB4, 1FB6-1FBC, 1FC2-1FC4, 1FC6-1FCC,
+                      1FD0-1FD3, 1FD6-1FDB, 1FE0-1FEC, 1FF2-1FF4, 1FF6-1FFC
+    Cyrillic:         0401-040C, 040E-044F, 0451-045C, 045E-04810490-04C4,
+                      04C7-04C8, 04CB-04CC, 04D0-04EB, 04EE-04F5, 04F8-04F9
+    Armenian:         0531-05560561-0587
     Hebrew:           05B0-05B9,      05BB-05BD,       05BF,   05C1-05C2,      05D0-05EA,
                       05F0-05F2
-    Arabic:           0621-063A, 0640-0652.0670-06B7.06BA-06BE, 06C0-06CE,
-                      06D0-06DC, 06E5-06E8.06EA-06ED
-    Devanagari:       0901-0903.0905-0939.093E-094D, 0950-0952.0958-0963
-    Bengali:          0981-0983.0985-098C, 098F-0990.0993-09A8.09AA-09B0,
-                      09B2.09B6-09B9.09BE-09C4.09C7-09C8.09CB-09CD,
-                      09DC-09DD, 09DF-09E3.09F0-09F1
-    Gurmukhi:         0A02.0A05-0A0A, 0A0F-0A10.0A13-0A28.0A2A-0A30,
-                      0A32-0A33.0A35-0A36.0A38-0A39.0A3E-0A42.0A47-0A48,
+    Arabic:           0621-063A, 0640-0652, 0670-06B7, 06BA-06BE, 06C0-06CE,
+                      06D0-06DC, 06E5-06E806EA-06ED
+    Devanagari:       0901-0903, 0905-0939, 093E-094D, 0950-0952, 0958-0963
+    Bengali:          0981-0983, 0985-098C, 098F-0990, 0993-09A8, 09AA-09B0,
+                      09B2, 09B6-09B9, 09BE-09C4, 09C7-09C8, 09CB-09CD,
+                      09DC-09DD, 09DF-09E309F0-09F1
+    Gurmukhi:         0A02, 0A05-0A0A, 0A0F-0A10, 0A13-0A28, 0A2A-0A30,
+                      0A32-0A33, 0A35-0A36, 0A38-0A39, 0A3E-0A42, 0A47-0A48,
                       0A4B-0A4D, 0A59-0A5C, 0A5E, 0A74
-    Gujarati:         0A81-0A83.0A85-0A8B, 0A8D, 0A8F-0A91.0A93-0AA8,
-                      0AAA-0AB0,    0AB2-0AB3,     0AB5-0AB9.0ABD-0AC5,
-                      0AC7-0AC9.0ACB-0ACD, 0AD0.0AE0
-    Oriya:            0B01-0B03.0B05-0B0C, 0B0F-0B10.0B13-0B28.0B2A-0B30,
-                      0B32-0B33.0B36-0B39.0B3E-0B43.0B47-0B48.0B4B-0B4D,
+    Gujarati:         0A81-0A83, 0A85-0A8B, 0A8D, 0A8F-0A91, 0A93-0AA8,
+                      0AAA-0AB0,    0AB2-0AB3,     0AB5-0AB9, 0ABD-0AC5,
+                      0AC7-0AC9, 0ACB-0ACD, 0AD0, 0AE0
+    Oriya:            0B01-0B03, 0B05-0B0C, 0B0F-0B10, 0B13-0B28, 0B2A-0B30,
+                      0B32-0B33, 0B36-0B39, 0B3E-0B43, 0B47-0B48, 0B4B-0B4D,
+
 [page 440]
 
                 0B5C-0B5D, 0B5F-0B61
-Tamil:          0B82-0B83.0B85-0B8A, 0B8E-0B90.0B92-0B95.0B99-0B9A,
-                0B9C, 0B9E-0B9F, 0BA3-0BA4.0BA8-0BAA, 0BAE-0BB5,
-                0BB7-0BB9.0BBE-0BC2.0BC6-0BC8.0BCA-0BCD
-Telugu:         0C01-0C03.0C05-0C0C, 0C0E-0C10.0C12-0C28.0C2A-0C33,
-                0C35-0C39.0C3E-0C44.0C46-0C48.0C4A-0C4D, 0C60-0C61
-Kannada:        0C82-0C83.0C85-0C8C, 0C8E-0C90.0C92-0CA8.0CAA-0CB3,
-                0CB5-0CB9.0CBE-0CC4.0CC6-0CC8.0CCA-0CCD, 0CDE,
+Tamil:          0B82-0B83, 0B85-0B8A, 0B8E-0B90, 0B92-0B95, 0B99-0B9A,
+                0B9C, 0B9E-0B9F, 0BA3-0BA40BA8-0BAA, 0BAE-0BB5,
+                0BB7-0BB9, 0BBE-0BC2, 0BC6-0BC8, 0BCA-0BCD
+Telugu:         0C01-0C03, 0C05-0C0C, 0C0E-0C10, 0C12-0C28, 0C2A-0C33,
+                0C35-0C39, 0C3E-0C44, 0C46-0C48, 0C4A-0C4D, 0C60-0C61
+Kannada:        0C82-0C83, 0C85-0C8C, 0C8E-0C90, 0C92-0CA8, 0CAA-0CB3,
+                0CB5-0CB9, 0CBE-0CC4, 0CC6-0CC8, 0CCA-0CCD, 0CDE,
                 0CE0-0CE1
-Malayalam:      0D02-0D03.0D05-0D0C, 0D0E-0D10.0D12-0D28.0D2A-0D39,
-                0D3E-0D43.0D46-0D48.0D4A-0D4D, 0D60-0D61
+Malayalam:      0D02-0D03, 0D05-0D0C, 0D0E-0D10, 0D12-0D28, 0D2A-0D39,
+                0D3E-0D43, 0D46-0D48, 0D4A-0D4D, 0D60-0D61
 Thai:           0E01-0E3A, 0E40-0E5B
-Lao:            0E81-0E82.0E84.0E87-0E88.0E8A, 0E8D, 0E94-0E97,
+Lao:            0E81-0E82, 0E84, 0E87-0E88, 0E8A, 0E8D, 0E94-0E97,
                 0E99-0E9F,   0EA1-0EA3,  0EA5,  0EA7,  0EAA-0EAB,
-                0EAD-0EAE, 0EB0-0EB9.0EBB-0EBD, 0EC0-0EC4.0EC6,
+                0EAD-0EAE, 0EB0-0EB9, 0EBB-0EBD, 0EC0-0EC4, 0EC6,
                 0EC8-0ECD, 0EDC-0EDD
-Tibetan:        0F00.0F18-0F19.0F35.0F37.0F39.0F3E-0F47.0F49-0F69,
-                0F71-0F84.0F86-0F8B, 0F90-0F95.0F97.0F99-0FAD,
-                0FB1-0FB7.0FB9
-Georgian:       10A0-10C5.10D0-10F6
-Hiragana:       3041-3093.309B-309C
-Katakana:       30A1-30F6.30FB-30FC
+Tibetan:        0F00, 0F18-0F19, 0F35, 0F37, 0F39, 0F3E-0F47, 0F49-0F69,
+                0F71-0F84, 0F86-0F8B, 0F90-0F95, 0F97, 0F99-0FAD,
+                0FB1-0FB70FB9
+Georgian:       10A0-10C510D0-10F6
+Hiragana:       3041-3093309B-309C
+Katakana:       30A1-30F630FB-30FC
 Bopomofo:       3105-312C
 CJK Unified Ideographs: 4E00-9FA5
 Hangul:         AC00-D7A3
-Digits:         0660-0669.06F0-06F9.0966-096F, 09E6-09EF, 0A66-0A6F,
+Digits:         0660-0669, 06F0-06F9, 0966-096F, 09E6-09EF, 0A66-0A6F,
                 0AE6-0AEF, 0B66-0B6F, 0BE7-0BEF, 0C66-0C6F, 0CE6-0CEF,
-                0D66-0D6F, 0E50-0E59.0ED0-0ED9.0F20-0F33
-Special characters: 00B5.00B7.02B0-02B8.02BB, 02BD-02C1.02D0-02D1,
-                   02E0-02E4.037A, 0559.093D, 0B3D, 1FBE, 203F-2040.2102,
-                   2107.210A-2113.2115.2118-211D, 2124.2126.2128.212A-2131,
-                   2133-2138.2160-2182.3005-3007.3021-3029
-
-
-
+                0D66-0D6F, 0E50-0E59, 0ED0-0ED9, 0F20-0F33
+Special characters: 00B5, 00B7, 02B0-02B8, 02BB, 02BD-02C1, 02D0-02D1,
+                   02E0-02E4, 037A, 0559, 093D, 0B3D, 1FBE, 203F-2040, 2102,
+                   2107, 210A-2113, 2115, 2118-211D, 2124, 2126, 2128, 212A-2131,
+                   2133-2138, 2160-2182, 3005-3007, 3021-3029
 
 [page 441]
 
@@ -17353,6 +16942,7 @@ Special characters: 00B5.00B7.02B0-02B8.02BB, 02BD-02C1.02D0-02D1,
 4   The values given in the following list shall be replaced by implementation-defined
     constant expressions that are greater or equal in magnitude (absolute value) to those
     shown, with the same sign:
+
 [page 442]
 
            #define    DBL_DIG                                        10
@@ -17389,9 +16979,6 @@ Special characters: 00B5.00B7.02B0-02B8.02BB, 02BD-02C1.02D0-02D1,
            #define    LDBL_EPSILON                               1E-9
            #define    LDBL_MIN                                  1E-37
 
-
-
-
 [page 443]
 
                                                Annex F
@@ -17486,7 +17073,7 @@ Special characters: 00B5.00B7.02B0-02B8.02BB, 02BD-02C1.02D0-02D1,
 -- The fegetround and fesetround functions in <fenv.h> provide the facility
   to select among the IEC 60559 directed rounding modes represented by the rounding
   direction macros in <fenv.h> (FE_TONEAREST, FE_UPWARD, FE_DOWNWARD,
-  FE_TOWARDZERO) and the values 0.1, 2, and 3 of FLT_ROUNDS are the
+  FE_TOWARDZERO) and the values 01, 2, and 3 of FLT_ROUNDS are the
   IEC 60559 directed rounding modes.
 -- The fegetenv, feholdexcept, fesetenv, and feupdateenv functions in
   <fenv.h> provide a facility to manage the floating-point environment, comprising
@@ -17626,7 +17213,6 @@ Special characters: 00B5.00B7.02B0-02B8.02BB, 02BD-02C1.02D0-02D1,
          efficiency of translation-time evaluation through static initialization, such as
                   const static double one_third = 1.0/3.0;
 
-
 [page 449]
 
     execution time.
@@ -17706,32 +17292,33 @@ Special characters: 00B5.00B7.02B0-02B8.02BB, 02BD-02C1.02D0-02D1,
     floating-point exceptions need not be precise: the actual order and number of occurrences
     of floating-point exceptions (> 1) may vary from what the source code expresses. Thus,
     the preceding loop could be treated as
+
 [page 451]
 
             if (0 < n) x + 1;
     F.8.2 Expression transformations
-1   x / 2 (<->) x * 0.5                         Although similar transformations involving inexact
+1   x / 2 <-> x * 0.5                         Although similar transformations involving inexact
                                             constants generally do not yield numerically equivalent
                                             expressions, if the constants are exact then such
                                             transformations can be made on IEC 60559 machines
                                             and others that round perfectly.
-    1 * x and x / 1 (->) x                     The expressions 1 * x, x / 1, and x are equivalent
+    1 * x and x / 1 -> x                     The expressions 1 * x, x / 1, and x are equivalent
                                             (on IEC 60559 machines, among others).317)
-    x / x (->) 1.0                             The expressions x / x and 1.0 are not equivalent if x
+    x / x -> 1.0                             The expressions x / x and 1.0 are not equivalent if x
                                             can be zero, infinite, or NaN.
-    x - y (<->) x + (-y)                        The expressions x - y, x + (-y), and (-y) + x
+    x - y <-> x + (-y)                        The expressions x - y, x + (-y), and (-y) + x
                                             are equivalent (on IEC 60559 machines, among others).
-    x - y (<->) -(y - x)                        The expressions x - y and -(y - x) are not
+    x - y <-> -(y - x)                        The expressions x - y and -(y - x) are not
                                             equivalent because 1 - 1 is +0 but -(1 - 1) is -0 (in the
                                             default rounding direction).318)
-    x - x (->) 0.0                             The expressions x - x and 0.0 are not equivalent if
+    x - x -> 0.0                             The expressions x - x and 0.0 are not equivalent if
                                             x is a NaN or infinite.
-    0 * x (->) 0.0                             The expressions 0 * x and 0.0 are not equivalent if
+    0 * x -> 0.0                             The expressions 0 * x and 0.0 are not equivalent if
                                             x is a NaN, infinite, or -0.
-    x + 0(->)x                                 The expressions x + 0 and x are not equivalent if x is
+    x + 0->x                                 The expressions x + 0 and x are not equivalent if x is
                                             -0, because (-0) + (+0) yields +0 (in the default
                                             rounding direction), not -0.
-    x - 0(->)x                                 (+0) - (+0) yields -0 when rounding is downward
+    x - 0->x                                 (+0) - (+0) yields -0 when rounding is downward
                                             (toward -(inf)), but +0 otherwise, and (-0) - (+0) always
                                             yields -0; so, if the state of the FENV_ACCESS pragma
                                             is ''off'', promising default rounding, then the
@@ -17750,13 +17337,13 @@ Special characters: 00B5.00B7.02B0-02B8.02BB, 02BD-02C1.02D0-02D1,
 [page 452]
 
                                              might be zero.
-    -x (<->) 0 - x                               The expressions -x and 0 - x are not equivalent if x
+    -x <-> 0 - x                               The expressions -x and 0 - x are not equivalent if x
                                              is +0, because -(+0) yields -0, but 0 - (+0) yields +0
                                              (unless rounding is downward).
     F.8.3 Relational operators
-1   x != x (->) false                           The statement x != x is true if x is a NaN.
-    x == x (->) true                            The statement x == x is false if x is a NaN.
-    x < y (->) isless(x,y)                      (and similarly for <=, >, >=) Though numerically
+1   x != x -> false                           The statement x != x is true if x is a NaN.
+    x == x -> true                            The statement x == x is false if x is a NaN.
+    x < y -> isless(x,y)                      (and similarly for <=, >, >=) Though numerically
                                              equal, these expressions are not equivalent because of
                                              side effects when x or y is a NaN and the state of the
                                              FENV_ACCESS pragma is ''on''. This transformation,
@@ -17786,9 +17373,6 @@ Special characters: 00B5.00B7.02B0-02B8.02BB, 02BD-02C1.02D0-02D1,
                      f();
     nor, unless the state of the FENV_ACCESS pragma is ''off'', to
 
-
-
-
 [page 453]
 
              // calls g without raising ''invalid'' if a and b are unordered
@@ -17830,7 +17414,7 @@ Special characters: 00B5.00B7.02B0-02B8.02BB, 02BD-02C1.02D0-02D1,
     rounding direction, a maximal-magnitude finite number -- is returned in lieu of a value
 
 
-    319.0 - 0 yields -0 instead of +0 just when the rounding direction is downward.
+    3190 - 0 yields -0 instead of +0 just when the rounding direction is downward.
 
 [page 454]
 
@@ -17900,7 +17484,7 @@ Special characters: 00B5.00B7.02B0-02B8.02BB, 02BD-02C1.02D0-02D1,
 
 
 
-    322) atan2(0.0) does not raise the ''invalid'' floating-point exception, nor does atan2( y ,    0) raise
+    322) atan2(00) does not raise the ''invalid'' floating-point exception, nor does atan2( y ,    0) raise
          the ''divide-by-zero'' floating-point exception.
 
 [page 456]
@@ -17931,9 +17515,6 @@ Special characters: 00B5.00B7.02B0-02B8.02BB, 02BD-02C1.02D0-02D1,
 1   -- tanh((+-)0) returns (+-)0.
     -- tanh((+-)(inf)) returns (+-)1.
 
-
-
-
 [page 457]
 
     F.9.3 Exponential and logarithmic functions
@@ -17965,9 +17546,6 @@ Special characters: 00B5.00B7.02B0-02B8.02BB, 02BD-02C1.02D0-02D1,
 1   If the correct result is outside the range of the return type, the numeric result is
     unspecified and the ''invalid'' floating-point exception is raised.
 
-
-
-
 [page 458]
 
     F.9.3.6 The ldexp functions
@@ -17997,9 +17575,6 @@ Special characters: 00B5.00B7.02B0-02B8.02BB, 02BD-02C1.02D0-02D1,
 1   -- logb((+-)0) returns -(inf) and raises the ''divide-by-zero'' floating-point exception.
     -- logb((+-)(inf)) returns +(inf).
 
-
-
-
 [page 459]
 
     F.9.3.12 The modf functions
@@ -18033,9 +17608,6 @@ Special characters: 00B5.00B7.02B0-02B8.02BB, 02BD-02C1.02D0-02D1,
 1   -- fabs((+-)0) returns +0.
     -- fabs((+-)(inf)) returns +(inf).
 
-
-
-
 [page 460]
 
     F.9.4.3 The hypot functions
@@ -18065,9 +17637,6 @@ Special characters: 00B5.00B7.02B0-02B8.02BB, 02BD-02C1.02D0-02D1,
     -- pow(+(inf), y) returns +0 for y < 0.
     -- pow(+(inf), y) returns +(inf) for y > 0.
 
-
-
-
 [page 461]
 
     F.9.4.5 The sqrt functions
@@ -18098,9 +17667,6 @@ Special characters: 00B5.00B7.02B0-02B8.02BB, 02BD-02C1.02D0-02D1,
     -- ceil((+-)(inf)) returns (+-)(inf).
 2   The double version of ceil behaves as though implemented by
 
-
-
-
 [page 462]
 
            #include <math.h>
@@ -18136,9 +17702,6 @@ Special characters: 00B5.00B7.02B0-02B8.02BB, 02BD-02C1.02D0-02D1,
     exception and the result differs from the argument, they raise the ''inexact'' floating-point
     exception.
 
-
-
-
 [page 463]
 
     F.9.6.6 The round functions
@@ -18174,9 +17737,6 @@ Special characters: 00B5.00B7.02B0-02B8.02BB, 02BD-02C1.02D0-02D1,
     -- trunc((+-)0) returns (+-)0.
     -- trunc((+-)(inf)) returns (+-)(inf).
 
-
-
-
 [page 464]
 
     F.9.7 Remainder functions
@@ -18208,9 +17768,6 @@ Special characters: 00B5.00B7.02B0-02B8.02BB, 02BD-02C1.02D0-02D1,
     F.9.8.2 The nan functions
 1   All IEC 60559 implementations support quiet NaNs, in all floating formats.
 
-
-
-
 [page 465]
 
     F.9.8.3 The nextafter functions
@@ -18278,9 +17835,6 @@ Special characters: 00B5.00B7.02B0-02B8.02BB, 02BD-02C1.02D0-02D1,
     of its parts is a finite number (neither infinite nor NaN). A complex or imaginary value is
     a zero if each of its parts is a zero.
 
-
-
-
 [page 467]
 
     G.4 Conversions
@@ -18502,7 +18056,7 @@ Special characters: 00B5.00B7.02B0-02B8.02BB, 02BD-02C1.02D0-02D1,
     shown. Unless otherwise specified, where the symbol ''(+-)'' occurs in both an argument
     and the result, the result has the same sign as the argument.
 3   The functions are continuous onto both sides of their branch cuts, taking into account the
-    sign of zero. For example, csqrt(-2 (+-) i0) = (+-)isqrt:2.  ???
+    sign of zero. For example, csqrt(-2 (+-) i0) = (+-)i(sqrt)2.  ???
 4   Since complex and imaginary values are composed of real values, each function may be
     regarded as computing real values from real values. Except as noted, the functions treat
     real infinities, NaNs, signed zeros, subnormals, and the floating-point exception flags in a
@@ -18569,7 +18123,6 @@ Special characters: 00B5.00B7.02B0-02B8.02BB, 02BD-02C1.02D0-02D1,
     -- cacosh(+(inf) + i (inf)) returns +(inf) + ipi /4.
     -- cacosh((+-)(inf) + iNaN) returns +(inf) + iNaN.
 
-
 [page 474]
 
     -- cacosh(NaN + iy) returns NaN + iNaN and optionally raises the ''invalid''
@@ -18639,6 +18192,7 @@ Special characters: 00B5.00B7.02B0-02B8.02BB, 02BD-02C1.02D0-02D1,
       unspecified) and raises the ''invalid'' floating-point exception.
     -- csinh(+0 + iNaN) returns (+-)0 + iNaN (where the sign of the real part of the result is
       unspecified).
+
 [page 476]
 
     -- csinh(x + i (inf)) returns NaN + iNaN and raises the ''invalid'' floating-point
@@ -18672,9 +18226,6 @@ Special characters: 00B5.00B7.02B0-02B8.02BB, 02BD-02C1.02D0-02D1,
       point exception, for all nonzero numbers y.
     -- ctanh(NaN + iNaN) returns NaN + iNaN.
 
-
-
-
 [page 477]
 
     G.6.3 Exponential and logarithmic functions
@@ -18769,9 +18320,6 @@ Special characters: 00B5.00B7.02B0-02B8.02BB, 02BD-02C1.02D0-02D1,
            asinh(iy)    =   i asin(y)
            atanh(iy)    =   i atan(y)
 
-
-
-
 [page 480]
 
                                           Annex H
@@ -18803,9 +18351,6 @@ Special characters: 00B5.00B7.02B0-02B8.02BB, 02BD-02C1.02D0-02D1,
 3   The parameter ''bounded'' is always true, and is not provided. The parameter ''minint''
     is always 0 for the unsigned types, and is not provided for those types.
 
-
-
-
 [page 481]
 
     H.2.2.1 Integer operations
@@ -18839,7 +18384,6 @@ Special characters: 00B5.00B7.02B0-02B8.02BB, 02BD-02C1.02D0-02D1,
     emin           FLT_MIN_EXP, DBL_MIN_EXP, LDBL_MIN_EXP
 2   The derived constants for the floating point types are accessed by the following:
 
-
 [page 482]
 
     fmax          FLT_MAX, DBL_MAX, LDBL_MAX
@@ -18881,14 +18425,14 @@ Special characters: 00B5.00B7.02B0-02B8.02BB, 02BD-02C1.02D0-02D1,
     in all relevant LIA-1 operations, not just addition as in C.
     H.2.4 Type conversions
 1   The LIA-1 type conversions are the following type casts:
-    cvtI' (->) I      (int)i, (long int)i, (long long int)i,
+    cvtI' -> I      (int)i, (long int)i, (long long int)i,
                    (unsigned int)i, (unsigned long int)i,
                    (unsigned long long int)i
-    cvtF (->) I       (int)x, (long int)x, (long long int)x,
+    cvtF -> I       (int)x, (long int)x, (long long int)x,
                    (unsigned int)x, (unsigned long int)x,
                    (unsigned long long int)x
-    cvtI (->) F       (float)i, (double)i, (long double)i
-    cvtF' (->) F      (float)x, (double)x, (long double)x
+    cvtI -> F       (float)i, (double)i, (long double)i
+    cvtF' -> F      (float)x, (double)x, (long double)x
 2   In the above conversions from floating to integer, the use of (cast)x can be replaced with
     (cast)round(x), (cast)rint(x), (cast)nearbyint(x), (cast)trunc(x),
     (cast)ceil(x), or (cast)floor(x). In addition, C's floating-point to integer
@@ -18908,9 +18452,6 @@ Special characters: 00B5.00B7.02B0-02B8.02BB, 02BD-02C1.02D0-02D1,
 5   C's conversions (casts) from integer to floating-point can meet LIA-1 requirements if an
     implementation uses round-to-nearest.
 
-
-
-
 [page 484]
 
     H.3 Notification
@@ -18947,6 +18488,7 @@ Special characters: 00B5.00B7.02B0-02B8.02BB, 02BD-02C1.02D0-02D1,
     where i is an expression of type int representing a subset of the LIA-1 indicators.
 4   C allows an implementation to provide the following LIA-1 required behavior: at
     program termination if any indicator is set the implementation shall send an unambiguous
+
 [page 485]
 
     and ''hard to ignore'' message (see LIA-1 subclause 6.1.2)
@@ -18966,9 +18508,6 @@ Special characters: 00B5.00B7.02B0-02B8.02BB, 02BD-02C1.02D0-02D1,
     terminate (either default implementation behavior or user replacement for it) or trap-and-
     resume, at the programmer's option.
 
-
-
-
 [page 486]
 
                                            Annex I
@@ -18977,7 +18516,7 @@ Special characters: 00B5.00B7.02B0-02B8.02BB, 02BD-02C1.02D0-02D1,
 1   An implementation may generate warnings in many situations, none of which are
     specified as part of this International Standard. The following are a few of the more
     common situations.
-2   -- A new struct or union type appears in a function prototype (6.2.1.6.7.2.3).
+2   -- A new struct or union type appears in a function prototype (6.2.16.7.2.3).
     -- A block with initialization of an object that has automatic storage duration is jumped
       into (6.2.4).
     -- An implicit narrowing conversion is encountered, such as the assignment of a long
@@ -19004,15 +18543,13 @@ Special characters: 00B5.00B7.02B0-02B8.02BB, 02BD-02C1.02D0-02D1,
     -- A statement with no apparent effect is encountered (6.8).
     -- A constant expression is used as the controlling expression of a selection statement
       (6.8.4).
+
 [page 487]
 
 -- An incorrectly formed preprocessing group is encountered while skipping a
   preprocessing group (6.10.1).
 -- An unrecognized #pragma directive is encountered (6.10.6).
 
-
-
-
 [page 488]
 
                                             Annex J
@@ -19047,6 +18584,7 @@ Special characters: 00B5.00B7.02B0-02B8.02BB, 02BD-02C1.02D0-02D1,
     -- The order in which subexpressions are evaluated and the order in which side effects
       take place, except as specified for the function-call (), &&, ||, ?:, and comma
       operators (6.5).
+
 [page 489]
 
 -- The order in which the function designator, arguments, and subexpressions within the
@@ -19069,7 +18607,7 @@ Special characters: 00B5.00B7.02B0-02B8.02BB, 02BD-02C1.02D0-02D1,
   macro and the next preprocessing token from the source file is again a (, whether that
   is considered a nested replacement (6.10.3).
 -- The order in which # and ## operations are evaluated during macro substitution
-  (6.10.3.2.6.10.3.3).
+  (6.10.3.26.10.3.3).
 -- Whether errno is a macro or an identifier with external linkage (7.5).
 -- The state of the floating-point status flags when execution passes from a part of the
   program translated with FENV_ACCESS ''off'' to a part translated with
@@ -19082,7 +18620,7 @@ Special characters: 00B5.00B7.02B0-02B8.02BB, 02BD-02C1.02D0-02D1,
   number (7.12.6.4).
 -- The numeric result of the ilogb functions when the correct value is outside the
   range of the return type (7.12.6.5, F.9.3.5).
--- The result of rounding when the value is out of range (7.12.9.5.7.12.9.7, F.9.6.5).
+-- The result of rounding when the value is out of range (7.12.9.57.12.9.7, F.9.6.5).
 
 [page 490]
 
@@ -19092,16 +18630,16 @@ Special characters: 00B5.00B7.02B0-02B8.02BB, 02BD-02C1.02D0-02D1,
 -- Whether va_copy and va_end are macros or identifiers with external linkage
   (7.15.1).
 -- The hexadecimal digit before the decimal point when a non-normalized floating-point
-  number is printed with an a or A conversion specifier (7.19.6.1.7.24.2.1).
+  number is printed with an a or A conversion specifier (7.19.6.17.24.2.1).
 -- The value of the file position indicator after a successful call to the ungetc function
   for a text stream, or the ungetwc function for any stream, until all pushed-back
-  characters are read or discarded (7.19.7.11.7.24.3.10).
+  characters are read or discarded (7.19.7.117.24.3.10).
 -- The details of the value stored by the fgetpos function (7.19.9.1).
 -- The details of the value returned by the ftell function for a text stream (7.19.9.4).
 -- Whether the strtod, strtof, strtold, wcstod, wcstof, and wcstold
   functions convert a minus-signed sequence to a negative number directly or by
   negating the value resulting from converting the corresponding unsigned sequence
-  (7.20.1.3.7.24.4.1.1).
+  (7.20.1.37.24.4.1.1).
 -- The order and contiguity of storage allocated by successive calls to the calloc,
   malloc, and realloc functions (7.20.3).
 -- The amount of storage allocated by a successful call to the calloc, malloc, or
@@ -19112,16 +18650,14 @@ Special characters: 00B5.00B7.02B0-02B8.02BB, 02BD-02C1.02D0-02D1,
   function (7.20.5.2).
 -- The encoding of the calendar time returned by the time function (7.23.2.4).
 -- The characters stored by the strftime or wcsftime function if any of the time
-  values being converted is outside the normal range (7.23.3.5.7.24.5.1).
--- The conversion state after an encoding error occurs (7.24.6.3.2.7.24.6.3.3.7.24.6.4.1,
+  values being converted is outside the normal range (7.23.3.57.24.5.1).
+-- The conversion state after an encoding error occurs (7.24.6.3.2, 7.24.6.3.3, 7.24.6.4.1,
   7.24.6.4.2,
 -- The resulting value when the ''invalid'' floating-point exception is raised during
   IEC 60559 floating to integer conversion (F.4).
 -- Whether conversion of non-integer IEC 60559 floating values to integer raises the
   ''inexact'' floating-point exception (F.4).
 
-
-
 [page 491]
 
     -- Whether or when library functions in <math.h> raise the ''inexact'' floating-point
@@ -19155,7 +18691,7 @@ Special characters: 00B5.00B7.02B0-02B8.02BB, 02BD-02C1.02D0-02D1,
     -- An object is referred to outside of its lifetime (6.2.4).
     -- The value of a pointer to an object whose lifetime has ended is used (6.2.4).
     -- The value of an object with automatic storage duration is used while it is
-      indeterminate (6.2.4.6.7.8.6.8).
+      indeterminate (6.2.4, 6.7.8, 6.8).
     -- A trap representation is read by an lvalue expression that does not have character type
       (6.2.6.1).
 
@@ -19195,7 +18731,6 @@ Special characters: 00B5.00B7.02B0-02B8.02BB, 02BD-02C1.02D0-02D1,
 -- Two identifiers differ only in nonsignificant characters (6.4.2.1).
 -- The identifier __func__ is explicitly declared (6.4.2.2).
 
-
 [page 493]
 
 -- The program attempts to modify a string literal (6.4.5).
@@ -19209,7 +18744,7 @@ Special characters: 00B5.00B7.02B0-02B8.02BB, 02BD-02C1.02D0-02D1,
   (6.5).
 -- An attempt is made to modify the result of a function call, a conditional operator, an
   assignment operator, or a comma operator, or to access it after the next sequence
-  point (6.5.2.2.6.5.15.6.5.16.6.5.17).
+  point (6.5.2.2, 6.5.15, 6.5.16, 6.5.17).
 -- For a call to a function without a function prototype in scope, the number of
   arguments does not equal the number of parameters (6.5.2.2).
 -- For call to a function without a function prototype in scope where the function is
@@ -19272,7 +18807,6 @@ Special characters: 00B5.00B7.02B0-02B8.02BB, 02BD-02C1.02D0-02D1,
   than extern (6.7.1).
 -- A structure or union is defined as containing no named members (6.7.2.1).
 
-
 [page 495]
 
 -- An attempt is made to access, or generate a pointer to just past, a flexible array
@@ -19311,6 +18845,7 @@ Special characters: 00B5.00B7.02B0-02B8.02BB, 02BD-02C1.02D0-02D1,
    compatible return types, or their parameters disagree in use of the ellipsis terminator
    or the number and type of parameters (after default argument promotion, when there
     is no parameter type list or when one type is specified by a function definition with an
+
 [page 496]
 
    identifier list) (6.7.5.3).
@@ -19385,9 +18920,10 @@ Special characters: 00B5.00B7.02B0-02B8.02BB, 02BD-02C1.02D0-02D1,
 -- The argument to the assert macro does not have a scalar type (7.2).
 -- The CX_LIMITED_RANGE, FENV_ACCESS, or FP_CONTRACT pragma is used in
   any context other than outside all external declarations or preceding all explicit
+
 [page 498]
 
-   declarations and statements inside a compound statement (7.3.4.7.6.1.7.12.2).
+   declarations and statements inside a compound statement (7.3.4, 7.6.1, 7.12.2).
 -- The value of an argument to a character handling function is neither equal to the value
   of EOF nor representable as an unsigned char (7.4).
 -- A macro definition of errno is suppressed in order to access an actual object, or the
@@ -19402,9 +18938,9 @@ Special characters: 00B5.00B7.02B0-02B8.02BB, 02BD-02C1.02D0-02D1,
   not specified in the call to the fegetexceptflag function that provided the value
   of the corresponding fexcept_t object (7.6.2.4).
 -- The argument to fesetenv or feupdateenv is neither an object set by a call to
-  fegetenv or feholdexcept, nor is it an environment macro (7.6.4.3.7.6.4.4).
+  fegetenv or feholdexcept, nor is it an environment macro (7.6.4.37.6.4.4).
 -- The value of the result of an integer arithmetic or conversion function cannot be
-  represented (7.8.2.1.7.8.2.2.7.8.2.3.7.8.2.4.7.20.6.1.7.20.6.2.7.20.1).
+  represented (7.8.2.1, 7.8.2.2, 7.8.2.3, 7.8.2.4, 7.20.6.1, 7.20.6.2, 7.20.1).
 -- The program modifies the string pointed to by the value returned by the setlocale
   function (7.11.1.1).
 -- The program modifies the structure pointed to by the value returned by the
@@ -19412,7 +18948,7 @@ Special characters: 00B5.00B7.02B0-02B8.02BB, 02BD-02C1.02D0-02D1,
 -- A macro definition of math_errhandling is suppressed or the program defines
   an identifier with the name math_errhandling (7.12).
 -- An argument to a floating-point classification or comparison macro is not of real
-  floating type (7.12.3.7.12.14).
+  floating type (7.12.37.12.14).
 -- A macro definition of setjmp is suppressed in order to access an actual function, or
   the program defines an external identifier with the name setjmp (7.13).
 -- An invocation of the setjmp macro occurs other than in an allowed context
@@ -19441,14 +18977,14 @@ Special characters: 00B5.00B7.02B0-02B8.02BB, 02BD-02C1.02D0-02D1,
 -- A signal is generated by an asynchronous signal handler (7.14.1.1).
 -- A function with a variable number of arguments attempts to access its varying
   arguments other than through a properly declared and initialized va_list object, or
-  before the va_start macro is invoked (7.15.7.15.1.1.7.15.1.4).
+  before the va_start macro is invoked (7.15, 7.15.1.1, 7.15.1.4).
 -- The macro va_arg is invoked using the parameter ap that was passed to a function
   that invoked the macro va_arg with the same parameter (7.15).
 -- A macro definition of va_start, va_arg, va_copy, or va_end is suppressed in
   order to access an actual function, or the program defines an external identifier with
   the name va_copy or va_end (7.15.1).
 -- The va_start or va_copy macro is invoked without a corresponding invocation
-  of the va_end macro in the same function, or vice versa (7.15.1.7.15.1.2.7.15.1.3,
+  of the va_end macro in the same function, or vice versa (7.15.1, 7.15.1.2, 7.15.1.3,
   7.15.1.4).
 -- The type parameter to the va_arg macro is not such that a pointer to an object of
   that type can be obtained simply by postfixing a * (7.15.1.1).
@@ -19457,10 +18993,11 @@ Special characters: 00B5.00B7.02B0-02B8.02BB, 02BD-02C1.02D0-02D1,
   argument, with certain exceptions (7.15.1.1).
 -- The va_copy or va_start macro is called to initialize a va_list that was
   previously initialized by either macro without an intervening invocation of the
-  va_end macro for the same va_list (7.15.1.2.7.15.1.4).
+  va_end macro for the same va_list (7.15.1.27.15.1.4).
 -- The parameter parmN of a va_start macro is declared with the register
   storage class, with a function or array type, or with a type that is not compatible with
   the type that results after application of the default argument promotions (7.15.1.4).
+
 [page 500]
 
 -- The member designator parameter of an offsetof macro is an invalid right
@@ -19486,65 +19023,65 @@ Special characters: 00B5.00B7.02B0-02B8.02BB, 02BD-02C1.02D0-02D1,
   setvbuf function (7.19.5.6).
 -- There are insufficient arguments for the format in a call to one of the formatted
   input/output functions, or an argument does not have an appropriate type (7.19.6.1,
-  7.19.6.2.7.24.2.1.7.24.2.2).
+  7.19.6.2, 7.24.2.1, 7.24.2.2).
 -- The format in a call to one of the formatted input/output functions or to the
   strftime or wcsftime function is not a valid multibyte character sequence that
-  begins and ends in its initial shift state (7.19.6.1.7.19.6.2.7.23.3.5.7.24.2.1.7.24.2.2,
+  begins and ends in its initial shift state (7.19.6.1, 7.19.6.2, 7.23.3.5, 7.24.2.1, 7.24.2.2,
   7.24.5.1).
 -- In a call to one of the formatted output functions, a precision appears with a
-  conversion specifier other than those described (7.19.6.1.7.24.2.1).
+  conversion specifier other than those described (7.19.6.17.24.2.1).
 -- A conversion specification for a formatted output function uses an asterisk to denote
   an argument-supplied field width or precision, but the corresponding argument is not
-  provided (7.19.6.1.7.24.2.1).
+  provided (7.19.6.17.24.2.1).
 -- A conversion specification for a formatted output function uses a # or 0 flag with a
-  conversion specifier other than those described (7.19.6.1.7.24.2.1).
-
+  conversion specifier other than those described (7.19.6.1, 7.24.2.1).
 
 [page 501]
 
 -- A conversion specification for one of the formatted input/output functions uses a
   length modifier with a conversion specifier other than those described (7.19.6.1,
-  7.19.6.2.7.24.2.1.7.24.2.2).
+  7.19.6.2, 7.24.2.1, 7.24.2.2).
 -- An s conversion specifier is encountered by one of the formatted output functions,
   and the argument is missing the null terminator (unless a precision is specified that
-  does not require null termination) (7.19.6.1.7.24.2.1).
+  does not require null termination) (7.19.6.17.24.2.1).
 -- An n conversion specification for one of the formatted input/output functions includes
   any flags, an assignment-suppressing character, a field width, or a precision (7.19.6.1,
-  7.19.6.2.7.24.2.1.7.24.2.2).
+  7.19.6.2, 7.24.2.1, 7.24.2.2).
 -- A % conversion specifier is encountered by one of the formatted input/output
   functions, but the complete conversion specification is not exactly %% (7.19.6.1,
-  7.19.6.2.7.24.2.1.7.24.2.2).
+  7.19.6.2, 7.24.2.1, 7.24.2.2).
 -- An invalid conversion specification is found in the format for one of the formatted
-  input/output functions, or the strftime or wcsftime function (7.19.6.1.7.19.6.2,
-  7.23.3.5.7.24.2.1.7.24.2.2.7.24.5.1).
+  input/output functions, or the strftime or wcsftime function (7.19.6.17.19.6.2,
+  7.23.3.5, 7.24.2.1, 7.24.2.2, 7.24.5.1).
 -- The number of characters transmitted by a formatted output function is greater than
-  INT_MAX (7.19.6.1.7.19.6.3.7.19.6.8.7.19.6.10).
+  INT_MAX (7.19.6.1, 7.19.6.3, 7.19.6.8, 7.19.6.10).
 -- The result of a conversion by one of the formatted input functions cannot be
   represented in the corresponding object, or the receiving object does not have an
-  appropriate type (7.19.6.2.7.24.2.2).
+  appropriate type (7.19.6.27.24.2.2).
 -- A c, s, or [ conversion specifier is encountered by one of the formatted input
   functions, and the array pointed to by the corresponding argument is not large enough
   to accept the input sequence (and a null terminator if the conversion specifier is s or
-  [) (7.19.6.2.7.24.2.2).
+  [) (7.19.6.27.24.2.2).
 -- A c, s, or [ conversion specifier with an l qualifier is encountered by one of the
   formatted input functions, but the input is not a valid multibyte character sequence
-  that begins in the initial shift state (7.19.6.2.7.24.2.2).
+  that begins in the initial shift state (7.19.6.27.24.2.2).
 -- The input item for a %p conversion by one of the formatted input functions is not a
-  value converted earlier during the same program execution (7.19.6.2.7.24.2.2).
+  value converted earlier during the same program execution (7.19.6.27.24.2.2).
 -- The vfprintf, vfscanf, vprintf, vscanf, vsnprintf, vsprintf,
   vsscanf, vfwprintf, vfwscanf, vswprintf, vswscanf, vwprintf, or
   vwscanf function is called with an improperly initialized va_list argument, or
   the argument is used (other than in an invocation of va_end) after the function
-  returns (7.19.6.8.7.19.6.9.7.19.6.10.7.19.6.11.7.19.6.12.7.19.6.13.7.19.6.14,
-  7.24.2.5.7.24.2.6.7.24.2.7.7.24.2.8.7.24.2.9.7.24.2.10).
+  returns (7.19.6.8, 7.19.6.9, 7.19.6.10, 7.19.6.11, 7.19.6.12, 7.19.6.13, 7.19.6.14,
+  7.24.2.5, 7.24.2.6, 7.24.2.7, 7.24.2.8, 7.24.2.9, 7.24.2.10).
 -- The contents of the array supplied in a call to the fgets, gets, or fgetws function
-  are used after a read error occurred (7.19.7.2.7.19.7.7.7.24.3.2).
+  are used after a read error occurred (7.19.7.2, 7.19.7.7, 7.24.3.2).
+
 [page 502]
 
 -- The file position indicator for a binary stream is used after a call to the ungetc
   function where its value was zero before the call (7.19.7.11).
 -- The file position indicator for a stream is used after an error occurred during a call to
-  the fread or fwrite function (7.19.8.1.7.19.8.2).
+  the fread or fwrite function (7.19.8.17.19.8.2).
 -- A partial element read by a call to the fread function is used (7.19.8.1).
 -- The fseek function is called for a text stream with a nonzero offset and either the
   offset was not returned by a previous successful call to the ftell function on a
@@ -19558,7 +19095,7 @@ Special characters: 00B5.00B7.02B0-02B8.02BB, 02BD-02C1.02D0-02D1,
   realloc function is used (7.20.3).
 -- The pointer argument to the free or realloc function does not match a pointer
   earlier returned by calloc, malloc, or realloc, or the space has been
-  deallocated by a call to free or realloc (7.20.3.2.7.20.3.4).
+  deallocated by a call to free or realloc (7.20.3.27.20.3.4).
 -- The value of the object allocated by the malloc function is used (7.20.3.3).
 -- The value of any bytes in a new object allocated by the realloc function beyond
   the size of the old object are used (7.20.3.4).
@@ -19567,7 +19104,7 @@ Special characters: 00B5.00B7.02B0-02B8.02BB, 02BD-02C1.02D0-02D1,
   the longjmp function that would terminate the call to the registered function
   (7.20.4.3).
 -- The string set up by the getenv or strerror function is modified by the program
-  (7.20.4.5.7.21.6.2).
+  (7.20.4.57.21.6.2).
 -- A command is executed through the system function in a way that is documented as
   causing termination or some other form of undefined behavior (7.20.4.6).
 -- A searching or sorting utility function is called with an invalid pointer argument, even
@@ -19576,7 +19113,6 @@ Special characters: 00B5.00B7.02B0-02B8.02BB, 02BD-02C1.02D0-02D1,
   contents of the array being searched or sorted, or returns ordering values
   inconsistently (7.20.5).
 
-
 [page 503]
 
 -- The array being searched by the bsearch function does not have its elements in
@@ -19584,15 +19120,15 @@ Special characters: 00B5.00B7.02B0-02B8.02BB, 02BD-02C1.02D0-02D1,
 -- The current conversion state is used by a multibyte/wide character conversion
   function after changing the LC_CTYPE category (7.20.7).
 -- A string or wide string utility function is instructed to access an array beyond the end
-  of an object (7.21.1.7.24.4).
+  of an object (7.21.17.24.4).
 -- A string or wide string utility function is called with an invalid pointer argument, even
-  if the length is zero (7.21.1.7.24.4).
+  if the length is zero (7.21.17.24.4).
 -- The contents of the destination array are used after a call to the strxfrm,
   strftime, wcsxfrm, or wcsftime function in which the specified length was
-  too small to hold the entire null-terminated result (7.21.4.5.7.23.3.5.7.24.4.4.4,
+  too small to hold the entire null-terminated result (7.21.4.5, 7.23.3.5, 7.24.4.4.4,
   7.24.5.1).
 -- The first argument in the very first call to the strtok or wcstok is a null pointer
-  (7.21.5.8.7.24.4.5.7).
+  (7.21.5.87.24.4.5.7).
 -- The type of an argument to a type-generic macro is not compatible with the type of
   the corresponding parameter of the selected function (7.22).
 -- A complex argument is supplied for a generic parameter of a type-generic macro that
@@ -19613,16 +19149,13 @@ Special characters: 00B5.00B7.02B0-02B8.02BB, 02BD-02C1.02D0-02D1,
   one in effect for the call to the wctrans function that returned the description
   (7.25.3.2.1).
 
-
-
-
 [page 504]
 
     J.3 Implementation-defined behavior
 1   A conforming implementation is required to document its choice of behavior in each of
     the areas listed in this subclause. The following are implementation-defined:
     J.3.1 Translation
-1   -- How a diagnostic is identified (3.10.5.1.1.3).
+1   -- How a diagnostic is identified (3.105.1.1.3).
     -- Whether each nonempty sequence of white-space characters other than new-line is
       retained or replaced by one space character in translation phase 3 (5.1.1.2).
     J.3.2 Environment
@@ -19645,10 +19178,7 @@ Special characters: 00B5.00B7.02B0-02B8.02BB, 02BD-02C1.02D0-02D1,
     J.3.3 Identifiers
 1   -- Which additional multibyte characters may appear in identifiers and their
       correspondence to universal character names (6.4.2).
-    -- The number of significant initial characters in an identifier (5.2.4.1.6.4.2).
-
-
-
+    -- The number of significant initial characters in an identifier (5.2.4.1, 6.4.2).
 
 [page 505]
 
@@ -19660,9 +19190,9 @@ Special characters: 00B5.00B7.02B0-02B8.02BB, 02BD-02C1.02D0-02D1,
     -- The value of a char object into which has been stored any character other than a
       member of the basic execution character set (6.2.5).
     -- Which of signed char or unsigned char has the same range, representation,
-      and behavior as ''plain'' char (6.2.5.6.3.1.1).
+      and behavior as ''plain'' char (6.2.56.3.1.1).
     -- The mapping of members of the source character set (in character constants and string
-      literals) to members of the execution character set (6.4.4.4.5.1.1.2).
+      literals) to members of the execution character set (6.4.4.45.1.1.2).
     -- The value of an integer character constant containing more than one character or
       containing a character or escape sequence that does not map to a single-byte
       execution character (6.4.4.4).
@@ -19686,8 +19216,6 @@ Special characters: 00B5.00B7.02B0-02B8.02BB, 02BD-02C1.02D0-02D1,
     -- The result of, or the signal raised by, converting an integer to a signed integer type
       when the value cannot be represented in an object of that type (6.3.1.3).
 
-
-
 [page 506]
 
     -- The results of some bitwise operations on signed integers (6.5).
@@ -19712,16 +19240,13 @@ Special characters: 00B5.00B7.02B0-02B8.02BB, 02BD-02C1.02D0-02D1,
       FP_CONTRACT pragma (6.5).
     -- The default state for the FENV_ACCESS pragma (7.6.1).
     -- Additional floating-point exceptions, rounding             modes,    environments,   and
-      classifications, and their macro names (7.6.7.12).
+      classifications, and their macro names (7.67.12).
     -- The default state for the FP_CONTRACT pragma (7.12.2).                                    *
     J.3.7 Arrays and pointers
 1   -- The result of converting a pointer to an integer or vice versa (6.3.2.3).
     -- The size of the result of subtracting two pointers to elements of the same array
       (6.5.6).
 
-
-
-
 [page 507]
 
     J.3.8 Hints
@@ -19731,7 +19256,7 @@ Special characters: 00B5.00B7.02B0-02B8.02BB, 02BD-02C1.02D0-02D1,
       effective (6.7.4).
     J.3.9 Structures, unions, enumerations, and bit-fields
 1   -- Whether a ''plain'' int bit-field is treated as a signed int bit-field or as an
-      unsigned int bit-field (6.7.2.6.7.2.1).
+      unsigned int bit-field (6.7.26.7.2.1).
     -- Allowable bit-field types other than _Bool, signed int, and unsigned int
       (6.7.2.1).
     -- Whether a bit-field can straddle a storage-unit boundary (6.7.2.1).
@@ -19743,7 +19268,7 @@ Special characters: 00B5.00B7.02B0-02B8.02BB, 02BD-02C1.02D0-02D1,
 1   -- What constitutes an access to an object that has volatile-qualified type (6.7.3).
     J.3.11 Preprocessing directives
 1   -- The locations within #pragma directives where header name preprocessing tokens
-      are recognized (6.4.6.4.7).
+      are recognized (6.46.4.7).
     -- How sequences in both forms of header names are mapped to headers or external
       source file names (6.4.7).
     -- Whether the value of a character constant in a constant expression that controls
@@ -19794,8 +19319,6 @@ Special characters: 00B5.00B7.02B0-02B8.02BB, 02BD-02C1.02D0-02D1,
     -- The base-2 logarithm of the modulus used by the remquo functions in reducing the
       quotient (7.12.10.3).
 
-
-
 [page 509]
 
 -- Whether a domain error occurs or zero is returned when a remquo function has a
@@ -19826,49 +19349,47 @@ Special characters: 00B5.00B7.02B0-02B8.02BB, 02BD-02C1.02D0-02D1,
 -- Which changes of mode are permitted (if any), and under what circumstances
   (7.19.5.4).
 -- The style used to print an infinity or NaN, and the meaning of any n-char or n-wchar
-  sequence printed for a NaN (7.19.6.1.7.24.2.1).
+  sequence printed for a NaN (7.19.6.17.24.2.1).
 -- The output for %p conversion in the fprintf or fwprintf function (7.19.6.1,
   7.24.2.1).
 -- The interpretation of a - character that is neither the first nor the last character, nor
     the second where a ^ character is the first, in the scanlist for %[ conversion in the
-   fscanf or fwscanf function (7.19.6.2.7.24.2.1).
+   fscanf or fwscanf function (7.19.6.2, 7.24.2.1).
+
 [page 510]
 
     -- The set of sequences matched by a %p conversion and the interpretation of the
-      corresponding input item in the fscanf or fwscanf function (7.19.6.2.7.24.2.2).
+      corresponding input item in the fscanf or fwscanf function (7.19.6.27.24.2.2).
     -- The value to which the macro errno is set by the fgetpos, fsetpos, or ftell
-      functions on failure (7.19.9.1.7.19.9.3.7.19.9.4).
+      functions on failure (7.19.9.1, 7.19.9.3, 7.19.9.4).
     -- The meaning of any n-char or n-wchar sequence in a string representing a NaN that is
       converted by the strtod, strtof, strtold, wcstod, wcstof, or wcstold
-      function (7.20.1.3.7.24.4.1.1).
+      function (7.20.1.37.24.4.1.1).
     -- Whether or not the strtod, strtof, strtold, wcstod, wcstof, or wcstold
-      function sets errno to ERANGE when underflow occurs (7.20.1.3.7.24.4.1.1).
+      function sets errno to ERANGE when underflow occurs (7.20.1.37.24.4.1.1).
     -- Whether the calloc, malloc, and realloc functions return a null pointer or a
       pointer to an allocated object when the size requested is zero (7.20.3).
     -- Whether open streams with unwritten buffered data are flushed, open streams are
       closed, or temporary files are removed when the abort or _Exit function is called
-      (7.20.4.1.7.20.4.4).
+      (7.20.4.17.20.4.4).
     -- The termination status returned to the host environment by the abort, exit, or
-      _Exit function (7.20.4.1.7.20.4.3.7.20.4.4).
+      _Exit function (7.20.4.1, 7.20.4.3, 7.20.4.4).
     -- The value returned by the system function when its argument is not a null pointer
       (7.20.4.6).
     -- The local time zone and Daylight Saving Time (7.23.1).
     -- The range and precision of times representable in clock_t and time_t (7.23).
     -- The era for the clock function (7.23.2.1).
     -- The replacement string for the %Z specifier to the strftime, and wcsftime
-      functions in the "C" locale (7.23.3.5.7.24.5.1).
+      functions in the "C" locale (7.23.3.57.24.5.1).
     -- Whether the functions in <math.h> honor the rounding direction mode in an
       IEC 60559 conformant implementation, unless explicitly specified otherwise (F.9).
     J.3.13 Architecture
 1   -- The values or expressions assigned to the macros specified in the headers
-      <float.h>, <limits.h>, and <stdint.h> (5.2.4.2.7.18.2.7.18.3).
+      <float.h>, <limits.h>, and <stdint.h> (5.2.4.2, 7.18.2, 7.18.3).
     -- The number, order, and encoding of bytes in any object (when not explicitly specified
       in this International Standard) (6.2.6.1).
     -- The value of the result of the sizeof operator (6.5.3.4).
 
-
-
-
 [page 511]
 
     J.4 Locale-specific behavior
@@ -19881,25 +19402,22 @@ Special characters: 00B5.00B7.02B0-02B8.02BB, 02BD-02C1.02D0-02D1,
     -- The shift states used for the encoding of multibyte characters (5.2.1.2).
     -- The direction of writing of successive printing characters (5.2.2).
     -- The decimal-point character (7.1.1).
-    -- The set of printing characters (7.4.7.25.2).
-    -- The set of control characters (7.4.7.25.2).
+    -- The set of printing characters (7.47.25.2).
+    -- The set of control characters (7.47.25.2).
     -- The sets of characters tested for by the isalpha, isblank, islower, ispunct,
       isspace, isupper, iswalpha, iswblank, iswlower, iswpunct,
-      iswspace, or iswupper functions (7.4.1.2.7.4.1.3.7.4.1.7.7.4.1.9.7.4.1.10,
-      7.4.1.11.7.25.2.1.2.7.25.2.1.3.7.25.2.1.7.7.25.2.1.9.7.25.2.1.10.7.25.2.1.11).
+      iswspace, or iswupper functions (7.4.1.2, 7.4.1.3, 7.4.1.7, 7.4.1.9, 7.4.1.10,
+      7.4.1.11, 7.25.2.1.2, 7.25.2.1.3, 7.25.2.1.7, 7.25.2.1.9, 7.25.2.1.10, 7.25.2.1.11).
     -- The native environment (7.11.1.1).
     -- Additional subject sequences accepted by the numeric conversion functions (7.20.1,
       7.24.4.1).
-    -- The collation sequence of the execution character set (7.21.4.3.7.24.4.4.2).
+    -- The collation sequence of the execution character set (7.21.4.37.24.4.4.2).
     -- The contents of the error message strings set up by the strerror function
       (7.21.6.2).
-    -- The formats for time and date (7.23.3.5.7.24.5.1).
+    -- The formats for time and date (7.23.3.57.24.5.1).
     -- Character mappings that are supported by the towctrans function (7.25.1).
     -- Character classifications that are supported by the iswctype function (7.25.1).
 
-
-
-
 [page 512]
 
     J.5 Common extensions
@@ -19927,13 +19445,10 @@ Special characters: 00B5.00B7.02B0-02B8.02BB, 02BD-02C1.02D0-02D1,
     objects) (6.4.5).
     J.5.6 Other arithmetic types
 1   Additional arithmetic types, such as __int128 or double double, and their
-    appropriate conversions are defined (6.2.5.6.3.1). Additional floating types may have
+    appropriate conversions are defined (6.2.56.3.1). Additional floating types may have
     more range or precision than long double, may be used for evaluating expressions of
     other floating types, and may be used to define float_t or double_t.
 
-
-
-
 [page 513]
 
     J.5.7 Function pointer casts
@@ -19965,9 +19480,6 @@ Special characters: 00B5.00B7.02B0-02B8.02BB, 02BD-02C1.02D0-02D1,
     registered by the atexit function have been made (see 7.20.4.3), the implementation
     writes some diagnostics indicating the fact to the stderr stream, if it is still open,
 
-
-
-
 [page 514]
 
     J.5.14 Extra arguments for signal handlers
@@ -19986,9 +19498,6 @@ Special characters: 00B5.00B7.02B0-02B8.02BB, 02BD-02C1.02D0-02D1,
     instead of, or in addition to, setting errno or raising floating-point exceptions (7.3,
     7.12).
 
-
-
-
 [page 515]
 
 
@@ -20041,7 +19550,7 @@ Special characters: 00B5.00B7.02B0-02B8.02BB, 02BD-02C1.02D0-02D1,
  25. ISO/IEC 10646-1/AMD5:1998, Amendment 5 to ISO/IEC 10646-1:1993 Hangul
      syllables.
  26. ISO/IEC 10646-1/AMD6:1997, Amendment 6 to ISO/IEC 10646-1:1993 Tibetan.
- 27. ISO/IEC 10646-1/AMD7:1997, Amendment 7 to ISO/IEC 10646-1:199.33
+ 27. ISO/IEC 10646-1/AMD7:1997, Amendment 7 to ISO/IEC 10646-1:19933
      additional characters.
  28. ISO/IEC 10646-1/AMD8:1997, Amendment 8 to ISO/IEC 10646-1:1993.
  29. ISO/IEC 10646-1/AMD9:1997,    Amendment     9   to    ISO/IEC 10646-1:1993
@@ -20055,78 +19564,75 @@ Special characters: 00B5.00B7.02B0-02B8.02BB, 02BD-02C1.02D0-02D1,
  33. ISO/IEC 10967-1:1994, Information technology -- Language independent
      arithmetic -- Part 1: Integer and floating point arithmetic.
 
-
-
-
 [page 517]
 
 
-
 [page 518]
 
 
 Index
-??? x ???, 3.18                                                    , (comma punctuator), 6.5.2.6.7.6.7.2.1.6.7.2.2,
-                                                                    6.7.2.3.6.7.8
+??? x ???, 3.18                                                    , (comma punctuator), 6.5.2, 6.7, 6.7.2.1, 6.7.2.2,
+                                                                    6.7.2.36.7.8
 ??? x ???, 3.19                                                    - (subtraction operator), 6.5.6, F.3, G.5.2
 ! (logical negation operator), 6.5.3.3                         - (unary minus operator), 6.5.3.3, F.3
-!= (inequality operator), 6.5.9                                -- (postfix decrement operator), 6.3.2.1.6.5.2.4
-# operator, 6.10.3.2                                           -- (prefix decrement operator), 6.3.2.1.6.5.3.1
+!= (inequality operator), 6.5.9                                -- (postfix decrement operator), 6.3.2.16.5.2.4
+# operator, 6.10.3.2                                           -- (prefix decrement operator), 6.3.2.16.5.3.1
 # preprocessing directive, 6.10.7                              -= (subtraction assignment operator), 6.5.16.2
 # punctuator, 6.10                                             -> (structure/union pointer operator), 6.5.2.3
 ## operator, 6.10.3.3                                          . (structure/union member operator), 6.3.2.1,
 #define preprocessing directive, 6.10.3                             6.5.2.3
 #elif preprocessing directive, 6.10.1                          . punctuator, 6.7.8
-#else preprocessing directive, 6.10.1                          ... (ellipsis punctuator), 6.5.2.2.6.7.5.3.6.10.3
+#else preprocessing directive, 6.10.1                          ... (ellipsis punctuator), 6.5.2.2, 6.7.5.3, 6.10.3
 #endif preprocessing directive, 6.10.1                         / (division operator), 6.5.5, F.3, G.5.1
-#error preprocessing directive, 4.6.10.5                      /* */ (comment delimiters), 6.4.9
-#if preprocessing directive, 5.2.4.2.1.5.2.4.2.2,             // (comment delimiter), 6.4.9
-     6.10.1.7.1.4                                             /= (division assignment operator), 6.5.16.2
+#error preprocessing directive, 46.10.5                      /* */ (comment delimiters), 6.4.9
+#if preprocessing directive, 5.2.4.2.15.2.4.2.2,             // (comment delimiter), 6.4.9
+     6.10.17.1.4                                             /= (division assignment operator), 6.5.16.2
 #ifdef preprocessing directive, 6.10.1                         : (colon punctuator), 6.7.2.1
 #ifndef preprocessing directive, 6.10.1                        :> (alternative spelling of ]), 6.4.6
-#include preprocessing directive, 5.1.1.2,                     ; (semicolon punctuator), 6.7.6.7.2.1.6.8.3,
-     6.10.2                                                         6.8.5.6.8.6
+#include preprocessing directive, 5.1.1.2,                     ; (semicolon punctuator), 6.7, 6.7.2.1, 6.8.3,
+     6.10.2                                                         6.8.56.8.6
 #line preprocessing directive, 6.10.4                          < (less-than operator), 6.5.8
 #pragma preprocessing directive, 6.10.6                        <% (alternative spelling of {), 6.4.6
-#undef preprocessing directive, 6.10.3.5.7.1.3,               <: (alternative spelling of [), 6.4.6
+#undef preprocessing directive, 6.10.3.57.1.3,               <: (alternative spelling of [), 6.4.6
      7.1.4                                                     << (left-shift operator), 6.5.7
 % (remainder operator), 6.5.5                                  <<= (left-shift assignment operator), 6.5.16.2
 %: (alternative spelling of #), 6.4.6                          <= (less-than-or-equal-to operator), 6.5.8
 %:%: (alternative spelling of ##), 6.4.6                       <assert.h> header, 7.2, B.1
-%= (remainder assignment operator), 6.5.16.2                   <complex.h> header, 5.2.4.2.2.7.3.7.22,
+%= (remainder assignment operator), 6.5.16.2                   <complex.h> header, 5.2.4.2.2, 7.3, 7.22,
 %> (alternative spelling of }), 6.4.6                               7.26.1, G.6, J.5.17
-& (address operator), 6.3.2.1.6.5.3.2                         <ctype.h> header, 7.4.7.26.2
-& (bitwise AND operator), 6.5.10                               <errno.h> header, 7.5.7.26.3
-&& (logical AND operator), 6.5.13                              <fenv.h> header, 5.1.2.3.5.2.4.2.2.7.6.7.12, F,
+& (address operator), 6.3.2.1, 6.5.3.2                         <ctype.h> header, 7.4, 7.26.2
+& (bitwise AND operator), 6.5.10                               <errno.h> header, 7.57.26.3
+&& (logical AND operator), 6.5.13                              <fenv.h> header, 5.1.2.3, 5.2.4.2.2, 7.6, 7.12, F,
 &= (bitwise AND assignment operator), 6.5.16.2                      H
-' ' (space character), 5.1.1.2.5.2.1.6.4.7.4.1.3,           <float.h> header, 4.5.2.4.2.2.7.7.7.20.1.3,
-     7.4.1.10.7.25.2.1.3                                           7.24.4.1.1
-( ) (cast operator), 6.5.4                                     <inttypes.h> header, 7.8.7.26.4
-( ) (function-call operator), 6.5.2.2                          <iso646.h> header, 4.7.9
-( ) (parentheses punctuator), 6.7.5.3.6.8.4.6.8.5            <limits.h> header, 4.5.2.4.2.1.6.2.5.7.10
-( ){ } (compound-literal operator), 6.5.2.5                    <locale.h> header, 7.11.7.26.5
-* (asterisk punctuator), 6.7.5.1.6.7.5.2                      <math.h> header, 5.2.4.2.2.6.5.7.12.7.22, F,
-* (indirection operator), 6.5.2.1.6.5.3.2                          F.9, J.5.17
+' ' (space character), 5.1.1.2, 5.2.1, 6.4, 7.4.1.3,           <float.h> header, 4, 5.2.4.2.2, 7.7, 7.20.1.3,
+     7.4.1.107.25.2.1.3                                           7.24.4.1.1
+( ) (cast operator), 6.5.4                                     <inttypes.h> header, 7.87.26.4
+( ) (function-call operator), 6.5.2.2                          <iso646.h> header, 47.9
+( ) (parentheses punctuator), 6.7.5.3, 6.8.4, 6.8.5            <limits.h> header, 4, 5.2.4.2.1, 6.2.5, 7.10
+( ){ } (compound-literal operator), 6.5.2.5                    <locale.h> header, 7.117.26.5
+* (asterisk punctuator), 6.7.5.1, 6.7.5.2                      <math.h> header, 5.2.4.2.2, 6.5, 7.12, 7.22, F,
+* (indirection operator), 6.5.2.16.5.3.2                          F.9, J.5.17
 * (multiplication operator), 6.5.5, F.3, G.5.1                 <setjmp.h> header, 7.13
-*= (multiplication assignment operator), 6.5.16.2              <signal.h> header, 7.14.7.26.6
-+ (addition operator), 6.5.2.1.6.5.3.2.6.5.6, F.3,           <stdarg.h> header, 4.6.7.5.3.7.15
-     G.5.2                                                     <stdbool.h> header, 4.7.16.7.26.7, H
-+ (unary plus operator), 6.5.3.3                               <stddef.h> header, 4.6.3.2.1.6.3.2.3.6.4.4.4,
-++ (postfix increment operator), 6.3.2.1.6.5.2.4                    6.4.5.6.5.3.4.6.5.6.7.17
-++ (prefix increment operator), 6.3.2.1.6.5.3.1                <stdint.h> header, 4.5.2.4.2.6.10.1.7.8,
-+= (addition assignment operator), 6.5.16.2                         7.18.7.26.8
+*= (multiplication assignment operator), 6.5.16.2              <signal.h> header, 7.147.26.6
++ (addition operator), 6.5.2.1, 6.5.3.2, 6.5.6, F.3,           <stdarg.h> header, 4, 6.7.5.3, 7.15
+     G.5.2                                                     <stdbool.h> header, 4, 7.16, 7.26.7, H
++ (unary plus operator), 6.5.3.3                               <stddef.h> header, 4, 6.3.2.1, 6.3.2.3, 6.4.4.4,
+++ (postfix increment operator), 6.3.2.1, 6.5.2.4                    6.4.5, 6.5.3.4, 6.5.6, 7.17
+++ (prefix increment operator), 6.3.2.1, 6.5.3.1                <stdint.h> header, 4, 5.2.4.2, 6.10.1, 7.8,
++= (addition assignment operator), 6.5.16.2                         7.187.26.8
 , (comma operator), 6.5.17
+
 [page 519]
 
-<stdio.h> header, 5.2.4.2.2.7.19.7.26.9, F                 __cplusplus macro, 6.10.8
-<stdlib.h> header, 5.2.4.2.2.7.20.7.26.10, F               __DATE__ macro, 6.10.8
-<string.h> header, 7.21.7.26.11                             __FILE__ macro, 6.10.8.7.2.1.1
-<tgmath.h> header, 7.22, G.7                                 __func__ identifier, 6.4.2.2.7.2.1.1
-<time.h> header, 7.23                                        __LINE__ macro, 6.10.8.7.2.1.1
-<wchar.h> header, 5.2.4.2.2.7.19.1.7.24,                   __STDC_, 6.11.9
+<stdio.h> header, 5.2.4.2.2, 7.19, 7.26.9, F                 __cplusplus macro, 6.10.8
+<stdlib.h> header, 5.2.4.2.2, 7.20, 7.26.10, F               __DATE__ macro, 6.10.8
+<string.h> header, 7.21, 7.26.11                             __FILE__ macro, 6.10.8, 7.2.1.1
+<tgmath.h> header, 7.22, G.7                                 __func__ identifier, 6.4.2.27.2.1.1
+<time.h> header, 7.23                                        __LINE__ macro, 6.10.87.2.1.1
+<wchar.h> header, 5.2.4.2.2, 7.19.1, 7.24,                   __STDC_, 6.11.9
      7.26.12, F                                              __STDC__ macro, 6.10.8
-<wctype.h> header, 7.25.7.26.13                             __STDC_CONSTANT_MACROS macro, 7.18.4
-= (equal-sign punctuator), 6.7.6.7.2.2.6.7.8               __STDC_FORMAT_MACROS macro, 7.8.1
+<wctype.h> header, 7.257.26.13                             __STDC_CONSTANT_MACROS macro, 7.18.4
+= (equal-sign punctuator), 6.7, 6.7.2.2, 6.7.8               __STDC_FORMAT_MACROS macro, 7.8.1
 = (simple assignment operator), 6.5.16.1                     __STDC_HOSTED__ macro, 6.10.8
 == (equality operator), 6.5.9                                __STDC_IEC_559__ macro, 6.10.8, F.1
 > (greater-than operator), 6.5.8                             __STDC_IEC_559_COMPLEX__ macro,
@@ -20135,105 +19641,105 @@ Index
 >>= (right-shift assignment operator), 6.5.16.2              __STDC_LIMIT_MACROS macro, 7.18.2,
 ? : (conditional operator), 6.5.15                                7.18.3
 ?? (trigraph sequences), 5.2.1.1                             __STDC_MB_MIGHT_NEQ_WC__ macro,
-[ ] (array subscript operator), 6.5.2.1.6.5.3.2                  6.10.8.7.17
-[ ] (brackets punctuator), 6.7.5.2.6.7.8                    __STDC_VERSION__ macro, 6.10.8
-\ (backslash character), 5.1.1.2.5.2.1.6.4.4.4             __TIME__ macro, 6.10.8
-\ (escape character), 6.4.4.4                                __VA_ARGS__ identifier, 6.10.3.6.10.3.1
-\" (double-quote escape sequence), 6.4.4.4,                  _Bool type, 6.2.5.6.3.1.1.6.3.1.2.6.7.2
-     6.4.5.6.10.9                                           _Bool type conversions, 6.3.1.2
-\\ (backslash escape sequence), 6.4.4.4.6.10.9              _Complex types, 6.2.5.6.7.2.7.3.1, G
-\' (single-quote escape sequence), 6.4.4.4.6.4.5            _Complex_I macro, 7.3.1
-\0 (null character), 5.2.1.6.4.4.4.6.4.5                   _Exit function, 7.20.4.4
+[ ] (array subscript operator), 6.5.2.1, 6.5.3.2                  6.10.8, 7.17
+[ ] (brackets punctuator), 6.7.5.26.7.8                    __STDC_VERSION__ macro, 6.10.8
+\ (backslash character), 5.1.1.2, 5.2.1, 6.4.4.4             __TIME__ macro, 6.10.8
+\ (escape character), 6.4.4.4                                __VA_ARGS__ identifier, 6.10.36.10.3.1
+\" (double-quote escape sequence), 6.4.4.4,                  _Bool type, 6.2.5, 6.3.1.1, 6.3.1.2, 6.7.2
+     6.4.56.10.9                                           _Bool type conversions, 6.3.1.2
+\\ (backslash escape sequence), 6.4.4.4, 6.10.9              _Complex types, 6.2.5, 6.7.2, 7.3.1, G
+\' (single-quote escape sequence), 6.4.4.46.4.5            _Complex_I macro, 7.3.1
+\0 (null character), 5.2.1, 6.4.4.4, 6.4.5                   _Exit function, 7.20.4.4
   padding of binary stream, 7.19.2                           _Imaginary keyword, G.2
 \? (question-mark escape sequence), 6.4.4.4                  _Imaginary types, 7.3.1, G
-\a (alert escape sequence), 5.2.2.6.4.4.4                   _Imaginary_I macro, 7.3.1, G.6
-\b (backspace escape sequence), 5.2.2.6.4.4.4               _IOFBF macro, 7.19.1.7.19.5.5.7.19.5.6
-\f (form-feed escape sequence), 5.2.2.6.4.4.4,              _IOLBF macro, 7.19.1.7.19.5.6
-     7.4.1.10                                                _IONBF macro, 7.19.1.7.19.5.5.7.19.5.6
-\n (new-line escape sequence), 5.2.2.6.4.4.4,               _Pragma operator, 5.1.1.2.6.10.9
-     7.4.1.10                                                { } (braces punctuator), 6.7.2.2.6.7.2.3.6.7.8,
+\a (alert escape sequence), 5.2.26.4.4.4                   _Imaginary_I macro, 7.3.1, G.6
+\b (backspace escape sequence), 5.2.2, 6.4.4.4               _IOFBF macro, 7.19.1, 7.19.5.5, 7.19.5.6
+\f (form-feed escape sequence), 5.2.2, 6.4.4.4,              _IOLBF macro, 7.19.1, 7.19.5.6
+     7.4.1.10                                                _IONBF macro, 7.19.1, 7.19.5.5, 7.19.5.6
+\n (new-line escape sequence), 5.2.2, 6.4.4.4,               _Pragma operator, 5.1.1.2, 6.10.9
+     7.4.1.10                                                { } (braces punctuator), 6.7.2.2, 6.7.2.3, 6.7.8,
 \octal digits (octal-character escape sequence),                  6.8.2
      6.4.4.4                                                 { } (compound-literal operator), 6.5.2.5
 \r (carriage-return escape sequence), 5.2.2,                 | (bitwise inclusive OR operator), 6.5.12
-     6.4.4.4.7.4.1.10                                       |= (bitwise inclusive OR assignment operator),
+     6.4.4.47.4.1.10                                       |= (bitwise inclusive OR assignment operator),
 \t (horizontal-tab escape sequence), 5.2.2,                       6.5.16.2
-     6.4.4.4.7.4.1.3.7.4.1.10.7.25.2.1.3                  || (logical OR operator), 6.5.14
+     6.4.4.4, 7.4.1.3, 7.4.1.10, 7.25.2.1.3                  || (logical OR operator), 6.5.14
 \U (universal character names), 6.4.3                        ~ (bitwise complement operator), 6.5.3.3
 \u (universal character names), 6.4.3
-\v (vertical-tab escape sequence), 5.2.2.6.4.4.4,           abort function, 7.2.1.1.7.14.1.1.7.19.3,
+\v (vertical-tab escape sequence), 5.2.2, 6.4.4.4,           abort function, 7.2.1.1, 7.14.1.1, 7.19.3,
      7.4.1.10                                                     7.20.4.1
 \x hexadecimal digits (hexadecimal-character                 abs function, 7.20.6.1
      escape sequence), 6.4.4.4                               absolute-value functions
 ^ (bitwise exclusive OR operator), 6.5.11                      complex, 7.3.8, G.6.4
-^= (bitwise exclusive OR assignment operator),                 integer, 7.8.2.1.7.20.6.1
+^= (bitwise exclusive OR assignment operator),                 integer, 7.8.2.17.20.6.1
      6.5.16.2                                                  real, 7.12.7, F.9.4
 __bool_true_false_are_defined                               abstract declarator, 6.7.6
      macro, 7.16                                             abstract machine, 5.1.2.3
 
 [page 520]
 
-access, 3.1.6.7.3                                             array
+access, 3.16.7.3                                             array
 accuracy, see floating-point accuracy                              argument, 6.9.1
 acos functions, 7.12.4.1, F.9.1.1                                 declarator, 6.7.5.2
 acos type-generic macro, 7.22                                     initialization, 6.7.8
 acosh functions, 7.12.5.1, F.9.2.1                                multidimensional, 6.5.2.1
 acosh type-generic macro, 7.22                                    parameter, 6.9.1
 active position, 5.2.2                                            storage order, 6.5.2.1
-actual argument, 3.3                                              subscript operator ([ ]), 6.5.2.1.6.5.3.2
+actual argument, 3.3                                              subscript operator ([ ]), 6.5.2.16.5.3.2
 actual parameter (deprecated), 3.3                                subscripting, 6.5.2.1
 addition assignment operator (+=), 6.5.16.2                       type, 6.2.5
-addition operator (+), 6.5.2.1.6.5.3.2.6.5.6, F.3,              type conversion, 6.3.2.1
-      G.5.2                                                       variable length, 6.7.5.6.7.5.2
+addition operator (+), 6.5.2.1, 6.5.3.2, 6.5.6, F.3,              type conversion, 6.3.2.1
+      G.5.2                                                       variable length, 6.7.56.7.5.2
 additive expressions, 6.5.6, G.5.2                             arrow operator (->), 6.5.2.3
 address constant, 6.6                                          as-if rule, 5.1.2.3
-address operator (&), 6.3.2.1.6.5.3.2                         ASCII code set, 5.2.1.1
+address operator (&), 6.3.2.16.5.3.2                         ASCII code set, 5.2.1.1
 aggregate initialization, 6.7.8                                asctime function, 7.23.3.1
 aggregate types, 6.2.5                                         asin functions, 7.12.4.2, F.9.1.2
-alert escape sequence (\a), 5.2.2.6.4.4.4                     asin type-generic macro, 7.22, G.7
+alert escape sequence (\a), 5.2.26.4.4.4                     asin type-generic macro, 7.22, G.7
 aliasing, 6.5                                                  asinh functions, 7.12.5.2, F.9.2.2
 alignment, 3.2                                                 asinh type-generic macro, 7.22, G.7
-   pointer, 6.2.5.6.3.2.3                                     asm keyword, J.5.10
+   pointer, 6.2.56.3.2.3                                     asm keyword, J.5.10
    structure/union member, 6.7.2.1                             assert macro, 7.2.1.1
 allocated storage, order and contiguity, 7.20.3                assert.h header, 7.2, B.1
 and macro, 7.9                                                 assignment
 AND operators                                                     compound, 6.5.16.2
    bitwise (&), 6.5.10                                            conversion, 6.5.16.1
    bitwise assignment (&=), 6.5.16.2                              expression, 6.5.16
-   logical (&&), 6.5.13                                           operators, 6.3.2.1.6.5.16
+   logical (&&), 6.5.13                                           operators, 6.3.2.16.5.16
 and_eq macro, 7.9                                                 simple, 6.5.16.1
 ANSI/IEEE 754, F.1                                             associativity of operators, 6.5
-ANSI/IEEE 854, F.1                                             asterisk punctuator (*), 6.7.5.1.6.7.5.2
+ANSI/IEEE 854, F.1                                             asterisk punctuator (*), 6.7.5.16.7.5.2
 argc (main function parameter), 5.1.2.2.1                      atan functions, 7.12.4.3, F.9.1.3
 argument, 3.3                                                  atan type-generic macro, 7.22, G.7
    array, 6.9.1                                                atan2 functions, 7.12.4.4, F.9.1.4
    default promotions, 6.5.2.2                                 atan2 type-generic macro, 7.22
-   function, 6.5.2.2.6.9.1                                    atanh functions, 7.12.5.3, F.9.2.3
+   function, 6.5.2.26.9.1                                    atanh functions, 7.12.5.3, F.9.2.3
    macro, substitution, 6.10.3.1                               atanh type-generic macro, 7.22, G.7
-argument, complex, 7.3.9.1                                     atexit function, 7.20.4.2.7.20.4.3.7.20.4.4,
+argument, complex, 7.3.9.1                                     atexit function, 7.20.4.2, 7.20.4.3, 7.20.4.4,
 argv (main function parameter), 5.1.2.2.1                            J.5.13
-arithmetic constant expression, 6.6                            atof function, 7.20.1.7.20.1.1
-arithmetic conversions, usual, see usual arithmetic            atoi function, 7.20.1.7.20.1.2
-      conversions                                              atol function, 7.20.1.7.20.1.2
-arithmetic operators                                           atoll function, 7.20.1.7.20.1.2
-   additive, 6.5.6, G.5.2                                      auto storage-class specifier, 6.7.1.6.9
-   bitwise, 6.5.10.6.5.11.6.5.12                             automatic storage duration, 5.2.3.6.2.4
-   increment and decrement, 6.5.2.4.6.5.3.1
-   multiplicative, 6.5.5, G.5.1                                backslash character (\), 5.1.1.2.5.2.1.6.4.4.4
-   shift, 6.5.7                                                backslash escape sequence (\\), 6.4.4.4.6.10.9
-   unary, 6.5.3.3                                              backspace escape sequence (\b), 5.2.2.6.4.4.4
-arithmetic types, 6.2.5                                        basic character set, 3.6.3.7.2.5.2.1
+arithmetic constant expression, 6.6                            atof function, 7.20.17.20.1.1
+arithmetic conversions, usual, see usual arithmetic            atoi function, 7.20.17.20.1.2
+      conversions                                              atol function, 7.20.17.20.1.2
+arithmetic operators                                           atoll function, 7.20.17.20.1.2
+   additive, 6.5.6, G.5.2                                      auto storage-class specifier, 6.7.16.9
+   bitwise, 6.5.10, 6.5.11, 6.5.12                             automatic storage duration, 5.2.3, 6.2.4
+   increment and decrement, 6.5.2.46.5.3.1
+   multiplicative, 6.5.5, G.5.1                                backslash character (\), 5.1.1.2, 5.2.1, 6.4.4.4
+   shift, 6.5.7                                                backslash escape sequence (\\), 6.4.4.46.10.9
+   unary, 6.5.3.3                                              backspace escape sequence (\b), 5.2.26.4.4.4
+arithmetic types, 6.2.5                                        basic character set, 3.6, 3.7.2, 5.2.1
 arithmetic, pointer, 6.5.6                                     basic types, 6.2.5
 
 [page 521]
 
 behavior, 3.4                                                  call by value, 6.5.2.2
-binary streams, 7.19.2.7.19.7.11.7.19.9.2,                   calloc function, 7.20.3.7.20.3.1.7.20.3.2,
+binary streams, 7.19.2, 7.19.7.11, 7.19.9.2,                   calloc function, 7.20.3, 7.20.3.1, 7.20.3.2,
       7.19.9.4                                                       7.20.3.4
 bit, 3.5                                                       carg functions, 7.3.9.1, G.6
    high order, 3.6                                             carg type-generic macro, 7.22, G.7
    low order, 3.6                                              carriage-return escape sequence (\r), 5.2.2,
-bit-field, 6.7.2.1                                                    6.4.4.4.7.4.1.10
-bitand macro, 7.9                                              case label, 6.8.1.6.8.4.2
+bit-field, 6.7.2.1                                                    6.4.4.47.4.1.10
+bitand macro, 7.9                                              case label, 6.8.16.8.4.2
 bitor macro, 7.9                                               case mapping functions
 bitwise operators, 6.5                                           character, 7.4.2
    AND, 6.5.10                                                   wide character, 7.25.3.1
@@ -20245,50 +19751,50 @@ bitwise operators, 6.5                                           character, 7.4.
    inclusive OR assignment (|=), 6.5.16.2                      cast expression, 6.5.4
    shift, 6.5.7                                                cast operator (( )), 6.5.4
 blank character, 7.4.1.3                                       catan functions, 7.3.5.3, G.6
-block, 6.8.6.8.2.6.8.4.6.8.5                                  type-generic macro for, 7.22
+block, 6.8, 6.8.2, 6.8.4, 6.8.5                                  type-generic macro for, 7.22
 block scope, 6.2.1                                             catanh functions, 7.3.6.3, G.6.2.3
 block structure, 6.2.1                                           type-generic macro for, 7.22
 bold type convention, 6.1                                      cbrt functions, 7.12.7.1, F.9.4.1
 bool macro, 7.16                                               cbrt type-generic macro, 7.22
 boolean type, 6.3.1.2                                          ccos functions, 7.3.5.4, G.6
-boolean type conversion, 6.3.1.1.6.3.1.2                        type-generic macro for, 7.22
-braces punctuator ({ }), 6.7.2.2.6.7.2.3.6.7.8,              ccosh functions, 7.3.6.4, G.6.2.4
+boolean type conversion, 6.3.1.16.3.1.2                        type-generic macro for, 7.22
+braces punctuator ({ }), 6.7.2.2, 6.7.2.3, 6.7.8,              ccosh functions, 7.3.6.4, G.6.2.4
       6.8.2                                                      type-generic macro for, 7.22
-brackets operator ([ ]), 6.5.2.1.6.5.3.2                      ceil functions, 7.12.9.1, F.9.6.1
-brackets punctuator ([ ]), 6.7.5.2.6.7.8                      ceil type-generic macro, 7.22
+brackets operator ([ ]), 6.5.2.16.5.3.2                      ceil functions, 7.12.9.1, F.9.6.1
+brackets punctuator ([ ]), 6.7.5.26.7.8                      ceil type-generic macro, 7.22
 branch cuts, 7.3.3                                             cerf function, 7.26.1
 break statement, 6.8.6.3                                       cerfc function, 7.26.1
-broken-down time, 7.23.1.7.23.2.3.7.23.3,                    cexp functions, 7.3.7.1, G.6.3.1
-      7.23.3.1.7.23.3.3.7.23.3.4.7.23.3.5                     type-generic macro for, 7.22
-bsearch function, 7.20.5.7.20.5.1                             cexp2 function, 7.26.1
+broken-down time, 7.23.1, 7.23.2.3, 7.23.3,                    cexp functions, 7.3.7.1, G.6.3.1
+      7.23.3.1, 7.23.3.3, 7.23.3.4, 7.23.3.5                     type-generic macro for, 7.22
+bsearch function, 7.20.57.20.5.1                             cexp2 function, 7.26.1
 btowc function, 7.24.6.1.1                                     cexpm1 function, 7.26.1
-BUFSIZ macro, 7.19.1.7.19.2.7.19.5.5                         char type, 6.2.5.6.3.1.1.6.7.2
-byte, 3.6.6.5.3.4                                             char type conversion, 6.3.1.1.6.3.1.3.6.3.1.4,
+BUFSIZ macro, 7.19.1, 7.19.2, 7.19.5.5                         char type, 6.2.5, 6.3.1.1, 6.7.2
+byte, 3.6, 6.5.3.4                                             char type conversion, 6.3.1.1, 6.3.1.3, 6.3.1.4,
 byte input/output functions, 7.19.1                                  6.3.1.8
 byte-oriented stream, 7.19.2                                   CHAR_BIT macro, 5.2.4.2.1
-                                                               CHAR_MAX macro, 5.2.4.2.1.7.11.2.1
+                                                               CHAR_MAX macro, 5.2.4.2.17.11.2.1
 C program, 5.1.1.1                                             CHAR_MIN macro, 5.2.4.2.1
-C++, 7.8.1.7.18.2.7.18.3.7.18.4                             character, 3.7.3.7.1
+C++, 7.8.1, 7.18.2, 7.18.3, 7.18.4                             character, 3.7, 3.7.1
 cabs functions, 7.3.8.1, G.6                                   character array initialization, 6.7.8
   type-generic macro for, 7.22                                 character case mapping functions, 7.4.2
 cacos functions, 7.3.5.1, G.6.1.1                                wide character, 7.25.3.1
   type-generic macro for, 7.22                                       extensible, 7.25.3.2
 cacosh functions, 7.3.6.1, G.6.2.1                             character classification functions, 7.4.1
   type-generic macro for, 7.22                                   wide character, 7.25.2.1
-calendar time, 7.23.1.7.23.2.2.7.23.2.3.7.23.2.4,                 extensible, 7.25.2.2
-     7.23.3.2.7.23.3.3.7.23.3.4                              character constant, 5.1.1.2.5.2.1.6.4.4.4
+calendar time, 7.23.1, 7.23.2.2, 7.23.2.3, 7.23.2.4,                 extensible, 7.25.2.2
+     7.23.3.2, 7.23.3.3, 7.23.3.4                              character constant, 5.1.1.2, 5.2.1, 6.4.4.4
 
 [page 522]
 
-character display semantics, 5.2.2                            complex.h header, 5.2.4.2.2.7.3.7.22.7.26.1,
-character handling header, 7.4.7.11.1.1                           G.6, J.5.17
+character display semantics, 5.2.2                            complex.h header, 5.2.4.2.2, 7.3, 7.22, 7.26.1,
+character handling header, 7.47.11.1.1                           G.6, J.5.17
 character input/output functions, 7.19.7                      compliance, see conformance
    wide character, 7.24.3                                     components of time, 7.23.1
 character sets, 5.2.1                                         composite type, 6.2.7
 character string literal, see string literal                  compound assignment, 6.5.16.2
 character type conversion, 6.3.1.1                            compound literals, 6.5.2.5
-character types, 6.2.5.6.7.8                                 compound statement, 6.8.2
-cimag functions, 7.3.9.2.7.3.9.4, G.6                        compound-literal operator (( ){ }), 6.5.2.5
+character types, 6.2.56.7.8                                 compound statement, 6.8.2
+cimag functions, 7.3.9.27.3.9.4, G.6                        compound-literal operator (( ){ }), 6.5.2.5
 cimag type-generic macro, 7.22, G.7                           concatenation functions
 cis function, G.6                                               string, 7.21.3
 classification functions                                         wide string, 7.24.4.3
@@ -20299,38 +19805,38 @@ classification functions                                         wide string, 7.
 clearerr function, 7.19.10.1                                  conditional operator (? :), 6.5.15
 clgamma function, 7.26.1                                      conformance, 4
 clock function, 7.23.2.1                                      conj functions, 7.3.9.3, G.6
-clock_t type, 7.23.1.7.23.2.1                                conj type-generic macro, 7.22
-CLOCKS_PER_SEC macro, 7.23.1.7.23.2.1                        const type qualifier, 6.7.3
-clog functions, 7.3.7.2, G.6.3.2                              const-qualified type, 6.2.5.6.3.2.1.6.7.3
+clock_t type, 7.23.17.23.2.1                                conj type-generic macro, 7.22
+CLOCKS_PER_SEC macro, 7.23.17.23.2.1                        const type qualifier, 6.7.3
+clog functions, 7.3.7.2, G.6.3.2                              const-qualified type, 6.2.5, 6.3.2.1, 6.7.3
    type-generic macro for, 7.22                               constant expression, 6.6, F.7.4
 clog10 function, 7.26.1                                       constants, 6.4.4
 clog1p function, 7.26.1                                         as primary expression, 6.5.1
 clog2 function, 7.26.1                                          character, 6.4.4.4
-collating sequences, 5.2.1                                      enumeration, 6.2.1.6.4.4.3
+collating sequences, 5.2.1                                      enumeration, 6.2.16.4.4.3
 colon punctuator (:), 6.7.2.1                                   floating, 6.4.4.2
 comma operator (,), 6.5.17                                      hexadecimal, 6.4.4.1
-comma punctuator (,), 6.5.2.6.7.6.7.2.1.6.7.2.2,             integer, 6.4.4.1
-      6.7.2.3.6.7.8                                            octal, 6.4.4.1
-command processor, 7.20.4.6                                   constraint, 3.8.4
+comma punctuator (,), 6.5.2, 6.7, 6.7.2.1, 6.7.2.2,             integer, 6.4.4.1
+      6.7.2.36.7.8                                            octal, 6.4.4.1
+command processor, 7.20.4.6                                   constraint, 3.84
 comment delimiters (/* */ and //), 6.4.9                      content of structure/union/enumeration, 6.7.2.3
-comments, 5.1.1.2.6.4.6.4.9                                 contiguity of allocated storage, 7.20.3
+comments, 5.1.1.2, 6.4, 6.4.9                                 contiguity of allocated storage, 7.20.3
 common extensions, J.5                                        continue statement, 6.8.6.2
-common initial sequence, 6.5.2.3                              contracted expression, 6.5.7.12.2, F.6
-common real type, 6.3.1.8                                     control character, 5.2.1.7.4
+common initial sequence, 6.5.2.3                              contracted expression, 6.57.12.2, F.6
+common real type, 6.3.1.8                                     control character, 5.2.17.4
 common warnings, I                                            control wide character, 7.25.2
-comparison functions, 7.20.5.7.20.5.1.7.20.5.2              conversion, 6.3
+comparison functions, 7.20.5, 7.20.5.1, 7.20.5.2              conversion, 6.3
    string, 7.21.4                                               arithmetic operands, 6.3.1
    wide string, 7.24.4.4                                        array argument, 6.9.1                           *
 comparison macros, 7.12.14                                      array parameter, 6.9.1
 comparison, pointer, 6.5.8                                      arrays, 6.3.2.1
-compatible type, 6.2.7.6.7.2.6.7.3.6.7.5                     boolean, 6.3.1.2
+compatible type, 6.2.7, 6.7.2, 6.7.3, 6.7.5                     boolean, 6.3.1.2
 compl macro, 7.9                                                boolean, characters, and integers, 6.3.1.1
 complement operator (~), 6.5.3.3                                by assignment, 6.5.16.1
 complex macro, 7.3.1                                            by return statement, 6.8.6.4
 complex numbers, 6.2.5, G                                       complex types, 6.3.1.6
-complex type conversion, 6.3.1.6.6.3.1.7                       explicit, 6.3
+complex type conversion, 6.3.1.66.3.1.7                       explicit, 6.3
 complex type domain, 6.2.5                                      function, 6.3.2.1
-complex types, 6.2.5.6.7.2, G                                  function argument, 6.5.2.2.6.9.1
+complex types, 6.2.5, 6.7.2, G                                  function argument, 6.5.2.2, 6.9.1
 
 [page 523]
 
@@ -20340,14 +19846,14 @@ complex types, 6.2.5.6.7.2, G                                  function argument
   imaginary and complex, G.4.3                               csqrt functions, 7.3.8.3, G.6.4.2
   implicit, 6.3                                                type-generic macro for, 7.22
   lvalues, 6.3.2.1                                           ctan functions, 7.3.5.6, G.6
-  pointer, 6.3.2.1.6.3.2.3                                    type-generic macro for, 7.22
+  pointer, 6.3.2.16.3.2.3                                    type-generic macro for, 7.22
   real and complex, 6.3.1.7                                  ctanh functions, 7.3.6.6, G.6.2.6
   real and imaginary, G.4.2                                    type-generic macro for, 7.22
   real floating and integer, 6.3.1.4, F.3, F.4                ctgamma function, 7.26.1
   real floating types, 6.3.1.5, F.3                           ctime function, 7.23.3.2
-  signed and unsigned integers, 6.3.1.3                      ctype.h header, 7.4.7.26.2
+  signed and unsigned integers, 6.3.1.3                      ctype.h header, 7.47.26.2
   usual arithmetic, see usual arithmetic                     current object, 6.7.8
-        conversions                                          CX_LIMITED_RANGE pragma, 6.10.6.7.3.4
+        conversions                                          CX_LIMITED_RANGE pragma, 6.10.67.3.4
   void type, 6.3.2.2
 conversion functions                                         data stream, see streams
   multibyte/wide character, 7.20.7                           date and time header, 7.23
@@ -20355,246 +19861,246 @@ conversion functions                                         data stream, see st
      restartable, 7.24.6.3                                   DBL_DIG macro, 5.2.4.2.2
   multibyte/wide string, 7.20.8                              DBL_EPSILON macro, 5.2.4.2.2
      restartable, 7.24.6.4                                   DBL_MANT_DIG macro, 5.2.4.2.2
-  numeric, 7.8.2.3.7.20.1                                   DBL_MAX macro, 5.2.4.2.2
-     wide string, 7.8.2.4.7.24.4.1                          DBL_MAX_10_EXP macro, 5.2.4.2.2
+  numeric, 7.8.2.37.20.1                                   DBL_MAX macro, 5.2.4.2.2
+     wide string, 7.8.2.47.24.4.1                          DBL_MAX_10_EXP macro, 5.2.4.2.2
   single byte/wide character, 7.24.6.1                       DBL_MAX_EXP macro, 5.2.4.2.2
   time, 7.23.3                                               DBL_MIN macro, 5.2.4.2.2
      wide character, 7.24.5                                  DBL_MIN_10_EXP macro, 5.2.4.2.2
-conversion specifier, 7.19.6.1.7.19.6.2.7.24.2.1,           DBL_MIN_EXP macro, 5.2.4.2.2
+conversion specifier, 7.19.6.1, 7.19.6.2, 7.24.2.1,           DBL_MIN_EXP macro, 5.2.4.2.2
      7.24.2.2                                                decimal constant, 6.4.4.1
-conversion state, 7.20.7.7.24.6.7.24.6.2.1,                decimal digit, 5.2.1
-     7.24.6.3.7.24.6.3.2.7.24.6.3.3.7.24.6.4,             decimal-point character, 7.1.1.7.11.2.1
-     7.24.6.4.1.7.24.6.4.2                                  DECIMAL_DIG macro, 5.2.4.2.2.7.19.6.1,
-conversion state functions, 7.24.6.2                              7.20.1.3.7.24.2.1.7.24.4.1.1, F.5
+conversion state, 7.20.7, 7.24.6, 7.24.6.2.1,                decimal digit, 5.2.1
+     7.24.6.3, 7.24.6.3.2, 7.24.6.3.3, 7.24.6.4,             decimal-point character, 7.1.1, 7.11.2.1
+     7.24.6.4.1, 7.24.6.4.2                                  DECIMAL_DIG macro, 5.2.4.2.2, 7.19.6.1,
+conversion state functions, 7.24.6.2                              7.20.1.3, 7.24.2.1, 7.24.4.1.1, F.5
 copying functions                                            declaration specifiers, 6.7
   string, 7.21.2                                             declarations, 6.7
   wide string, 7.24.4.2                                        function, 6.7.5.3
-copysign functions, 7.3.9.4.7.12.11.1, F.3,                   pointer, 6.7.5.1
+copysign functions, 7.3.9.47.12.11.1, F.3,                   pointer, 6.7.5.1
      F.9.8.1                                                   structure/union, 6.7.2.1
 copysign type-generic macro, 7.22                              typedef, 6.7.7
 correctly rounded result, 3.9                                declarator, 6.7.5
 corresponding real type, 6.2.5                                 abstract, 6.7.6
-cos functions, 7.12.4.5, F.9.1.5                             declarator type derivation, 6.2.5.6.7.5
+cos functions, 7.12.4.5, F.9.1.5                             declarator type derivation, 6.2.56.7.5
 cos type-generic macro, 7.22, G.7                            decrement operators, see arithmetic operators,
 cosh functions, 7.12.5.4, F.9.2.4                                 increment and decrement
 cosh type-generic macro, 7.22, G.7                           default argument promotions, 6.5.2.2
 cpow functions, 7.3.8.2, G.6.4.1                             default initialization, 6.7.8
-  type-generic macro for, 7.22                               default label, 6.8.1.6.8.4.2
+  type-generic macro for, 7.22                               default label, 6.8.16.8.4.2
 cproj functions, 7.3.9.4, G.6                                define preprocessing directive, 6.10.3
-cproj type-generic macro, 7.22                               defined operator, 6.10.1.6.10.8
+cproj type-generic macro, 7.22                               defined operator, 6.10.16.10.8
 creal functions, 7.3.9.5, G.6                                definition, 6.7
 creal type-generic macro, 7.22, G.7                            function, 6.9.1
 csin functions, 7.3.5.5, G.6                                 derived declarator types, 6.2.5
 
 [page 524]
 
-derived types, 6.2.5                                            end-of-file indicator, 7.19.1.7.19.5.3.7.19.7.1,
-designated initializer, 6.7.8                                         7.19.7.5.7.19.7.6.7.19.7.11.7.19.9.2,
-destringizing, 6.10.9                                                 7.19.9.3.7.19.10.1.7.19.10.2.7.24.3.1,
+derived types, 6.2.5                                            end-of-file indicator, 7.19.1, 7.19.5.3, 7.19.7.1,
+designated initializer, 6.7.8                                         7.19.7.5, 7.19.7.6, 7.19.7.11, 7.19.9.2,
+destringizing, 6.10.9                                                 7.19.9.3, 7.19.10.1, 7.19.10.2, 7.24.3.1,
 device input/output, 5.1.2.3                                          7.24.3.10
-diagnostic message, 3.10.5.1.1.3                               end-of-file macro, see EOF macro
+diagnostic message, 3.105.1.1.3                               end-of-file macro, see EOF macro
 diagnostics, 5.1.1.3                                            end-of-line indicator, 5.2.1
 diagnostics header, 7.2                                         endif preprocessing directive, 6.10.1
-difftime function, 7.23.2.2                                     enum type, 6.2.5.6.7.2.6.7.2.2
-digit, 5.2.1.7.4                                               enumerated type, 6.2.5
-digraphs, 6.4.6                                                 enumeration, 6.2.5.6.7.2.2
-direct input/output functions, 7.19.8                           enumeration constant, 6.2.1.6.4.4.3
+difftime function, 7.23.2.2                                     enum type, 6.2.5, 6.7.2, 6.7.2.2
+digit, 5.2.17.4                                               enumerated type, 6.2.5
+digraphs, 6.4.6                                                 enumeration, 6.2.56.7.2.2
+direct input/output functions, 7.19.8                           enumeration constant, 6.2.16.4.4.3
 display device, 5.2.2                                           enumeration content, 6.7.2.3
 div function, 7.20.6.2                                          enumeration members, 6.7.2.2
 div_t type, 7.20                                                enumeration specifiers, 6.7.2.2
-division assignment operator (/=), 6.5.16.2                     enumeration tag, 6.2.3.6.7.2.3
+division assignment operator (/=), 6.5.16.2                     enumeration tag, 6.2.36.7.2.3
 division operator (/), 6.5.5, F.3, G.5.1                        enumerator, 6.7.2.2
 do statement, 6.8.5.2                                           environment, 5
 documentation of implementation, 4                              environment functions, 7.20.4
-domain error, 7.12.1.7.12.4.1.7.12.4.2.7.12.4.4,             environment list, 7.20.4.5
-      7.12.5.1.7.12.5.3.7.12.6.5.7.12.6.7,                   environmental considerations, 5.2
-      7.12.6.8.7.12.6.9.7.12.6.10.7.12.6.11,                 environmental limits, 5.2.4.7.13.1.1.7.19.2,
-      7.12.7.4.7.12.7.5.7.12.8.4.7.12.9.5,                         7.19.3.7.19.4.4.7.19.6.1.7.20.2.1.7.20.4.2,
-      7.12.9.7.7.12.10.1.7.12.10.2.7.12.10.3                       7.24.2.1
-dot operator (.), 6.5.2.3                                       EOF macro, 7.4.7.19.1.7.19.5.1.7.19.5.2,
-double _Complex type, 6.2.5                                           7.19.6.2.7.19.6.7.7.19.6.9.7.19.6.11,
-double _Complex type conversion, 6.3.1.6,                             7.19.6.14.7.19.7.1.7.19.7.3.7.19.7.4,
-      6.3.1.7.6.3.1.8                                                7.19.7.5.7.19.7.6.7.19.7.9.7.19.7.10,
-double _Imaginary type, G.2                                           7.19.7.11.7.24.1.7.24.2.2.7.24.2.4,
-double type, 6.2.5.6.4.4.2.6.7.2.7.19.6.2,                         7.24.2.6.7.24.2.8.7.24.2.10.7.24.2.12,
-      7.24.2.2, F.2                                                   7.24.3.4.7.24.6.1.1.7.24.6.1.2
-double type conversion, 6.3.1.4.6.3.1.5.6.3.1.7,              equal-sign punctuator (=), 6.7.6.7.2.2.6.7.8
+domain error, 7.12.1, 7.12.4.1, 7.12.4.2, 7.12.4.4,             environment list, 7.20.4.5
+      7.12.5.1, 7.12.5.3, 7.12.6.5, 7.12.6.7,                   environmental considerations, 5.2
+      7.12.6.8, 7.12.6.9, 7.12.6.10, 7.12.6.11,                 environmental limits, 5.2.4, 7.13.1.1, 7.19.2,
+      7.12.7.4, 7.12.7.5, 7.12.8.4, 7.12.9.5,                         7.19.3, 7.19.4.4, 7.19.6.1, 7.20.2.1, 7.20.4.2,
+      7.12.9.7, 7.12.10.1, 7.12.10.2, 7.12.10.3                       7.24.2.1
+dot operator (.), 6.5.2.3                                       EOF macro, 7.4, 7.19.1, 7.19.5.1, 7.19.5.2,
+double _Complex type, 6.2.5                                           7.19.6.2, 7.19.6.7, 7.19.6.9, 7.19.6.11,
+double _Complex type conversion, 6.3.1.6,                             7.19.6.14, 7.19.7.1, 7.19.7.3, 7.19.7.4,
+      6.3.1.7, 6.3.1.8                                                7.19.7.5, 7.19.7.6, 7.19.7.9, 7.19.7.10,
+double _Imaginary type, G.2                                           7.19.7.11, 7.24.1, 7.24.2.2, 7.24.2.4,
+double type, 6.2.5, 6.4.4.2, 6.7.2, 7.19.6.2,                         7.24.2.6, 7.24.2.8, 7.24.2.10, 7.24.2.12,
+      7.24.2.2, F.2                                                   7.24.3.4, 7.24.6.1.1, 7.24.6.1.2
+double type conversion, 6.3.1.4, 6.3.1.5, 6.3.1.7,              equal-sign punctuator (=), 6.7, 6.7.2.2, 6.7.8
       6.3.1.8                                                   equal-to operator, see equality operator
 double-precision arithmetic, 5.1.2.3                            equality expressions, 6.5.9
 double-quote escape sequence (\"), 6.4.4.4,                     equality operator (==), 6.5.9
-      6.4.5.6.10.9                                             ERANGE macro, 7.5.7.8.2.3.7.8.2.4.7.12.1,
-double_t type, 7.12, J.5.6                                            7.20.1.3.7.20.1.4.7.24.4.1.1.7.24.4.1.2, see
+      6.4.5, 6.10.9                                             ERANGE macro, 7.5, 7.8.2.3, 7.8.2.4, 7.12.1,
+double_t type, 7.12, J.5.6                                            7.20.1.3, 7.20.1.4, 7.24.4.1.1, 7.24.4.1.2, see
                                                                       also range error
-EDOM macro, 7.5.7.12.1, see also domain error                  erf functions, 7.12.8.1, F.9.5.1
+EDOM macro, 7.57.12.1, see also domain error                  erf functions, 7.12.8.1, F.9.5.1
 effective type, 6.5                                             erf type-generic macro, 7.22
-EILSEQ macro, 7.5.7.19.3.7.24.3.1.7.24.3.3,                  erfc functions, 7.12.8.2, F.9.5.2
-      7.24.6.3.2.7.24.6.3.3.7.24.6.4.1.7.24.6.4.2,           erfc type-generic macro, 7.22
-      see also encoding error                                   errno macro, 7.1.3.7.3.2.7.5.7.8.2.3.7.8.2.4,
-element type, 6.2.5                                                   7.12.1.7.14.1.1.7.19.3.7.19.9.3.7.19.10.4,
-elif preprocessing directive, 6.10.1                                  7.20.1.7.20.1.3.7.20.1.4.7.21.6.2.7.24.3.1,
-ellipsis punctuator (...), 6.5.2.2.6.7.5.3.6.10.3                   7.24.3.3.7.24.4.1.1.7.24.4.1.2.7.24.6.3.2,
-else preprocessing directive, 6.10.1                                  7.24.6.3.3.7.24.6.4.1.7.24.6.4.2, J.5.17
-else statement, 6.8.4.1                                         errno.h header, 7.5.7.26.3
+EILSEQ macro, 7.5, 7.19.3, 7.24.3.1, 7.24.3.3,                  erfc functions, 7.12.8.2, F.9.5.2
+      7.24.6.3.2, 7.24.6.3.3, 7.24.6.4.1, 7.24.6.4.2,           erfc type-generic macro, 7.22
+      see also encoding error                                   errno macro, 7.1.3, 7.3.2, 7.5, 7.8.2.3, 7.8.2.4,
+element type, 6.2.5                                                   7.12.1, 7.14.1.1, 7.19.3, 7.19.9.3, 7.19.10.4,
+elif preprocessing directive, 6.10.1                                  7.20.1, 7.20.1.3, 7.20.1.4, 7.21.6.2, 7.24.3.1,
+ellipsis punctuator (...), 6.5.2.2, 6.7.5.3, 6.10.3                   7.24.3.3, 7.24.4.1.1, 7.24.4.1.2, 7.24.6.3.2,
+else preprocessing directive, 6.10.1                                  7.24.6.3.3, 7.24.6.4.1, 7.24.6.4.2, J.5.17
+else statement, 6.8.4.1                                         errno.h header, 7.57.26.3
 empty statement, 6.8.3                                          error
-encoding error, 7.19.3.7.24.3.1.7.24.3.3,                        domain, see domain error
-      7.24.6.3.2.7.24.6.3.3.7.24.6.4.1.7.24.6.4.2               encoding, see encoding error
+encoding error, 7.19.3, 7.24.3.1, 7.24.3.3,                        domain, see domain error
+      7.24.6.3.2, 7.24.6.3.3, 7.24.6.4.1, 7.24.6.4.2               encoding, see encoding error
 end-of-file, 7.24.1                                                 range, see range error
 
 [page 525]
 
 error conditions, 7.12.1                                     extended characters, 5.2.1
-error functions, 7.12.8, F.9.5                               extended integer types, 6.2.5.6.3.1.1.6.4.4.1,
-error indicator, 7.19.1.7.19.5.3.7.19.7.1,                      7.18
-      7.19.7.3.7.19.7.5.7.19.7.6.7.19.7.8,                extended multibyte/wide character conversion
-      7.19.7.9.7.19.9.2.7.19.10.1.7.19.10.3,                   utilities, 7.24.6
-      7.24.3.1.7.24.3.3                                     extensible wide character case mapping functions,
-error preprocessing directive, 4.6.10.5                          7.25.3.2
-error-handling functions, 7.19.10.7.21.6.2                  extensible wide character classification functions,
+error functions, 7.12.8, F.9.5                               extended integer types, 6.2.5, 6.3.1.1, 6.4.4.1,
+error indicator, 7.19.1, 7.19.5.3, 7.19.7.1,                      7.18
+      7.19.7.3, 7.19.7.5, 7.19.7.6, 7.19.7.8,                extended multibyte/wide character conversion
+      7.19.7.9, 7.19.9.2, 7.19.10.1, 7.19.10.3,                   utilities, 7.24.6
+      7.24.3.17.24.3.3                                     extensible wide character case mapping functions,
+error preprocessing directive, 46.10.5                          7.25.3.2
+error-handling functions, 7.19.107.21.6.2                  extensible wide character classification functions,
 escape character (\), 6.4.4.4                                     7.25.2.2
-escape sequences, 5.2.1.5.2.2.6.4.4.4.6.11.4              extern storage-class specifier, 6.2.2.6.7.1
-evaluation format, 5.2.4.2.2.6.4.4.2.7.12                  external definition, 6.9
-evaluation method, 5.2.4.2.2.6.5, F.7.5                     external identifiers, underscore, 7.1.3
+escape sequences, 5.2.1, 5.2.2, 6.4.4.4, 6.11.4              extern storage-class specifier, 6.2.2, 6.7.1
+evaluation format, 5.2.4.2.2, 6.4.4.2, 7.12                  external definition, 6.9
+evaluation method, 5.2.4.2.26.5, F.7.5                     external identifiers, underscore, 7.1.3
 evaluation order, 6.5                                        external linkage, 6.2.2
-exceptional condition, 6.5.7.12.1                           external name, 6.4.2.1
-excess precision, 5.2.4.2.2.6.3.1.5.6.3.1.8,               external object definitions, 6.9.2
+exceptional condition, 6.57.12.1                           external name, 6.4.2.1
+excess precision, 5.2.4.2.2, 6.3.1.5, 6.3.1.8,               external object definitions, 6.9.2
       6.8.6.4
-excess range, 5.2.4.2.2.6.3.1.5.6.3.1.8.6.8.6.4           fabs functions, 7.12.7.2, F.9.4.2
+excess range, 5.2.4.2.2, 6.3.1.5, 6.3.1.8, 6.8.6.4           fabs functions, 7.12.7.2, F.9.4.2
 exclusive OR operators                                       fabs type-generic macro, 7.22, G.7
    bitwise (^), 6.5.11                                       false macro, 7.16
    bitwise assignment (^=), 6.5.16.2                         fclose function, 7.19.5.1
 executable program, 5.1.1.1                                  fdim functions, 7.12.12.1, F.9.9.1
 execution character set, 5.2.1                               fdim type-generic macro, 7.22
-execution environment, 5.5.1.2, see also                    FE_ALL_EXCEPT macro, 7.6
+execution environment, 55.1.2, see also                    FE_ALL_EXCEPT macro, 7.6
       environmental limits                                   FE_DFL_ENV macro, 7.6
-execution sequence, 5.1.2.3.6.8                             FE_DIVBYZERO macro, 7.6.7.12, F.3
-exit function, 5.1.2.2.3.7.19.3.7.20.7.20.4.3,            FE_DOWNWARD macro, 7.6, F.3
+execution sequence, 5.1.2.3, 6.8                             FE_DIVBYZERO macro, 7.6, 7.12, F.3
+exit function, 5.1.2.2.3, 7.19.3, 7.20, 7.20.4.3,            FE_DOWNWARD macro, 7.6, F.3
       7.20.4.4                                               FE_INEXACT macro, 7.6, F.3
-EXIT_FAILURE macro, 7.20.7.20.4.3                           FE_INVALID macro, 7.6.7.12, F.3
-EXIT_SUCCESS macro, 7.20.7.20.4.3                           FE_OVERFLOW macro, 7.6.7.12, F.3
+EXIT_FAILURE macro, 7.20, 7.20.4.3                           FE_INVALID macro, 7.6, 7.12, F.3
+EXIT_SUCCESS macro, 7.20, 7.20.4.3                           FE_OVERFLOW macro, 7.6, 7.12, F.3
 exp functions, 7.12.6.1, F.9.3.1                             FE_TONEAREST macro, 7.6, F.3
 exp type-generic macro, 7.22                                 FE_TOWARDZERO macro, 7.6, F.3
 exp2 functions, 7.12.6.2, F.9.3.2                            FE_UNDERFLOW macro, 7.6, F.3
 exp2 type-generic macro, 7.22                                FE_UPWARD macro, 7.6, F.3
-explicit conversion, 6.3                                     feclearexcept function, 7.6.2.7.6.2.1, F.3
-expm1 functions, 7.12.6.3, F.9.3.3                           fegetenv function, 7.6.4.1.7.6.4.3.7.6.4.4, F.3
-expm1 type-generic macro, 7.22                               fegetexceptflag function, 7.6.2.7.6.2.2, F.3
-exponent part, 6.4.4.2                                       fegetround function, 7.6.7.6.3.1, F.3
-exponential functions                                        feholdexcept function, 7.6.4.2.7.6.4.3,
+explicit conversion, 6.3                                     feclearexcept function, 7.6.27.6.2.1, F.3
+expm1 functions, 7.12.6.3, F.9.3.3                           fegetenv function, 7.6.4.1, 7.6.4.3, 7.6.4.4, F.3
+expm1 type-generic macro, 7.22                               fegetexceptflag function, 7.6.27.6.2.2, F.3
+exponent part, 6.4.4.2                                       fegetround function, 7.67.6.3.1, F.3
+exponential functions                                        feholdexcept function, 7.6.4.27.6.4.3,
    complex, 7.3.7, G.6.3                                        7.6.4.4, F.3
-   real, 7.12.6, F.9.3                                       fenv.h header, 5.1.2.3.5.2.4.2.2.7.6.7.12, F, H
-expression, 6.5                                              FENV_ACCESS pragma, 6.10.6.7.6.1, F.7, F.8,
+   real, 7.12.6, F.9.3                                       fenv.h header, 5.1.2.3, 5.2.4.2.2, 7.6, 7.12, F, H
+expression, 6.5                                              FENV_ACCESS pragma, 6.10.67.6.1, F.7, F.8,
    assignment, 6.5.16                                           F.9
    cast, 6.5.4                                               fenv_t type, 7.6
    constant, 6.6                                             feof function, 7.19.10.2
-   full, 6.8                                                 feraiseexcept function, 7.6.2.7.6.2.3, F.3
+   full, 6.8                                                 feraiseexcept function, 7.6.27.6.2.3, F.3
    order of evaluation, 6.5                                  ferror function, 7.19.10.3
    parenthesized, 6.5.1                                      fesetenv function, 7.6.4.3, F.3
-   primary, 6.5.1                                            fesetexceptflag function, 7.6.2.7.6.2.4, F.3
-   unary, 6.5.3                                              fesetround function, 7.6.7.6.3.2, F.3
-expression statement, 6.8.3                                  fetestexcept function, 7.6.2.7.6.2.5, F.3
-extended character set, 3.7.2.5.2.1.5.2.1.2                feupdateenv function, 7.6.4.2.7.6.4.4, F.3
+   primary, 6.5.1                                            fesetexceptflag function, 7.6.27.6.2.4, F.3
+   unary, 6.5.3                                              fesetround function, 7.67.6.3.2, F.3
+expression statement, 6.8.3                                  fetestexcept function, 7.6.27.6.2.5, F.3
+extended character set, 3.7.2, 5.2.1, 5.2.1.2                feupdateenv function, 7.6.4.2, 7.6.4.4, F.3
 
 [page 526]
 
 fexcept_t type, 7.6, F.3                                      floating-point status flag, 7.6, F.7.6
-fflush function, 7.19.5.2.7.19.5.3                           floor functions, 7.12.9.2, F.9.6.2
-fgetc function, 7.19.1.7.19.3.7.19.7.1,                     floor type-generic macro, 7.22
-     7.19.7.5.7.19.8.1                                       FLT_DIG macro, 5.2.4.2.2
-fgetpos function, 7.19.2.7.19.9.1.7.19.9.3                  FLT_EPSILON macro, 5.2.4.2.2
-fgets function, 7.19.1.7.19.7.2                              FLT_EVAL_METHOD macro, 5.2.4.2.2.6.8.6.4,
-fgetwc function, 7.19.1.7.19.3.7.24.3.1,                         7.12
+fflush function, 7.19.5.27.19.5.3                           floor functions, 7.12.9.2, F.9.6.2
+fgetc function, 7.19.1, 7.19.3, 7.19.7.1,                     floor type-generic macro, 7.22
+     7.19.7.57.19.8.1                                       FLT_DIG macro, 5.2.4.2.2
+fgetpos function, 7.19.2, 7.19.9.1, 7.19.9.3                  FLT_EPSILON macro, 5.2.4.2.2
+fgets function, 7.19.1, 7.19.7.2                              FLT_EVAL_METHOD macro, 5.2.4.2.2, 6.8.6.4,
+fgetwc function, 7.19.1, 7.19.3, 7.24.3.1,                         7.12
      7.24.3.6                                                 FLT_MANT_DIG macro, 5.2.4.2.2
-fgetws function, 7.19.1.7.24.3.2                             FLT_MAX macro, 5.2.4.2.2
-field width, 7.19.6.1.7.24.2.1                                FLT_MAX_10_EXP macro, 5.2.4.2.2
+fgetws function, 7.19.17.24.3.2                             FLT_MAX macro, 5.2.4.2.2
+field width, 7.19.6.17.24.2.1                                FLT_MAX_10_EXP macro, 5.2.4.2.2
 file, 7.19.3                                                   FLT_MAX_EXP macro, 5.2.4.2.2
   access functions, 7.19.5                                    FLT_MIN macro, 5.2.4.2.2
   name, 7.19.3                                                FLT_MIN_10_EXP macro, 5.2.4.2.2
   operations, 7.19.4                                          FLT_MIN_EXP macro, 5.2.4.2.2
-  position indicator, 7.19.1.7.19.2.7.19.3,                 FLT_RADIX macro, 5.2.4.2.2.7.19.6.1.7.20.1.3,
-        7.19.5.3.7.19.7.1.7.19.7.3.7.19.7.11,                   7.24.2.1.7.24.4.1.1
-        7.19.8.1.7.19.8.2.7.19.9.1.7.19.9.2,               FLT_ROUNDS macro, 5.2.4.2.2.7.6, F.3
-        7.19.9.3.7.19.9.4.7.19.9.5.7.24.3.1,               fma functions, 7.12.7.12.13.1, F.9.10.1
-        7.24.3.3.7.24.3.10                                   fma type-generic macro, 7.22
+  position indicator, 7.19.1, 7.19.2, 7.19.3,                 FLT_RADIX macro, 5.2.4.2.2, 7.19.6.1, 7.20.1.3,
+        7.19.5.3, 7.19.7.1, 7.19.7.3, 7.19.7.11,                   7.24.2.1, 7.24.4.1.1
+        7.19.8.1, 7.19.8.2, 7.19.9.1, 7.19.9.2,               FLT_ROUNDS macro, 5.2.4.2.2, 7.6, F.3
+        7.19.9.3, 7.19.9.4, 7.19.9.5, 7.24.3.1,               fma functions, 7.12, 7.12.13.1, F.9.10.1
+        7.24.3.37.24.3.10                                   fma type-generic macro, 7.22
   positioning functions, 7.19.9                               fmax functions, 7.12.12.2, F.9.9.2
-file scope, 6.2.1.6.9                                         fmax type-generic macro, 7.22
-FILE type, 7.19.1.7.19.3                                     fmin functions, 7.12.12.3, F.9.9.3
+file scope, 6.2.16.9                                         fmax type-generic macro, 7.22
+FILE type, 7.19.17.19.3                                     fmin functions, 7.12.12.3, F.9.9.3
 FILENAME_MAX macro, 7.19.1                                    fmin type-generic macro, 7.22
-flags, 7.19.6.1.7.24.2.1                                      fmod functions, 7.12.10.1, F.9.7.1
+flags, 7.19.6.17.24.2.1                                      fmod functions, 7.12.10.1, F.9.7.1
   floating-point status, see floating-point status              fmod type-generic macro, 7.22
-        flag                                                   fopen function, 7.19.5.3.7.19.5.4
-flexible array member, 6.7.2.1                                 FOPEN_MAX macro, 7.19.1.7.19.3.7.19.4.3
-float _Complex type, 6.2.5                                    for statement, 6.8.5.6.8.5.3
-float _Complex type conversion, 6.3.1.6,                      form-feed character, 5.2.1.6.4
-     6.3.1.7.6.3.1.8                                         form-feed escape sequence (\f), 5.2.2.6.4.4.4,
+        flag                                                   fopen function, 7.19.5.37.19.5.4
+flexible array member, 6.7.2.1                                 FOPEN_MAX macro, 7.19.1, 7.19.3, 7.19.4.3
+float _Complex type, 6.2.5                                    for statement, 6.8.56.8.5.3
+float _Complex type conversion, 6.3.1.6,                      form-feed character, 5.2.16.4
+     6.3.1.7, 6.3.1.8                                         form-feed escape sequence (\f), 5.2.2, 6.4.4.4,
 float _Imaginary type, G.2                                         7.4.1.10
-float type, 6.2.5.6.4.4.2.6.7.2, F.2                        formal argument (deprecated), 3.15
-float type conversion, 6.3.1.4.6.3.1.5.6.3.1.7,             formal parameter, 3.15
-     6.3.1.8                                                  formatted input/output functions, 7.11.1.1.7.19.6
-float.h header, 4.5.2.4.2.2.7.7.7.20.1.3,                     wide character, 7.24.2
+float type, 6.2.5, 6.4.4.2, 6.7.2, F.2                        formal argument (deprecated), 3.15
+float type conversion, 6.3.1.4, 6.3.1.5, 6.3.1.7,             formal parameter, 3.15
+     6.3.1.8                                                  formatted input/output functions, 7.11.1.17.19.6
+float.h header, 4, 5.2.4.2.2, 7.7, 7.20.1.3,                     wide character, 7.24.2
      7.24.4.1.1                                               fortran keyword, J.5.9
 float_t type, 7.12, J.5.6                                     forward reference, 3.11
-floating constant, 6.4.4.2                                     FP_CONTRACT pragma, 6.5.6.10.6.7.12.2, see
+floating constant, 6.4.4.2                                     FP_CONTRACT pragma, 6.5, 6.10.6, 7.12.2, see
 floating suffix, f or F, 6.4.4.2                                     also contracted expression
-floating type conversion, 6.3.1.4.6.3.1.5.6.3.1.7,           FP_FAST_FMA macro, 7.12
+floating type conversion, 6.3.1.4, 6.3.1.5, 6.3.1.7,           FP_FAST_FMA macro, 7.12
      F.3, F.4                                                 FP_FAST_FMAF macro, 7.12
-floating types, 6.2.5.6.11.1                                  FP_FAST_FMAL macro, 7.12
-floating-point accuracy, 5.2.4.2.2.6.4.4.2.6.5,              FP_ILOGB0 macro, 7.12.7.12.6.5
-     7.20.1.3, F.5, see also contracted expression            FP_ILOGBNAN macro, 7.12.7.12.6.5
+floating types, 6.2.56.11.1                                  FP_FAST_FMAL macro, 7.12
+floating-point accuracy, 5.2.4.2.2, 6.4.4.2, 6.5,              FP_ILOGB0 macro, 7.12, 7.12.6.5
+     7.20.1.3, F.5, see also contracted expression            FP_ILOGBNAN macro, 7.127.12.6.5
 floating-point arithmetic functions, 7.12, F.9                 FP_INFINITE macro, 7.12, F.3
 floating-point classification functions, 7.12.3                 FP_NAN macro, 7.12, F.3
 floating-point control mode, 7.6, F.7.6                        FP_NORMAL macro, 7.12, F.3
 floating-point environment, 7.6, F.7, F.7.6                    FP_SUBNORMAL macro, 7.12, F.3
-floating-point exception, 7.6.7.6.2, F.9                      FP_ZERO macro, 7.12, F.3
-floating-point number, 5.2.4.2.2.6.2.5                        fpclassify macro, 7.12.3.1, F.3
-floating-point rounding mode, 5.2.4.2.2                        fpos_t type, 7.19.1.7.19.2
+floating-point exception, 7.67.6.2, F.9                      FP_ZERO macro, 7.12, F.3
+floating-point number, 5.2.4.2.26.2.5                        fpclassify macro, 7.12.3.1, F.3
+floating-point rounding mode, 5.2.4.2.2                        fpos_t type, 7.19.17.19.2
 
 [page 527]
 
-fprintf function, 7.8.1.7.19.1.7.19.6.1,                       language, 6.11
-      7.19.6.2.7.19.6.3.7.19.6.5.7.19.6.6,                    library, 7.26
-      7.19.6.8.7.24.2.2, F.3                                  fwide function, 7.19.2.7.24.3.5
-fputc function, 5.2.2.7.19.1.7.19.3.7.19.7.3,               fwprintf function, 7.8.1.7.19.1.7.19.6.2,
-      7.19.7.8.7.19.8.2                                            7.24.2.1.7.24.2.2.7.24.2.3.7.24.2.5,
-fputs function, 7.19.1.7.19.7.4                                    7.24.2.11
-fputwc function, 7.19.1.7.19.3.7.24.3.3,                     fwrite function, 7.19.1.7.19.8.2
-      7.24.3.8                                                 fwscanf function, 7.8.1.7.19.1.7.24.2.2,
-fputws function, 7.19.1.7.24.3.4                                   7.24.2.4.7.24.2.6.7.24.2.12.7.24.3.10
-fread function, 7.19.1.7.19.8.1
-free function, 7.20.3.2.7.20.3.4                              gamma functions, 7.12.8, F.9.5
-freestanding execution environment, 4.5.1.2,                  general utilities, 7.20
+fprintf function, 7.8.1, 7.19.1, 7.19.6.1,                       language, 6.11
+      7.19.6.2, 7.19.6.3, 7.19.6.5, 7.19.6.6,                    library, 7.26
+      7.19.6.8, 7.24.2.2, F.3                                  fwide function, 7.19.2, 7.24.3.5
+fputc function, 5.2.2, 7.19.1, 7.19.3, 7.19.7.3,               fwprintf function, 7.8.1, 7.19.1, 7.19.6.2,
+      7.19.7.8, 7.19.8.2                                            7.24.2.1, 7.24.2.2, 7.24.2.3, 7.24.2.5,
+fputs function, 7.19.17.19.7.4                                    7.24.2.11
+fputwc function, 7.19.1, 7.19.3, 7.24.3.3,                     fwrite function, 7.19.1, 7.19.8.2
+      7.24.3.8                                                 fwscanf function, 7.8.1, 7.19.1, 7.24.2.2,
+fputws function, 7.19.1, 7.24.3.4                                   7.24.2.4, 7.24.2.6, 7.24.2.12, 7.24.3.10
+fread function, 7.19.17.19.8.1
+free function, 7.20.3.27.20.3.4                              gamma functions, 7.12.8, F.9.5
+freestanding execution environment, 45.1.2,                  general utilities, 7.20
       5.1.2.1                                                    wide string, 7.24.4
-freopen function, 7.19.2.7.19.5.4                             general wide string utilities, 7.24.4
+freopen function, 7.19.27.19.5.4                             general wide string utilities, 7.24.4
 frexp functions, 7.12.6.4, F.9.3.4                             generic parameters, 7.22
-frexp type-generic macro, 7.22                                 getc function, 7.19.1.7.19.7.5.7.19.7.6
-fscanf function, 7.8.1.7.19.1.7.19.6.2,                      getchar function, 7.19.1.7.19.7.6
-      7.19.6.4.7.19.6.7.7.19.6.9, F.3                        getenv function, 7.20.4.5
-fseek function, 7.19.1.7.19.5.3.7.19.7.11,                   gets function, 7.19.1.7.19.7.7.7.26.9
-      7.19.9.2.7.19.9.4.7.19.9.5.7.24.3.10                  getwc function, 7.19.1.7.24.3.6.7.24.3.7
-fsetpos function, 7.19.2.7.19.5.3.7.19.7.11,                 getwchar function, 7.19.1.7.24.3.7
-      7.19.9.1.7.19.9.3.7.24.3.10                            gmtime function, 7.23.3.3
-ftell function, 7.19.9.2.7.19.9.4                             goto statement, 6.2.1.6.8.1.6.8.6.1
+frexp type-generic macro, 7.22                                 getc function, 7.19.1, 7.19.7.5, 7.19.7.6
+fscanf function, 7.8.1, 7.19.1, 7.19.6.2,                      getchar function, 7.19.1, 7.19.7.6
+      7.19.6.4, 7.19.6.7, 7.19.6.9, F.3                        getenv function, 7.20.4.5
+fseek function, 7.19.1, 7.19.5.3, 7.19.7.11,                   gets function, 7.19.1, 7.19.7.7, 7.26.9
+      7.19.9.2, 7.19.9.4, 7.19.9.5, 7.24.3.10                  getwc function, 7.19.1, 7.24.3.6, 7.24.3.7
+fsetpos function, 7.19.2, 7.19.5.3, 7.19.7.11,                 getwchar function, 7.19.1, 7.24.3.7
+      7.19.9.1, 7.19.9.3, 7.24.3.10                            gmtime function, 7.23.3.3
+ftell function, 7.19.9.2, 7.19.9.4                             goto statement, 6.2.1, 6.8.1, 6.8.6.1
 full declarator, 6.7.5                                         graphic characters, 5.2.1
 full expression, 6.8                                           greater-than operator (>), 6.5.8
 fully buffered stream, 7.19.3                                  greater-than-or-equal-to operator (>=), 6.5.8
 function
-   argument, 6.5.2.2.6.9.1                                    header, 5.1.1.1.7.1.2, see also standard headers
-   body, 6.9.1                                                 header names, 6.4.6.4.7.6.10.2
+   argument, 6.5.2.2, 6.9.1                                    header, 5.1.1.1, 7.1.2, see also standard headers
+   body, 6.9.1                                                 header names, 6.4, 6.4.7, 6.10.2
    call, 6.5.2.2                                               hexadecimal constant, 6.4.4.1
-      library, 7.1.4                                           hexadecimal digit, 6.4.4.1.6.4.4.2.6.4.4.4
-   declarator, 6.7.5.3.6.11.6                                 hexadecimal prefix, 6.4.4.1
-   definition, 6.7.5.3.6.9.1.6.11.7                           hexadecimal-character escape sequence
+      library, 7.1.4                                           hexadecimal digit, 6.4.4.1, 6.4.4.2, 6.4.4.4
+   declarator, 6.7.5.36.11.6                                 hexadecimal prefix, 6.4.4.1
+   definition, 6.7.5.3, 6.9.1, 6.11.7                           hexadecimal-character escape sequence
    designator, 6.3.2.1                                              (\x hexadecimal digits), 6.4.4.4
    image, 5.2.3                                                high-order bit, 3.6
-   library, 5.1.1.1.7.1.4                                     horizontal-tab character, 5.2.1.6.4
-   name length, 5.2.4.1.6.4.2.1.6.11.3                       horizontal-tab escape sequence (\r), 7.25.2.1.3
-   parameter, 5.1.2.2.1.6.5.2.2.6.7.6.9.1                   horizontal-tab escape sequence (\t), 5.2.2,
-   prototype, 5.1.2.2.1.6.2.1.6.2.7.6.5.2.2.6.7,                6.4.4.4.7.4.1.3.7.4.1.10
-         6.7.5.3.6.9.1.6.11.6.6.11.7.7.1.2.7.12           hosted execution environment, 4.5.1.2.5.1.2.2
-   prototype scope, 6.2.1.6.7.5.2                             HUGE_VAL macro, 7.12.7.12.1.7.20.1.3,
+   library, 5.1.1.1, 7.1.4                                     horizontal-tab character, 5.2.1, 6.4
+   name length, 5.2.4.1, 6.4.2.1, 6.11.3                       horizontal-tab escape sequence (\r), 7.25.2.1.3
+   parameter, 5.1.2.2.1, 6.5.2.2, 6.7, 6.9.1                   horizontal-tab escape sequence (\t), 5.2.2,
+   prototype, 5.1.2.2.1, 6.2.1, 6.2.7, 6.5.2.2, 6.7,                6.4.4.4, 7.4.1.3, 7.4.1.10
+         6.7.5.3, 6.9.1, 6.11.6, 6.11.7, 7.1.2, 7.12           hosted execution environment, 4, 5.1.2, 5.1.2.2
+   prototype scope, 6.2.1, 6.7.5.2                             HUGE_VAL macro, 7.12, 7.12.1, 7.20.1.3,
    recursive call, 6.5.2.2                                          7.24.4.1.1, F.9
-   return, 6.8.6.4                                             HUGE_VALF macro, 7.12.7.12.1.7.20.1.3,
+   return, 6.8.6.4                                             HUGE_VALF macro, 7.12, 7.12.1, 7.20.1.3,
    scope, 6.2.1                                                     7.24.4.1.1, F.9
-   type, 6.2.5                                                 HUGE_VALL macro, 7.12.7.12.1.7.20.1.3,
+   type, 6.2.5                                                 HUGE_VALL macro, 7.12, 7.12.1, 7.20.1.3,
    type conversion, 6.3.2.1                                         7.24.4.1.1, F.9
 function specifiers, 6.7.4                                      hyperbolic functions
 function type, 6.2.5                                             complex, 7.3.6, G.6.2
@@ -20604,120 +20110,120 @@ future directions                                              hypot type-generi
 
 [page 528]
 
-I macro, 7.3.1.7.3.9.4, G.6                                    initial position, 5.2.2
-identifier, 6.4.2.1.6.5.1                                       initial shift state, 5.2.1.2
-   linkage, see linkage                                         initialization, 5.1.2.6.2.4.6.3.2.1.6.5.2.5.6.7.8,
+I macro, 7.3.17.3.9.4, G.6                                    initial position, 5.2.2
+identifier, 6.4.2.16.5.1                                       initial shift state, 5.2.1.2
+   linkage, see linkage                                         initialization, 5.1.2, 6.2.4, 6.3.2.1, 6.5.2.5, 6.7.8,
   maximum length, 6.4.2.1                                             F.7.5
    name spaces, 6.2.3                                              in blocks, 6.8
-   reserved, 6.4.1.7.1.3                                       initializer, 6.7.8
+   reserved, 6.4.17.1.3                                       initializer, 6.7.8
   scope, 6.2.1                                                     permitted form, 6.6
    type, 6.2.5                                                     string literal, 6.3.2.1
 identifier list, 6.7.5                                           inline, 6.7.4
 identifier nondigit, 6.4.2.1                                     inner scope, 6.2.1
-IEC 559, F.1                                                    input failure, 7.24.2.6.7.24.2.8.7.24.2.10
-IEC 60559.2, 5.1.2.3.5.2.4.2.2.6.10.8.7.3.3.7.6,           input/output functions
-      7.6.4.2.7.12.1.7.12.10.2.7.12.14, F, G, H.1               character, 7.19.7
+IEC 559, F.1                                                    input failure, 7.24.2.6, 7.24.2.8, 7.24.2.10
+IEC 60559, 2, 5.1.2.3, 5.2.4.2.2, 6.10.8, 7.3.3, 7.6,           input/output functions
+      7.6.4.2, 7.12.1, 7.12.10.2, 7.12.14, F, G, H.1               character, 7.19.7
 IEEE 754, F.1                                                      direct, 7.19.8
 IEEE 854, F.1                                                      formatted, 7.19.6
 IEEE floating-point arithmetic standard, see                           wide character, 7.24.2
       IEC 60559, ANSI/IEEE 754,                                    wide character, 7.24.3
       ANSI/IEEE 854                                                   formatted, 7.24.2
-if preprocessing directive, 5.2.4.2.1.5.2.4.2.2,               input/output header, 7.19
-      6.10.1.7.1.4                                             input/output, device, 5.1.2.3
-if statement, 6.8.4.1                                           int type, 6.2.5.6.3.1.1.6.3.1.3.6.4.4.1.6.7.2
-ifdef preprocessing directive, 6.10.1                           int type conversion, 6.3.1.1.6.3.1.3.6.3.1.4,
+if preprocessing directive, 5.2.4.2.15.2.4.2.2,               input/output header, 7.19
+      6.10.17.1.4                                             input/output, device, 5.1.2.3
+if statement, 6.8.4.1                                           int type, 6.2.5, 6.3.1.1, 6.3.1.3, 6.4.4.1, 6.7.2
+ifdef preprocessing directive, 6.10.1                           int type conversion, 6.3.1.1, 6.3.1.3, 6.3.1.4,
 ifndef preprocessing directive, 6.10.1                                6.3.1.8
-ilogb functions, 7.12.7.12.6.5, F.9.3.5                        INT_FASTN_MAX macros, 7.18.2.3
+ilogb functions, 7.127.12.6.5, F.9.3.5                        INT_FASTN_MAX macros, 7.18.2.3
 ilogb type-generic macro, 7.22                                  INT_FASTN_MIN macros, 7.18.2.3
 imaginary macro, 7.3.1, G.6                                     int_fastN_t types, 7.18.1.3
 imaginary numbers, G                                            INT_LEASTN_MAX macros, 7.18.2.2
 imaginary type domain, G.2                                      INT_LEASTN_MIN macros, 7.18.2.2
 imaginary types, G                                              int_leastN_t types, 7.18.1.2
-imaxabs function, 7.8.2.1                                       INT_MAX macro, 5.2.4.2.1.7.12.7.12.6.5
-imaxdiv function, 7.8.7.8.2.2                                  INT_MIN macro, 5.2.4.2.1.7.12
-imaxdiv_t type, 7.8                                             integer arithmetic functions, 7.8.2.1.7.8.2.2,
+imaxabs function, 7.8.2.1                                       INT_MAX macro, 5.2.4.2.1, 7.12, 7.12.6.5
+imaxdiv function, 7.8, 7.8.2.2                                  INT_MIN macro, 5.2.4.2.1, 7.12
+imaxdiv_t type, 7.8                                             integer arithmetic functions, 7.8.2.17.8.2.2,
 implementation, 3.12                                                  7.20.6
-implementation limit, 3.13.4, 5.2.4.2.6.4.2.1,                integer character constant, 6.4.4.4
-      6.7.5.6.8.4.2, E, see also environmental                 integer constant, 6.4.4.1
+implementation limit, 3.13, 4, 5.2.4.2, 6.4.2.1,                integer character constant, 6.4.4.4
+      6.7.56.8.4.2, E, see also environmental                 integer constant, 6.4.4.1
       limits                                                    integer constant expression, 6.6
-implementation-defined behavior, 3.4.1.4, J.3                   integer conversion rank, 6.3.1.1
-implementation-defined value, 3.17.1                             integer promotions, 5.1.2.3.5.2.4.2.1.6.3.1.1,
-implicit conversion, 6.3                                              6.5.2.2.6.5.3.3.6.5.7.6.8.4.2.7.18.2.7.18.3,
-implicit initialization, 6.7.8                                        7.19.6.1.7.24.2.1
-include preprocessing directive, 5.1.1.2.6.10.2                integer suffix, 6.4.4.1
-inclusive OR operators                                          integer type conversion, 6.3.1.1.6.3.1.3.6.3.1.4,
+implementation-defined behavior, 3.4.14, J.3                   integer conversion rank, 6.3.1.1
+implementation-defined value, 3.17.1                             integer promotions, 5.1.2.3, 5.2.4.2.1, 6.3.1.1,
+implicit conversion, 6.3                                              6.5.2.2, 6.5.3.3, 6.5.7, 6.8.4.2, 7.18.2, 7.18.3,
+implicit initialization, 6.7.8                                        7.19.6.17.24.2.1
+include preprocessing directive, 5.1.1.26.10.2                integer suffix, 6.4.4.1
+inclusive OR operators                                          integer type conversion, 6.3.1.1, 6.3.1.3, 6.3.1.4,
    bitwise (|), 6.5.12                                                F.3, F.4
-   bitwise assignment (|=), 6.5.16.2                            integer types, 6.2.5.7.18
-incomplete type, 6.2.5                                             extended, 6.2.5.6.3.1.1.6.4.4.1.7.18
-increment operators, see arithmetic operators,                  interactive device, 5.1.2.3.7.19.3.7.19.5.3
+   bitwise assignment (|=), 6.5.16.2                            integer types, 6.2.57.18
+incomplete type, 6.2.5                                             extended, 6.2.5, 6.3.1.1, 6.4.4.1, 7.18
+increment operators, see arithmetic operators,                  interactive device, 5.1.2.3, 7.19.3, 7.19.5.3
       increment and decrement                                   internal linkage, 6.2.2
 indeterminate value, 3.17.2                                     internal name, 6.4.2.1
-indirection operator (*), 6.5.2.1.6.5.3.2                      interrupt, 5.2.3
+indirection operator (*), 6.5.2.16.5.3.2                      interrupt, 5.2.3
 inequality operator (!=), 6.5.9                                 INTMAX_C macro, 7.18.4.2
-INFINITY macro, 7.3.9.4.7.12, F.2.1                            INTMAX_MAX macro, 7.8.2.3.7.8.2.4.7.18.2.5
+INFINITY macro, 7.3.9.4, 7.12, F.2.1                            INTMAX_MAX macro, 7.8.2.3, 7.8.2.4, 7.18.2.5
 
 [page 529]
 
-INTMAX_MIN macro, 7.8.2.3.7.8.2.4.7.18.2.5            iswalpha function, 7.25.2.1.1.7.25.2.1.2,
-intmax_t type, 7.18.1.5.7.19.6.1.7.19.6.2,                  7.25.2.2.1
-    7.24.2.1.7.24.2.2                                  iswblank function, 7.25.2.1.3.7.25.2.2.1
-INTN_C macros, 7.18.4.1                                 iswcntrl function, 7.25.2.1.2.7.25.2.1.4,
-INTN_MAX macros, 7.18.2.1                                     7.25.2.1.7.7.25.2.1.11.7.25.2.2.1
-INTN_MIN macros, 7.18.2.1                               iswctype function, 7.25.2.2.1.7.25.2.2.2
-intN_t types, 7.18.1.1                                  iswdigit function, 7.25.2.1.1.7.25.2.1.2,
-INTPTR_MAX macro, 7.18.2.4                                    7.25.2.1.5.7.25.2.1.7.7.25.2.1.11.7.25.2.2.1
-INTPTR_MIN macro, 7.18.2.4                              iswgraph function, 7.25.2.1.7.25.2.1.6,
-intptr_t type, 7.18.1.4                                       7.25.2.1.10.7.25.2.2.1
-inttypes.h header, 7.8.7.26.4                          iswlower function, 7.25.2.1.2.7.25.2.1.7,
-isalnum function, 7.4.1.1.7.4.1.9.7.4.1.10                  7.25.2.2.1.7.25.3.1.1.7.25.3.1.2
-isalpha function, 7.4.1.1.7.4.1.2                      iswprint function, 7.25.2.1.6.7.25.2.1.8,
+INTMAX_MIN macro, 7.8.2.3, 7.8.2.4, 7.18.2.5            iswalpha function, 7.25.2.1.1, 7.25.2.1.2,
+intmax_t type, 7.18.1.5, 7.19.6.1, 7.19.6.2,                  7.25.2.2.1
+    7.24.2.1, 7.24.2.2                                  iswblank function, 7.25.2.1.3, 7.25.2.2.1
+INTN_C macros, 7.18.4.1                                 iswcntrl function, 7.25.2.1.27.25.2.1.4,
+INTN_MAX macros, 7.18.2.1                                     7.25.2.1.7, 7.25.2.1.11, 7.25.2.2.1
+INTN_MIN macros, 7.18.2.1                               iswctype function, 7.25.2.2.17.25.2.2.2
+intN_t types, 7.18.1.1                                  iswdigit function, 7.25.2.1.17.25.2.1.2,
+INTPTR_MAX macro, 7.18.2.4                                    7.25.2.1.5, 7.25.2.1.7, 7.25.2.1.11, 7.25.2.2.1
+INTPTR_MIN macro, 7.18.2.4                              iswgraph function, 7.25.2.17.25.2.1.6,
+intptr_t type, 7.18.1.4                                       7.25.2.1.107.25.2.2.1
+inttypes.h header, 7.8, 7.26.4                          iswlower function, 7.25.2.1.2, 7.25.2.1.7,
+isalnum function, 7.4.1.1, 7.4.1.9, 7.4.1.10                  7.25.2.2.1, 7.25.3.1.1, 7.25.3.1.2
+isalpha function, 7.4.1.1, 7.4.1.2                      iswprint function, 7.25.2.1.6, 7.25.2.1.8,
 isblank function, 7.4.1.3                                     7.25.2.2.1
-iscntrl function, 7.4.1.2.7.4.1.4.7.4.1.7,            iswpunct function, 7.25.2.1.7.25.2.1.2,
-    7.4.1.11                                                  7.25.2.1.7.7.25.2.1.9.7.25.2.1.10,
-isdigit function, 7.4.1.1.7.4.1.2.7.4.1.5,                  7.25.2.1.11.7.25.2.2.1
-    7.4.1.7.7.4.1.11.7.11.1.1                         iswspace function, 7.19.6.2.7.24.2.2,
-isfinite macro, 7.12.3.2, F.3                                 7.24.4.1.1.7.24.4.1.2.7.25.2.1.2.7.25.2.1.6,
-isgraph function, 7.4.1.6                                     7.25.2.1.7.7.25.2.1.9.7.25.2.1.10,
-isgreater macro, 7.12.14.1, F.3                               7.25.2.1.11.7.25.2.2.1
-isgreaterequal macro, 7.12.14.2, F.3                    iswupper function, 7.25.2.1.2.7.25.2.1.11,
-isinf macro, 7.12.3.3                                         7.25.2.2.1.7.25.3.1.1.7.25.3.1.2
-isless macro, 7.12.14.3, F.3                            iswxdigit function, 7.25.2.1.12.7.25.2.2.1
-islessequal macro, 7.12.14.4, F.3                       isxdigit function, 7.4.1.12.7.11.1.1
-islessgreater macro, 7.12.14.5, F.3                     italic type convention, 3.6.1
-islower function, 7.4.1.2.7.4.1.7.7.4.2.1,            iteration statements, 6.8.5
+iscntrl function, 7.4.1.2, 7.4.1.4, 7.4.1.7,            iswpunct function, 7.25.2.1, 7.25.2.1.2,
+    7.4.1.11                                                  7.25.2.1.7, 7.25.2.1.9, 7.25.2.1.10,
+isdigit function, 7.4.1.1, 7.4.1.2, 7.4.1.5,                  7.25.2.1.11, 7.25.2.2.1
+    7.4.1.7, 7.4.1.11, 7.11.1.1                         iswspace function, 7.19.6.2, 7.24.2.2,
+isfinite macro, 7.12.3.2, F.3                                 7.24.4.1.1, 7.24.4.1.2, 7.25.2.1.2, 7.25.2.1.6,
+isgraph function, 7.4.1.6                                     7.25.2.1.7, 7.25.2.1.9, 7.25.2.1.10,
+isgreater macro, 7.12.14.1, F.3                               7.25.2.1.117.25.2.2.1
+isgreaterequal macro, 7.12.14.2, F.3                    iswupper function, 7.25.2.1.27.25.2.1.11,
+isinf macro, 7.12.3.3                                         7.25.2.2.1, 7.25.3.1.1, 7.25.3.1.2
+isless macro, 7.12.14.3, F.3                            iswxdigit function, 7.25.2.1.127.25.2.2.1
+islessequal macro, 7.12.14.4, F.3                       isxdigit function, 7.4.1.127.11.1.1
+islessgreater macro, 7.12.14.5, F.3                     italic type convention, 36.1
+islower function, 7.4.1.2, 7.4.1.7, 7.4.2.1,            iteration statements, 6.8.5
     7.4.2.2
 isnan macro, 7.12.3.4, F.3                              jmp_buf type, 7.13
 isnormal macro, 7.12.3.5                                jump statements, 6.8.6
-ISO 31-11.2, 3
-ISO 4217.2, 7.11.2.1                                   keywords, 6.4.1, G.2, J.5.9, J.5.10
-ISO 8601.2, 7.23.3.5                                   known constant size, 6.2.5
-ISO/IEC 10646.2, 6.4.2.1.6.4.3.6.10.8
-ISO/IEC 10976-1, H.1                                    L_tmpnam macro, 7.19.1.7.19.4.4
-ISO/IEC 2382-1.2, 3                                    label name, 6.2.1.6.2.3
-ISO/IEC 646.2, 5.2.1.1                                 labeled statement, 6.8.1
-ISO/IEC 9945-2.7.11                                    labs function, 7.20.6.1
+ISO 31-112, 3
+ISO 42172, 7.11.2.1                                   keywords, 6.4.1, G.2, J.5.9, J.5.10
+ISO 86012, 7.23.3.5                                   known constant size, 6.2.5
+ISO/IEC 10646, 2, 6.4.2.1, 6.4.3, 6.10.8
+ISO/IEC 10976-1, H.1                                    L_tmpnam macro, 7.19.17.19.4.4
+ISO/IEC 2382-1, 2, 3                                    label name, 6.2.1, 6.2.3
+ISO/IEC 6462, 5.2.1.1                                 labeled statement, 6.8.1
+ISO/IEC 9945-27.11                                    labs function, 7.20.6.1
 ISO/IEC TR 10176, D                                     language, 6
-iso646.h header, 4.7.9                                    future directions, 6.11
-isprint function, 5.2.2.7.4.1.8                           syntax summary, A
-ispunct function, 7.4.1.2.7.4.1.7.7.4.1.9,            Latin alphabet, 5.2.1.6.4.2.1
-    7.4.1.11                                            LC_ALL macro, 7.11.7.11.1.1.7.11.2.1
-isspace function, 7.4.1.2.7.4.1.7.7.4.1.9,            LC_COLLATE macro, 7.11.7.11.1.1.7.21.4.3,
-    7.4.1.10.7.4.1.11.7.19.6.2.7.20.1.3,                   7.24.4.4.2
-    7.20.1.4.7.24.2.2                                  LC_CTYPE macro, 7.11.7.11.1.1.7.20.7.20.7,
-isunordered macro, 7.12.14.6, F.3                             7.20.8.7.24.6.7.25.1.7.25.2.2.1.7.25.2.2.2,
-isupper function, 7.4.1.2.7.4.1.11.7.4.2.1,                 7.25.3.2.1.7.25.3.2.2
-    7.4.2.2                                             LC_MONETARY macro, 7.11.7.11.1.1.7.11.2.1
-iswalnum function, 7.25.2.1.1.7.25.2.1.9,              LC_NUMERIC macro, 7.11.7.11.1.1.7.11.2.1
-    7.25.2.1.10.7.25.2.2.1                             LC_TIME macro, 7.11.7.11.1.1.7.23.3.5
+iso646.h header, 47.9                                    future directions, 6.11
+isprint function, 5.2.27.4.1.8                           syntax summary, A
+ispunct function, 7.4.1.2, 7.4.1.7, 7.4.1.9,            Latin alphabet, 5.2.1, 6.4.2.1
+    7.4.1.11                                            LC_ALL macro, 7.11, 7.11.1.1, 7.11.2.1
+isspace function, 7.4.1.2, 7.4.1.7, 7.4.1.9,            LC_COLLATE macro, 7.11, 7.11.1.1, 7.21.4.3,
+    7.4.1.10, 7.4.1.11, 7.19.6.2, 7.20.1.3,                   7.24.4.4.2
+    7.20.1.4, 7.24.2.2                                  LC_CTYPE macro, 7.11, 7.11.1.1, 7.20, 7.20.7,
+isunordered macro, 7.12.14.6, F.3                             7.20.8, 7.24.6, 7.25.1, 7.25.2.2.1, 7.25.2.2.2,
+isupper function, 7.4.1.2, 7.4.1.11, 7.4.2.1,                 7.25.3.2.1, 7.25.3.2.2
+    7.4.2.2                                             LC_MONETARY macro, 7.11, 7.11.1.1, 7.11.2.1
+iswalnum function, 7.25.2.1.1, 7.25.2.1.9,              LC_NUMERIC macro, 7.11, 7.11.1.1, 7.11.2.1
+    7.25.2.1.10, 7.25.2.2.1                             LC_TIME macro, 7.11, 7.11.1.1, 7.23.3.5
 
 [page 530]
 
 lconv structure type, 7.11                                 llabs function, 7.20.6.1
 LDBL_DIG macro, 5.2.4.2.2                                  lldiv function, 7.20.6.2
 LDBL_EPSILON macro, 5.2.4.2.2                              lldiv_t type, 7.20
-LDBL_MANT_DIG macro, 5.2.4.2.2                             LLONG_MAX macro, 5.2.4.2.1.7.20.1.4,
+LDBL_MANT_DIG macro, 5.2.4.2.2                             LLONG_MAX macro, 5.2.4.2.17.20.1.4,
 LDBL_MAX macro, 5.2.4.2.2                                       7.24.4.1.2
-LDBL_MAX_10_EXP macro, 5.2.4.2.2                           LLONG_MIN macro, 5.2.4.2.1.7.20.1.4,
+LDBL_MAX_10_EXP macro, 5.2.4.2.2                           LLONG_MIN macro, 5.2.4.2.17.20.1.4,
 LDBL_MAX_EXP macro, 5.2.4.2.2                                   7.24.4.1.2
 LDBL_MIN macro, 5.2.4.2.2                                  llrint functions, 7.12.9.5, F.3, F.9.6.5
 LDBL_MIN_10_EXP macro, 5.2.4.2.2                           llrint type-generic macro, 7.22
@@ -20726,61 +20232,61 @@ ldexp functions, 7.12.6.6, F.9.3.6                         llround type-generic
 ldexp type-generic macro, 7.22                             local time, 7.23.1
 ldiv function, 7.20.6.2                                    locale, 3.4.2
 ldiv_t type, 7.20                                          locale-specific behavior, 3.4.2, J.4
-leading underscore in identifiers, 7.1.3                    locale.h header, 7.11.7.26.5
-left-shift assignment operator (<<=), 6.5.16.2             localeconv function, 7.11.1.1.7.11.2.1
+leading underscore in identifiers, 7.1.3                    locale.h header, 7.117.26.5
+left-shift assignment operator (<<=), 6.5.16.2             localeconv function, 7.11.1.17.11.2.1
 left-shift operator (<<), 6.5.7                            localization, 7.11
 length                                                     localtime function, 7.23.3.4
-   external name, 5.2.4.1.6.4.2.1.6.11.3                 log functions, 7.12.6.7, F.9.3.7
-   function name, 5.2.4.1.6.4.2.1.6.11.3                 log type-generic macro, 7.22
+   external name, 5.2.4.1, 6.4.2.1, 6.11.3                 log functions, 7.12.6.7, F.9.3.7
+   function name, 5.2.4.1, 6.4.2.1, 6.11.3                 log type-generic macro, 7.22
    identifier, 6.4.2.1                                      log10 functions, 7.12.6.8, F.9.3.8
-   internal name, 5.2.4.1.6.4.2.1                         log10 type-generic macro, 7.22
-length function, 7.20.7.1.7.21.6.3.7.24.4.6.1,           log1p functions, 7.12.6.9, F.9.3.9
+   internal name, 5.2.4.16.4.2.1                         log10 type-generic macro, 7.22
+length function, 7.20.7.1, 7.21.6.3, 7.24.4.6.1,           log1p functions, 7.12.6.9, F.9.3.9
       7.24.6.3.1                                           log1p type-generic macro, 7.22
-length modifier, 7.19.6.1.7.19.6.2.7.24.2.1,              log2 functions, 7.12.6.10, F.9.3.10
+length modifier, 7.19.6.1, 7.19.6.2, 7.24.2.1,              log2 functions, 7.12.6.10, F.9.3.10
       7.24.2.2                                             log2 type-generic macro, 7.22
 less-than operator (<), 6.5.8                              logarithmic functions
 less-than-or-equal-to operator (<=), 6.5.8                   complex, 7.3.7, G.6.3
-letter, 5.2.1.7.4                                           real, 7.12.6, F.9.3
-lexical elements, 5.1.1.2.6.4                             logb functions, 7.12.6.11, F.3, F.9.3.11
+letter, 5.2.17.4                                           real, 7.12.6, F.9.3
+lexical elements, 5.1.1.26.4                             logb functions, 7.12.6.11, F.3, F.9.3.11
 lgamma functions, 7.12.8.3, F.9.5.3                        logb type-generic macro, 7.22
 lgamma type-generic macro, 7.22                            logical operators
-library, 5.1.1.1.7                                          AND (&&), 6.5.13
+library, 5.1.1.17                                          AND (&&), 6.5.13
    future directions, 7.26                                   negation (!), 6.5.3.3
    summary, B                                                OR (||), 6.5.14
    terms, 7.1.1                                            logical source lines, 5.1.1.2
    use of functions, 7.1.4                                 long double _Complex type, 6.2.5
 lifetime, 6.2.4                                            long double _Complex type conversion,
-limits                                                          6.3.1.6.6.3.1.7.6.3.1.8
+limits                                                          6.3.1.6, 6.3.1.7, 6.3.1.8
    environmental, see environmental limits                 long double _Imaginary type, G.2
    implementation, see implementation limits               long double suffix, l or L, 6.4.4.2
-   numerical, see numerical limits                         long double type, 6.2.5.6.4.4.2.6.7.2,
-   translation, see translation limits                          7.19.6.1.7.19.6.2.7.24.2.1.7.24.2.2, F.2
-limits.h header, 4.5.2.4.2.1.6.2.5.7.10                 long double type conversion, 6.3.1.4.6.3.1.5,
-line buffered stream, 7.19.3                                    6.3.1.7.6.3.1.8
-line number, 6.10.4.6.10.8                                long int type, 6.2.5.6.3.1.1.6.7.2.7.19.6.1,
-line preprocessing directive, 6.10.4                            7.19.6.2.7.24.2.1.7.24.2.2
-lines, 5.1.1.2.7.19.2                                     long int type conversion, 6.3.1.1.6.3.1.3,
-   preprocessing directive, 6.10                                6.3.1.4.6.3.1.8
-linkage, 6.2.2.6.7.6.7.4.6.7.5.2.6.9.6.9.2,           long integer suffix, l or L, 6.4.4.1
-      6.11.2                                               long long int type, 6.2.5.6.3.1.1.6.7.2,
+   numerical, see numerical limits                         long double type, 6.2.5, 6.4.4.2, 6.7.2,
+   translation, see translation limits                          7.19.6.1, 7.19.6.2, 7.24.2.1, 7.24.2.2, F.2
+limits.h header, 4, 5.2.4.2.1, 6.2.5, 7.10                 long double type conversion, 6.3.1.4, 6.3.1.5,
+line buffered stream, 7.19.3                                    6.3.1.76.3.1.8
+line number, 6.10.4, 6.10.8                                long int type, 6.2.5, 6.3.1.1, 6.7.2, 7.19.6.1,
+line preprocessing directive, 6.10.4                            7.19.6.2, 7.24.2.1, 7.24.2.2
+lines, 5.1.1.2, 7.19.2                                     long int type conversion, 6.3.1.1, 6.3.1.3,
+   preprocessing directive, 6.10                                6.3.1.46.3.1.8
+linkage, 6.2.2, 6.7, 6.7.4, 6.7.5.2, 6.9, 6.9.2,           long integer suffix, l or L, 6.4.4.1
+      6.11.2                                               long long int type, 6.2.5, 6.3.1.1, 6.7.2,
 
 [page 531]
 
-     7.19.6.1.7.19.6.2.7.24.2.1.7.24.2.2                    mbsinit function, 7.24.6.2.1
+     7.19.6.1, 7.19.6.2, 7.24.2.1, 7.24.2.2                    mbsinit function, 7.24.6.2.1
 long long int type conversion, 6.3.1.1,                        mbsrtowcs function, 7.24.6.4.1
-     6.3.1.3.6.3.1.4.6.3.1.8                                 mbstate_t type, 7.19.2.7.19.3.7.19.6.1,
-long long integer suffix, ll or LL, 6.4.4.1                          7.19.6.2.7.24.1.7.24.2.1.7.24.2.2.7.24.6,
-LONG_MAX macro, 5.2.4.2.1.7.20.1.4.7.24.4.1.2                     7.24.6.2.1.7.24.6.3.7.24.6.3.1.7.24.6.4
-LONG_MIN macro, 5.2.4.2.1.7.20.1.4.7.24.4.1.2                mbstowcs function, 6.4.5.7.20.8.1.7.24.6.4
-longjmp function, 7.13.1.1.7.13.2.1.7.20.4.3                 mbtowc function, 7.20.7.1.7.20.7.2.7.20.8.1,
+     6.3.1.3, 6.3.1.4, 6.3.1.8                                 mbstate_t type, 7.19.2, 7.19.3, 7.19.6.1,
+long long integer suffix, ll or LL, 6.4.4.1                          7.19.6.2, 7.24.1, 7.24.2.1, 7.24.2.2, 7.24.6,
+LONG_MAX macro, 5.2.4.2.1, 7.20.1.4, 7.24.4.1.2                     7.24.6.2.1, 7.24.6.3, 7.24.6.3.1, 7.24.6.4
+LONG_MIN macro, 5.2.4.2.1, 7.20.1.4, 7.24.4.1.2                mbstowcs function, 6.4.5, 7.20.8.1, 7.24.6.4
+longjmp function, 7.13.1.1, 7.13.2.1, 7.20.4.3                 mbtowc function, 7.20.7.1, 7.20.7.2, 7.20.8.1,
 loop body, 6.8.5                                                    7.24.6.3
 low-order bit, 3.6                                             member access operators (. and ->), 6.5.2.3
 lowercase letter, 5.2.1                                        member alignment, 6.7.2.1
 lrint functions, 7.12.9.5, F.3, F.9.6.5                        memchr function, 7.21.5.1
-lrint type-generic macro, 7.22                                 memcmp function, 7.21.4.7.21.4.1
+lrint type-generic macro, 7.22                                 memcmp function, 7.21.47.21.4.1
 lround functions, 7.12.9.7, F.9.6.7                            memcpy function, 7.21.2.1
 lround type-generic macro, 7.22                                memmove function, 7.21.2.2
-lvalue, 6.3.2.1.6.5.1.6.5.2.4.6.5.3.1.6.5.16               memory management functions, 7.20.3
+lvalue, 6.3.2.1, 6.5.1, 6.5.2.4, 6.5.3.1, 6.5.16               memory management functions, 7.20.3
                                                                memset function, 7.21.6.1
 macro argument substitution, 6.10.3.1                          minimum functions, 7.12.12, F.9.9
 macro definition                                                minus operator, unary, 6.5.3.3
@@ -20788,35 +20294,35 @@ macro definition                                                minus operator,
 macro invocation, 6.10.3                                         string, 7.21.6
 macro name, 6.10.3                                               wide string, 7.24.4.6
   length, 5.2.4.1                                              mktime function, 7.23.2.3
-  predefined, 6.10.8.6.11.9                                    modf functions, 7.12.6.12, F.9.3.12
+  predefined, 6.10.86.11.9                                    modf functions, 7.12.6.12, F.9.3.12
   redefinition, 6.10.3                                          modifiable lvalue, 6.3.2.1
   scope, 6.10.3.5                                              modulus functions, 7.12.6.12
 macro parameter, 6.10.3                                        modulus, complex, 7.3.8.1
-macro preprocessor, 6.10                                       multibyte character, 3.7.2.5.2.1.2.6.4.4.4
+macro preprocessor, 6.10                                       multibyte character, 3.7.2, 5.2.1.2, 6.4.4.4
 macro replacement, 6.10.3                                      multibyte conversion functions
 magnitude, complex, 7.3.8.1                                      wide character, 7.20.7
-main function, 5.1.2.2.1.5.1.2.2.3.6.7.3.1.6.7.4,                extended, 7.24.6
+main function, 5.1.2.2.1, 5.1.2.2.3, 6.7.3.1, 6.7.4,                extended, 7.24.6
      7.19.3                                                         restartable, 7.24.6.3
-malloc function, 7.20.3.7.20.3.2.7.20.3.3,                     wide string, 7.20.8
+malloc function, 7.20.3, 7.20.3.2, 7.20.3.3,                     wide string, 7.20.8
      7.20.3.4                                                       restartable, 7.24.6.4
 manipulation functions                                         multibyte string, 7.1.1
   complex, 7.3.9                                               multibyte/wide character conversion functions,
   real, 7.12.11, F.9.8                                              7.20.7
-matching failure, 7.24.2.6.7.24.2.8.7.24.2.10                  extended, 7.24.6
-math.h header, 5.2.4.2.2.6.5.7.12.7.22, F, F.9,               restartable, 7.24.6.3
+matching failure, 7.24.2.6, 7.24.2.8, 7.24.2.10                  extended, 7.24.6
+math.h header, 5.2.4.2.2, 6.5, 7.12, 7.22, F, F.9,               restartable, 7.24.6.3
      J.5.17                                                    multibyte/wide string conversion functions, 7.20.8
 MATH_ERREXCEPT macro, 7.12, F.9                                  restartable, 7.24.6.4
-math_errhandling macro, 7.1.3.7.12, F.9                       multidimensional array, 6.5.2.1
+math_errhandling macro, 7.1.37.12, F.9                       multidimensional array, 6.5.2.1
 MATH_ERRNO macro, 7.12                                         multiplication assignment operator (*=), 6.5.16.2
 maximum functions, 7.12.12, F.9.9                              multiplication operator (*), 6.5.5, F.3, G.5.1
-MB_CUR_MAX macro, 7.1.1.7.20.7.20.7.2,                       multiplicative expressions, 6.5.5, G.5.1
-     7.20.7.3.7.24.6.3.3
-MB_LEN_MAX macro, 5.2.4.2.1.7.1.1.7.20                       n-char sequence, 7.20.1.3
-mblen function, 7.20.7.1.7.24.6.3                             n-wchar sequence, 7.24.4.1.1
+MB_CUR_MAX macro, 7.1.1, 7.20, 7.20.7.2,                       multiplicative expressions, 6.5.5, G.5.1
+     7.20.7.37.24.6.3.3
+MB_LEN_MAX macro, 5.2.4.2.1, 7.1.1, 7.20                       n-char sequence, 7.20.1.3
+mblen function, 7.20.7.17.24.6.3                             n-wchar sequence, 7.24.4.1.1
 mbrlen function, 7.24.6.3.1                                    name
-mbrtowc function, 7.19.3.7.19.6.1.7.19.6.2,                    external, 5.2.4.1.6.4.2.1.6.11.3
-     7.24.2.1.7.24.2.2.7.24.6.3.1.7.24.6.3.2,                 file, 7.19.3
-     7.24.6.4.1                                                  internal, 5.2.4.1.6.4.2.1
+mbrtowc function, 7.19.3, 7.19.6.1, 7.19.6.2,                    external, 5.2.4.1, 6.4.2.1, 6.11.3
+     7.24.2.1, 7.24.2.2, 7.24.6.3.1, 7.24.6.3.2,                 file, 7.19.3
+     7.24.6.4.1                                                  internal, 5.2.4.16.4.2.1
 
 [page 532]
 
@@ -20825,213 +20331,213 @@ mbrtowc function, 7.19.3.7.19.6.1.7.19.6.2,                    external, 5.2.4.1
 name spaces, 6.2.3                                              offsetof macro, 7.17
 named label, 6.8.1                                              on-off switch, 6.10.6
 NaN, 5.2.4.2.2                                                  ones' complement, 6.2.6.2
-nan functions, 7.12.11.2, F.2.1, F.9.8.2                        operand, 6.4.6.6.5
-NAN macro, 7.12, F.2.1                                          operating system, 5.1.2.1.7.20.4.6
+nan functions, 7.12.11.2, F.2.1, F.9.8.2                        operand, 6.4.66.5
+NAN macro, 7.12, F.2.1                                          operating system, 5.1.2.17.20.4.6
 NDEBUG macro, 7.2                                               operations on files, 7.19.4
-nearbyint functions, 7.12.9.3.7.12.9.4, F.3,                   operator, 6.4.6
+nearbyint functions, 7.12.9.37.12.9.4, F.3,                   operator, 6.4.6
      F.9.6.3                                                    operators, 6.5
 nearbyint type-generic macro, 7.22                                 assignment, 6.5.16
 nearest integer functions, 7.12.9, F.9.6                           associativity, 6.5
 negation operator (!), 6.5.3.3                                     equality, 6.5.9
-negative zero, 6.2.6.2.7.12.11.1                                  multiplicative, 6.5.5, G.5.1
-new-line character, 5.1.1.2.5.2.1.6.4.6.10.6.10.4              postfix, 6.5.2
-new-line escape sequence (\n), 5.2.2.6.4.4.4,                     precedence, 6.5
-     7.4.1.10                                                      preprocessing, 6.10.1.6.10.3.2.6.10.3.3.6.10.9
-nextafter functions, 7.12.11.3.7.12.11.4, F.3,                    relational, 6.5.8
+negative zero, 6.2.6.27.12.11.1                                  multiplicative, 6.5.5, G.5.1
+new-line character, 5.1.1.2, 5.2.1, 6.4, 6.10, 6.10.4              postfix, 6.5.2
+new-line escape sequence (\n), 5.2.26.4.4.4,                     precedence, 6.5
+     7.4.1.10                                                      preprocessing, 6.10.1, 6.10.3.2, 6.10.3.3, 6.10.9
+nextafter functions, 7.12.11.37.12.11.4, F.3,                    relational, 6.5.8
      F.9.8.3                                                       shift, 6.5.7
 nextafter type-generic macro, 7.22                                 unary, 6.5.3
 nexttoward functions, 7.12.11.4, F.3, F.9.8.4                      unary arithmetic, 6.5.3.3
 nexttoward type-generic macro, 7.22                             or macro, 7.9
 no linkage, 6.2.2                                               OR operators
 non-stop floating-point control mode, 7.6.4.2                       bitwise exclusive (^), 6.5.11
-nongraphic characters, 5.2.2.6.4.4.4                              bitwise exclusive assignment (^=), 6.5.16.2
+nongraphic characters, 5.2.26.4.4.4                              bitwise exclusive assignment (^=), 6.5.16.2
 nonlocal jumps header, 7.13                                        bitwise inclusive (|), 6.5.12
 norm, complex, 7.3.8.1                                             bitwise inclusive assignment (|=), 6.5.16.2
 not macro, 7.9                                                     logical (||), 6.5.14
 not-equal-to operator, see inequality operator                  or_eq macro, 7.9
 not_eq macro, 7.9                                               order of allocated storage, 7.20.3
-null character (\0), 5.2.1.6.4.4.4.6.4.5                      order of evaluation, 6.5
+null character (\0), 5.2.1, 6.4.4.4, 6.4.5                      order of evaluation, 6.5
   padding of binary stream, 7.19.2                              ordinary identifier name space, 6.2.3
-NULL macro, 7.11.7.17.7.19.1.7.20.7.21.1,                   orientation of stream, 7.19.2.7.24.3.5
-     7.23.1.7.24.1                                             outer scope, 6.2.1
+NULL macro, 7.11, 7.17, 7.19.1, 7.20, 7.21.1,                   orientation of stream, 7.19.2, 7.24.3.5
+     7.23.17.24.1                                             outer scope, 6.2.1
 null pointer, 6.3.2.3
 null pointer constant, 6.3.2.3                                  padding
 null preprocessing directive, 6.10.7                              binary stream, 7.19.2
-null statement, 6.8.3                                             bits, 6.2.6.2.7.18.1.1
-null wide character, 7.1.1                                        structure/union, 6.2.6.1.6.7.2.1
-number classification macros, 7.12.7.12.3.1                     parameter, 3.15
-numeric conversion functions, 7.8.2.3.7.20.1                     array, 6.9.1
-  wide string, 7.8.2.4.7.24.4.1                                  ellipsis, 6.7.5.3.6.10.3
-numerical limits, 5.2.4.2                                         function, 6.5.2.2.6.7.6.9.1
+null statement, 6.8.3                                             bits, 6.2.6.27.18.1.1
+null wide character, 7.1.1                                        structure/union, 6.2.6.16.7.2.1
+number classification macros, 7.127.12.3.1                     parameter, 3.15
+numeric conversion functions, 7.8.2.37.20.1                     array, 6.9.1
+  wide string, 7.8.2.4, 7.24.4.1                                  ellipsis, 6.7.5.3, 6.10.3
+numerical limits, 5.2.4.2                                         function, 6.5.2.2, 6.7, 6.9.1
                                                                   macro, 6.10.3
 object, 3.14                                                      main function, 5.1.2.2.1
 object representation, 6.2.6.1                                    program, 5.1.2.2.1
 object type, 6.2.5                                              parameter type list, 6.7.5.3
-object-like macro, 6.10.3                                       parentheses punctuator (( )), 6.7.5.3.6.8.4.6.8.5
-obsolescence, 6.11.7.26                                        parenthesized expression, 6.5.1
+object-like macro, 6.10.3                                       parentheses punctuator (( )), 6.7.5.3, 6.8.4, 6.8.5
+obsolescence, 6.117.26                                        parenthesized expression, 6.5.1
 octal constant, 6.4.4.1                                         parse state, 7.19.2
-octal digit, 6.4.4.1.6.4.4.4                                   permitted form of initializer, 6.6
+octal digit, 6.4.4.16.4.4.4                                   permitted form of initializer, 6.6
 
 [page 533]
 
 perror function, 7.19.10.4                                    PRIcPTR macros, 7.8.1
 phase angle, complex, 7.3.9.1                                 primary expression, 6.5.1
-physical source lines, 5.1.1.2                                printf function, 7.19.1.7.19.6.3.7.19.6.10
-placemarker, 6.10.3.3                                         printing character, 5.2.2.7.4.7.4.1.8
+physical source lines, 5.1.1.2                                printf function, 7.19.1, 7.19.6.3, 7.19.6.10
+placemarker, 6.10.3.3                                         printing character, 5.2.2, 7.4, 7.4.1.8
 plus operator, unary, 6.5.3.3                                 printing wide character, 7.25.2
 pointer arithmetic, 6.5.6                                     program diagnostics, 7.2.1
-pointer comparison, 6.5.8                                     program execution, 5.1.2.2.2.5.1.2.3
+pointer comparison, 6.5.8                                     program execution, 5.1.2.2.25.1.2.3
 pointer declarator, 6.7.5.1                                   program file, 5.1.1.1
 pointer operator (->), 6.5.2.3                                program image, 5.1.1.2
 pointer to function, 6.5.2.2                                  program name (argv[0]), 5.1.2.2.1
 pointer type, 6.2.5                                           program parameters, 5.1.2.2.1
-pointer type conversion, 6.3.2.1.6.3.2.3                     program startup, 5.1.2.5.1.2.1.5.1.2.2.1
+pointer type conversion, 6.3.2.1, 6.3.2.3                     program startup, 5.1.2, 5.1.2.1, 5.1.2.2.1
 pointer, null, 6.3.2.3                                        program structure, 5.1.1.1
-portability, 4, J                                             program termination, 5.1.2.5.1.2.1.5.1.2.2.3,
+portability, 4, J                                             program termination, 5.1.2, 5.1.2.1, 5.1.2.2.3,
 position indicator, file, see file position indicator                 5.1.2.3
 positive difference, 7.12.12.1                                program, conforming, 4
 positive difference functions, 7.12.12, F.9.9                 program, strictly conforming, 4
-postfix decrement operator (--), 6.3.2.1.6.5.2.4              promotions
+postfix decrement operator (--), 6.3.2.16.5.2.4              promotions
 postfix expressions, 6.5.2                                        default argument, 6.5.2.2
-postfix increment operator (++), 6.3.2.1.6.5.2.4                 integer, 5.1.2.3.6.3.1.1
+postfix increment operator (++), 6.3.2.1, 6.5.2.4                 integer, 5.1.2.3, 6.3.1.1
 pow functions, 7.12.7.4, F.9.4.4                              prototype, see function prototype
 pow type-generic macro, 7.22                                  pseudo-random sequence functions, 7.20.2
 power functions                                               PTRDIFF_MAX macro, 7.18.3
   complex, 7.3.8, G.6.4                                       PTRDIFF_MIN macro, 7.18.3
-  real, 7.12.7, F.9.4                                         ptrdiff_t type, 7.17.7.18.3.7.19.6.1,
-pp-number, 6.4.8                                                    7.19.6.2.7.24.2.1.7.24.2.2
+  real, 7.12.7, F.9.4                                         ptrdiff_t type, 7.17, 7.18.3, 7.19.6.1,
+pp-number, 6.4.8                                                    7.19.6.2, 7.24.2.1, 7.24.2.2
 pragma operator, 6.10.9                                       punctuators, 6.4.6
-pragma preprocessing directive, 6.10.6.6.11.8                putc function, 7.19.1.7.19.7.8.7.19.7.9
-precedence of operators, 6.5                                  putchar function, 7.19.1.7.19.7.9
-precedence of syntax rules, 5.1.1.2                           puts function, 7.19.1.7.19.7.10
-precision, 6.2.6.2.6.3.1.1.7.19.6.1.7.24.2.1               putwc function, 7.19.1.7.24.3.8.7.24.3.9
-   excess, 5.2.4.2.2.6.3.1.5.6.3.1.8.6.8.6.4               putwchar function, 7.19.1.7.24.3.9
-predefined macro names, 6.10.8.6.11.9
-prefix decrement operator (--), 6.3.2.1.6.5.3.1               qsort function, 7.20.5.7.20.5.2
-prefix increment operator (++), 6.3.2.1.6.5.3.1               qualified types, 6.2.5
+pragma preprocessing directive, 6.10.6, 6.11.8                putc function, 7.19.1, 7.19.7.8, 7.19.7.9
+precedence of operators, 6.5                                  putchar function, 7.19.17.19.7.9
+precedence of syntax rules, 5.1.1.2                           puts function, 7.19.17.19.7.10
+precision, 6.2.6.2, 6.3.1.1, 7.19.6.1, 7.24.2.1               putwc function, 7.19.1, 7.24.3.8, 7.24.3.9
+   excess, 5.2.4.2.2, 6.3.1.5, 6.3.1.8, 6.8.6.4               putwchar function, 7.19.1, 7.24.3.9
+predefined macro names, 6.10.86.11.9
+prefix decrement operator (--), 6.3.2.1, 6.5.3.1               qsort function, 7.20.5, 7.20.5.2
+prefix increment operator (++), 6.3.2.16.5.3.1               qualified types, 6.2.5
 preprocessing concatenation, 6.10.3.3                         qualified version of type, 6.2.5
-preprocessing directives, 5.1.1.2.6.10                       question-mark escape sequence (\?), 6.4.4.4
-preprocessing file, 5.1.1.1.6.10                              quiet NaN, 5.2.4.2.2
-preprocessing numbers, 6.4.6.4.8
-preprocessing operators                                       raise function, 7.14.7.14.1.1.7.14.2.1.7.20.4.1
-   #, 6.10.3.2                                                rand function, 7.20.7.20.2.1.7.20.2.2
-   ##, 6.10.3.3                                               RAND_MAX macro, 7.20.7.20.2.1
-   _Pragma, 5.1.1.2.6.10.9                                   range
-   defined, 6.10.1                                              excess, 5.2.4.2.2.6.3.1.5.6.3.1.8.6.8.6.4
-preprocessing tokens, 5.1.1.2.6.4.6.10                      range error, 7.12.1.7.12.5.3.7.12.5.4.7.12.5.5,
-preprocessing translation unit, 5.1.1.1                            7.12.6.1.7.12.6.2.7.12.6.3.7.12.6.5,
-preprocessor, 6.10                                                 7.12.6.6.7.12.6.7.7.12.6.8.7.12.6.9,
-PRIcFASTN macros, 7.8.1                                            7.12.6.10.7.12.6.11.7.12.6.13.7.12.7.3,
-PRIcLEASTN macros, 7.8.1                                           7.12.7.4.7.12.8.2.7.12.8.3.7.12.8.4,
-PRIcMAX macros, 7.8.1                                              7.12.9.5.7.12.9.7.7.12.11.3.7.12.12.1,
+preprocessing directives, 5.1.1.26.10                       question-mark escape sequence (\?), 6.4.4.4
+preprocessing file, 5.1.1.16.10                              quiet NaN, 5.2.4.2.2
+preprocessing numbers, 6.46.4.8
+preprocessing operators                                       raise function, 7.14, 7.14.1.1, 7.14.2.1, 7.20.4.1
+   #, 6.10.3.2                                                rand function, 7.20, 7.20.2.1, 7.20.2.2
+   ##, 6.10.3.3                                               RAND_MAX macro, 7.207.20.2.1
+   _Pragma, 5.1.1.26.10.9                                   range
+   defined, 6.10.1                                              excess, 5.2.4.2.2, 6.3.1.5, 6.3.1.8, 6.8.6.4
+preprocessing tokens, 5.1.1.2, 6.4, 6.10                      range error, 7.12.1, 7.12.5.3, 7.12.5.4, 7.12.5.5,
+preprocessing translation unit, 5.1.1.1                            7.12.6.1, 7.12.6.2, 7.12.6.3, 7.12.6.5,
+preprocessor, 6.10                                                 7.12.6.6, 7.12.6.7, 7.12.6.8, 7.12.6.9,
+PRIcFASTN macros, 7.8.1                                            7.12.6.10, 7.12.6.11, 7.12.6.13, 7.12.7.3,
+PRIcLEASTN macros, 7.8.1                                           7.12.7.4, 7.12.8.2, 7.12.8.3, 7.12.8.4,
+PRIcMAX macros, 7.8.1                                              7.12.9.5, 7.12.9.7, 7.12.11.3, 7.12.12.1,
 PRIcN macros, 7.8.1                                                7.12.13.1
 
 [page 534]
 
 rank, see integer conversion rank                         same scope, 6.2.1
-real floating type conversion, 6.3.1.4.6.3.1.5,           save calling environment function, 7.13.1
+real floating type conversion, 6.3.1.46.3.1.5,           save calling environment function, 7.13.1
       6.3.1.7, F.3, F.4                                   scalar types, 6.2.5
 real floating types, 6.2.5                                 scalbln function, 7.12.6.13, F.3, F.9.3.13
 real type domain, 6.2.5                                   scalbln type-generic macro, 7.22
 real types, 6.2.5                                         scalbn function, 7.12.6.13, F.3, F.9.3.13
 real-floating, 7.12.3                                      scalbn type-generic macro, 7.22
-realloc function, 7.20.3.7.20.3.2.7.20.3.4              scanf function, 7.19.1.7.19.6.4.7.19.6.11
-recommended practice, 3.16                                scanlist, 7.19.6.2.7.24.2.2
-recursion, 6.5.2.2                                        scanset, 7.19.6.2.7.24.2.2
+realloc function, 7.20.3, 7.20.3.2, 7.20.3.4              scanf function, 7.19.1, 7.19.6.4, 7.19.6.11
+recommended practice, 3.16                                scanlist, 7.19.6.27.24.2.2
+recursion, 6.5.2.2                                        scanset, 7.19.6.27.24.2.2
 recursive function call, 6.5.2.2                          SCHAR_MAX macro, 5.2.4.2.1
 redefinition of macro, 6.10.3                              SCHAR_MIN macro, 5.2.4.2.1
-reentrancy, 5.1.2.3.5.2.3                                SCNcFASTN macros, 7.8.1
+reentrancy, 5.1.2.35.2.3                                SCNcFASTN macros, 7.8.1
    library functions, 7.1.4                               SCNcLEASTN macros, 7.8.1
 referenced type, 6.2.5                                    SCNcMAX macros, 7.8.1
-register storage-class specifier, 6.7.1.6.9               SCNcN macros, 7.8.1
+register storage-class specifier, 6.7.16.9               SCNcN macros, 7.8.1
 relational expressions, 6.5.8                             SCNcPTR macros, 7.8.1
-reliability of data, interrupted, 5.1.2.3                 scope of identifier, 6.2.1.6.9.2
+reliability of data, interrupted, 5.1.2.3                 scope of identifier, 6.2.16.9.2
 remainder assignment operator (%=), 6.5.16.2              search functions
 remainder functions, 7.12.10, F.9.7                          string, 7.21.5
-remainder functions, 7.12.10.2.7.12.10.3, F.3,              utility, 7.20.5
+remainder functions, 7.12.10.27.12.10.3, F.3,              utility, 7.20.5
       F.9.7.2                                                wide string, 7.24.4.5
-remainder operator (%), 6.5.5                             SEEK_CUR macro, 7.19.1.7.19.9.2
-remainder type-generic macro, 7.22                        SEEK_END macro, 7.19.1.7.19.9.2
-remove function, 7.19.4.1.7.19.4.4                       SEEK_SET macro, 7.19.1.7.19.9.2
+remainder operator (%), 6.5.5                             SEEK_CUR macro, 7.19.17.19.9.2
+remainder type-generic macro, 7.22                        SEEK_END macro, 7.19.17.19.9.2
+remove function, 7.19.4.1, 7.19.4.4                       SEEK_SET macro, 7.19.1, 7.19.9.2
 remquo functions, 7.12.10.3, F.3, F.9.7.3                 selection statements, 6.8.4
 remquo type-generic macro, 7.22                           self-referential structure, 6.7.2.3
-rename function, 7.19.4.2                                 semicolon punctuator (;), 6.7.6.7.2.1.6.8.3,
-representations of types, 6.2.6                                 6.8.5.6.8.6
+rename function, 7.19.4.2                                 semicolon punctuator (;), 6.7, 6.7.2.1, 6.8.3,
+representations of types, 6.2.6                                 6.8.56.8.6
    pointer, 6.2.5                                         separate compilation, 5.1.1.1
 rescanning and replacement, 6.10.3.4                      separate translation, 5.1.1.1
-reserved identifiers, 6.4.1.7.1.3                         sequence points, 5.1.2.3.6.5.6.8.7.1.4.7.19.6,
-restartable multibyte/wide character conversion                 7.20.5.7.24.2, C
+reserved identifiers, 6.4.1, 7.1.3                         sequence points, 5.1.2.3, 6.5, 6.8, 7.1.4, 7.19.6,
+restartable multibyte/wide character conversion                 7.20.57.24.2, C
       functions, 7.24.6.3                                 sequencing of statements, 6.8
-restartable multibyte/wide string conversion              setbuf function, 7.19.3.7.19.5.1.7.19.5.5
-      functions, 7.24.6.4                                 setjmp macro, 7.1.3.7.13.1.1.7.13.2.1
+restartable multibyte/wide string conversion              setbuf function, 7.19.3, 7.19.5.1, 7.19.5.5
+      functions, 7.24.6.4                                 setjmp macro, 7.1.3, 7.13.1.1, 7.13.2.1
 restore calling environment function, 7.13.2              setjmp.h header, 7.13
-restrict type qualifier, 6.7.3.6.7.3.1                    setlocale function, 7.11.1.1.7.11.2.1
-restrict-qualified type, 6.2.5.6.7.3                      setvbuf function, 7.19.1.7.19.3.7.19.5.1,
-return statement, 6.8.6.4                                       7.19.5.5.7.19.5.6
-rewind function, 7.19.5.3.7.19.7.11.7.19.9.5,           shall, 4
+restrict type qualifier, 6.7.3, 6.7.3.1                    setlocale function, 7.11.1.1, 7.11.2.1
+restrict-qualified type, 6.2.5, 6.7.3                      setvbuf function, 7.19.1, 7.19.3, 7.19.5.1,
+return statement, 6.8.6.4                                       7.19.5.57.19.5.6
+rewind function, 7.19.5.3, 7.19.7.11, 7.19.9.5,           shall, 4
       7.24.3.10                                           shift expressions, 6.5.7
 right-shift assignment operator (>>=), 6.5.16.2           shift sequence, 7.1.1
 right-shift operator (>>), 6.5.7                          shift states, 5.2.1.2
-rint functions, 7.12.9.4, F.3, F.9.6.4                    short identifier, character, 5.2.4.1.6.4.3
-rint type-generic macro, 7.22                             short int type, 6.2.5.6.3.1.1.6.7.2.7.19.6.1,
-round functions, 7.12.9.6, F.9.6.6                              7.19.6.2.7.24.2.1.7.24.2.2
-round type-generic macro, 7.22                            short int type conversion, 6.3.1.1.6.3.1.3,
-rounding mode, floating point, 5.2.4.2.2                         6.3.1.4.6.3.1.8
+rint functions, 7.12.9.4, F.3, F.9.6.4                    short identifier, character, 5.2.4.16.4.3
+rint type-generic macro, 7.22                             short int type, 6.2.5, 6.3.1.1, 6.7.2, 7.19.6.1,
+round functions, 7.12.9.6, F.9.6.6                              7.19.6.2, 7.24.2.1, 7.24.2.2
+round type-generic macro, 7.22                            short int type conversion, 6.3.1.16.3.1.3,
+rounding mode, floating point, 5.2.4.2.2                         6.3.1.46.3.1.8
 rvalue, 6.3.2.1                                           SHRT_MAX macro, 5.2.4.2.1
                                                           SHRT_MIN macro, 5.2.4.2.1
 
 [page 535]
 
-side effects, 5.1.2.3.6.5                                   source lines, 5.1.1.2
+side effects, 5.1.2.36.5                                   source lines, 5.1.1.2
 SIG_ATOMIC_MAX macro, 7.18.3                                 source text, 5.1.1.2
-SIG_ATOMIC_MIN macro, 7.18.3                                 space character (' '), 5.1.1.2.5.2.1.6.4.7.4.1.3,
-sig_atomic_t type, 7.14.7.14.1.1.7.18.3                         7.4.1.10.7.25.2.1.3
-SIG_DFL macro, 7.14.7.14.1.1                                sprintf function, 7.19.6.6.7.19.6.13
-SIG_ERR macro, 7.14.7.14.1.1                                sqrt functions, 7.12.7.5, F.3, F.9.4.5
-SIG_IGN macro, 7.14.7.14.1.1                                sqrt type-generic macro, 7.22
-SIGABRT macro, 7.14.7.20.4.1                                srand function, 7.20.2.2
-SIGFPE macro, 7.14.7.14.1.1, J.5.17                         sscanf function, 7.19.6.7.7.19.6.14
-SIGILL macro, 7.14.7.14.1.1                                 standard error stream, 7.19.1.7.19.3.7.19.10.4
-SIGINT macro, 7.14                                           standard headers, 4.7.1.2
+SIG_ATOMIC_MIN macro, 7.18.3                                 space character (' '), 5.1.1.2, 5.2.1, 6.4, 7.4.1.3,
+sig_atomic_t type, 7.14, 7.14.1.1, 7.18.3                         7.4.1.10, 7.25.2.1.3
+SIG_DFL macro, 7.14, 7.14.1.1                                sprintf function, 7.19.6.6, 7.19.6.13
+SIG_ERR macro, 7.147.14.1.1                                sqrt functions, 7.12.7.5, F.3, F.9.4.5
+SIG_IGN macro, 7.147.14.1.1                                sqrt type-generic macro, 7.22
+SIGABRT macro, 7.147.20.4.1                                srand function, 7.20.2.2
+SIGFPE macro, 7.14, 7.14.1.1, J.5.17                         sscanf function, 7.19.6.7, 7.19.6.14
+SIGILL macro, 7.14, 7.14.1.1                                 standard error stream, 7.19.1, 7.19.3, 7.19.10.4
+SIGINT macro, 7.14                                           standard headers, 47.1.2
 sign and magnitude, 6.2.6.2                                     <assert.h>, 7.2, B.1
-sign bit, 6.2.6.2                                               <complex.h>, 5.2.4.2.2.7.3.7.22.7.26.1,
-signal function, 7.14.1.1.7.20.4.4                                  G.6, J.5.17
-signal handler, 5.1.2.3.5.2.3.7.14.1.1.7.14.2.1              <ctype.h>, 7.4.7.26.2
-signal handling functions, 7.14.1                               <errno.h>, 7.5.7.26.3
-signal.h header, 7.14.7.26.6                                   <fenv.h>, 5.1.2.3.5.2.4.2.2.7.6.7.12, F, H
-signaling NaN, 5.2.4.2.2, F.2.1                                 <float.h>, 4.5.2.4.2.2.7.7.7.20.1.3,
-signals, 5.1.2.3.5.2.3.7.14.1                                      7.24.4.1.1
-signbit macro, 7.12.3.6, F.3                                    <inttypes.h>, 7.8.7.26.4
-signed char type, 6.2.5.7.19.6.1.7.19.6.2,                    <iso646.h>, 4.7.9
-     7.24.2.1.7.24.2.2                                         <limits.h>, 4.5.2.4.2.1.6.2.5.7.10
-signed character, 6.3.1.1                                       <locale.h>, 7.11.7.26.5
-signed integer types, 6.2.5.6.3.1.3.6.4.4.1                   <math.h>, 5.2.4.2.2.6.5.7.12.7.22, F, F.9,
-signed type conversion, 6.3.1.1.6.3.1.3.6.3.1.4,                   J.5.17
+sign bit, 6.2.6.2                                               <complex.h>, 5.2.4.2.2, 7.3, 7.22, 7.26.1,
+signal function, 7.14.1.17.20.4.4                                  G.6, J.5.17
+signal handler, 5.1.2.3, 5.2.3, 7.14.1.1, 7.14.2.1              <ctype.h>, 7.4, 7.26.2
+signal handling functions, 7.14.1                               <errno.h>, 7.57.26.3
+signal.h header, 7.14, 7.26.6                                   <fenv.h>, 5.1.2.3, 5.2.4.2.2, 7.6, 7.12, F, H
+signaling NaN, 5.2.4.2.2, F.2.1                                 <float.h>, 4, 5.2.4.2.2, 7.7, 7.20.1.3,
+signals, 5.1.2.3, 5.2.3, 7.14.1                                      7.24.4.1.1
+signbit macro, 7.12.3.6, F.3                                    <inttypes.h>, 7.87.26.4
+signed char type, 6.2.5, 7.19.6.1, 7.19.6.2,                    <iso646.h>, 4, 7.9
+     7.24.2.1, 7.24.2.2                                         <limits.h>, 4, 5.2.4.2.1, 6.2.5, 7.10
+signed character, 6.3.1.1                                       <locale.h>, 7.117.26.5
+signed integer types, 6.2.5, 6.3.1.3, 6.4.4.1                   <math.h>, 5.2.4.2.2, 6.5, 7.12, 7.22, F, F.9,
+signed type conversion, 6.3.1.1, 6.3.1.3, 6.3.1.4,                   J.5.17
      6.3.1.8                                                    <setjmp.h>, 7.13
-signed types, 6.2.5.6.7.2                                      <signal.h>, 7.14.7.26.6
-significand part, 6.4.4.2                                        <stdarg.h>, 4.6.7.5.3.7.15
-SIGSEGV macro, 7.14.7.14.1.1                                   <stdbool.h>, 4.7.16.7.26.7, H
-SIGTERM macro, 7.14                                             <stddef.h>, 4.6.3.2.1.6.3.2.3.6.4.4.4,
-simple assignment operator (=), 6.5.16.1                             6.4.5.6.5.3.4.6.5.6.7.17
-sin functions, 7.12.4.6, F.9.1.6                                <stdint.h>, 4.5.2.4.2.6.10.1.7.8.7.18,
+signed types, 6.2.5, 6.7.2                                      <signal.h>, 7.14, 7.26.6
+significand part, 6.4.4.2                                        <stdarg.h>, 4, 6.7.5.3, 7.15
+SIGSEGV macro, 7.14, 7.14.1.1                                   <stdbool.h>, 4, 7.16, 7.26.7, H
+SIGTERM macro, 7.14                                             <stddef.h>, 4, 6.3.2.1, 6.3.2.3, 6.4.4.4,
+simple assignment operator (=), 6.5.16.1                             6.4.5, 6.5.3.4, 6.5.6, 7.17
+sin functions, 7.12.4.6, F.9.1.6                                <stdint.h>, 4, 5.2.4.2, 6.10.1, 7.8, 7.18,
 sin type-generic macro, 7.22, G.7                                    7.26.8
-single-byte character, 3.7.1.5.2.1.2                           <stdio.h>, 5.2.4.2.2.7.19.7.26.9, F
-single-byte/wide character conversion functions,                <stdlib.h>, 5.2.4.2.2.7.20.7.26.10, F
-     7.24.6.1                                                   <string.h>, 7.21.7.26.11
+single-byte character, 3.7.1, 5.2.1.2                           <stdio.h>, 5.2.4.2.2, 7.19, 7.26.9, F
+single-byte/wide character conversion functions,                <stdlib.h>, 5.2.4.2.2, 7.20, 7.26.10, F
+     7.24.6.1                                                   <string.h>, 7.217.26.11
 single-precision arithmetic, 5.1.2.3                            <tgmath.h>, 7.22, G.7
-single-quote escape sequence (\'), 6.4.4.4.6.4.5               <time.h>, 7.23
-sinh functions, 7.12.5.5, F.9.2.5                               <wchar.h>, 5.2.4.2.2.7.19.1.7.24.7.26.12,
+single-quote escape sequence (\'), 6.4.4.46.4.5               <time.h>, 7.23
+sinh functions, 7.12.5.5, F.9.2.5                               <wchar.h>, 5.2.4.2.2, 7.19.1, 7.24, 7.26.12,
 sinh type-generic macro, 7.22, G.7                                   F
-SIZE_MAX macro, 7.18.3                                          <wctype.h>, 7.25.7.26.13
-size_t type, 6.5.3.4.7.17.7.18.3.7.19.1,                  standard input stream, 7.19.1.7.19.3
-     7.19.6.1.7.19.6.2.7.20.7.21.1.7.23.1,               standard integer types, 6.2.5
-     7.24.1.7.24.2.1.7.24.2.2                              standard output stream, 7.19.1.7.19.3
-sizeof operator, 6.3.2.1.6.5.3.6.5.3.4                     standard signed integer types, 6.2.5
-snprintf function, 7.19.6.5.7.19.6.12                       state-dependent encoding, 5.2.1.2.7.20.7
+SIZE_MAX macro, 7.18.3                                          <wctype.h>, 7.257.26.13
+size_t type, 6.5.3.4, 7.17, 7.18.3, 7.19.1,                  standard input stream, 7.19.1, 7.19.3
+     7.19.6.1, 7.19.6.2, 7.20, 7.21.1, 7.23.1,               standard integer types, 6.2.5
+     7.24.1, 7.24.2.1, 7.24.2.2                              standard output stream, 7.19.1, 7.19.3
+sizeof operator, 6.3.2.1, 6.5.3, 6.5.3.4                     standard signed integer types, 6.2.5
+snprintf function, 7.19.6.5, 7.19.6.12                       state-dependent encoding, 5.2.1.2, 7.20.7
 sorting utility functions, 7.20.5                            statements, 6.8
-source character set, 5.1.1.2.5.2.1                            break, 6.8.6.3
+source character set, 5.1.1.25.2.1                            break, 6.8.6.3
 source file, 5.1.1.1                                             compound, 6.8.2
-   name, 6.10.4.6.10.8                                         continue, 6.8.6.2
+   name, 6.10.46.10.8                                         continue, 6.8.6.2
 source file inclusion, 6.10.2                                    do, 6.8.5.2
 
 [page 536]
@@ -21043,89 +20549,89 @@ source file inclusion, 6.10.2                                    do, 6.8.5.2
    if, 6.8.4.1                                                  conversion functions, 7.11.1.1
    iteration, 6.8.5                                             copying functions, 7.21.2
    jump, 6.8.6                                                  library function conventions, 7.21.1
-   labeled, 6.8.1                                               literal, 5.1.1.2.5.2.1.6.3.2.1.6.4.5.6.5.1.6.7.8
+   labeled, 6.8.1                                               literal, 5.1.1.2, 5.2.1, 6.3.2.1, 6.4.5, 6.5.1, 6.7.8
    null, 6.8.3                                                  miscellaneous functions, 7.21.6
-   return, 6.8.6.4                                              numeric conversion functions, 7.8.2.3.7.20.1
+   return, 6.8.6.4                                              numeric conversion functions, 7.8.2.37.20.1
    selection, 6.8.4                                             search functions, 7.21.5
    sequencing, 6.8                                           string handling header, 7.21
-   switch, 6.8.4.2                                           string.h header, 7.21.7.26.11
-   while, 6.8.5.1                                            stringizing, 6.10.3.2.6.10.9
+   switch, 6.8.4.2                                           string.h header, 7.217.26.11
+   while, 6.8.5.1                                            stringizing, 6.10.3.26.10.9
 static storage duration, 6.2.4                               strlen function, 7.21.6.3
-static storage-class specifier, 6.2.2.6.2.4.6.7.1           strncat function, 7.21.3.2
-static, in array declarators, 6.7.5.2.6.7.5.3               strncmp function, 7.21.4.7.21.4.4
-stdarg.h header, 4.6.7.5.3.7.15                            strncpy function, 7.21.2.4
-stdbool.h header, 4.7.16.7.26.7, H                         strpbrk function, 7.21.5.4
-STDC, 6.10.6.6.11.8                                         strrchr function, 7.21.5.5
-stddef.h header, 4.6.3.2.1.6.3.2.3.6.4.4.4,               strspn function, 7.21.5.6
-      6.4.5.6.5.3.4.6.5.6.7.17                            strstr function, 7.21.5.7
-stderr macro, 7.19.1.7.19.2.7.19.3                         strtod function, 7.12.11.2.7.19.6.2.7.20.1.3,
-stdin macro, 7.19.1.7.19.2.7.19.3.7.19.6.4,                     7.24.2.2, F.3
-      7.19.7.6.7.19.7.7.7.24.2.12.7.24.3.7                strtof function, 7.12.11.2.7.20.1.3, F.3
-stdint.h header, 4.5.2.4.2.6.10.1.7.8.7.18,              strtoimax function, 7.8.2.3
+static storage-class specifier, 6.2.2, 6.2.4, 6.7.1           strncat function, 7.21.3.2
+static, in array declarators, 6.7.5.2, 6.7.5.3               strncmp function, 7.21.4, 7.21.4.4
+stdarg.h header, 4, 6.7.5.3, 7.15                            strncpy function, 7.21.2.4
+stdbool.h header, 4, 7.16, 7.26.7, H                         strpbrk function, 7.21.5.4
+STDC, 6.10.66.11.8                                         strrchr function, 7.21.5.5
+stddef.h header, 4, 6.3.2.1, 6.3.2.3, 6.4.4.4,               strspn function, 7.21.5.6
+      6.4.5, 6.5.3.4, 6.5.6, 7.17                            strstr function, 7.21.5.7
+stderr macro, 7.19.1, 7.19.2, 7.19.3                         strtod function, 7.12.11.2, 7.19.6.2, 7.20.1.3,
+stdin macro, 7.19.1, 7.19.2, 7.19.3, 7.19.6.4,                     7.24.2.2, F.3
+      7.19.7.6, 7.19.7.7, 7.24.2.12, 7.24.3.7                strtof function, 7.12.11.2, 7.20.1.3, F.3
+stdint.h header, 4, 5.2.4.2, 6.10.1, 7.8, 7.18,              strtoimax function, 7.8.2.3
       7.26.8                                                 strtok function, 7.21.5.8
-stdio.h header, 5.2.4.2.2.7.19.7.26.9, F                   strtol function, 7.8.2.3.7.19.6.2.7.20.1.2,
-stdlib.h header, 5.2.4.2.2.7.20.7.26.10, F                       7.20.1.4.7.24.2.2
-stdout macro, 7.19.1.7.19.2.7.19.3.7.19.6.3,              strtold function, 7.12.11.2.7.20.1.3, F.3
-      7.19.7.9.7.19.7.10.7.24.2.11.7.24.3.9               strtoll function, 7.8.2.3.7.20.1.2.7.20.1.4
-storage duration, 6.2.4                                      strtoul function, 7.8.2.3.7.19.6.2.7.20.1.2,
-storage order of array, 6.5.2.1                                    7.20.1.4.7.24.2.2
-storage-class specifiers, 6.7.1.6.11.5                       strtoull function, 7.8.2.3.7.20.1.2.7.20.1.4
+stdio.h header, 5.2.4.2.2, 7.19, 7.26.9, F                   strtol function, 7.8.2.3, 7.19.6.2, 7.20.1.2,
+stdlib.h header, 5.2.4.2.2, 7.20, 7.26.10, F                       7.20.1.4, 7.24.2.2
+stdout macro, 7.19.1, 7.19.2, 7.19.3, 7.19.6.3,              strtold function, 7.12.11.2, 7.20.1.3, F.3
+      7.19.7.9, 7.19.7.10, 7.24.2.11, 7.24.3.9               strtoll function, 7.8.2.3, 7.20.1.2, 7.20.1.4
+storage duration, 6.2.4                                      strtoul function, 7.8.2.3, 7.19.6.2, 7.20.1.2,
+storage order of array, 6.5.2.1                                    7.20.1.47.24.2.2
+storage-class specifiers, 6.7.1, 6.11.5                       strtoull function, 7.8.2.3, 7.20.1.2, 7.20.1.4
 strcat function, 7.21.3.1                                    strtoumax function, 7.8.2.3
 strchr function, 7.21.5.2                                    struct hack, see flexible array member
-strcmp function, 7.21.4.7.21.4.2                            structure
-strcoll function, 7.11.1.1.7.21.4.3.7.21.4.5                  arrow operator (->), 6.5.2.3
+strcmp function, 7.21.47.21.4.2                            structure
+strcoll function, 7.11.1.1, 7.21.4.3, 7.21.4.5                  arrow operator (->), 6.5.2.3
 strcpy function, 7.21.2.3                                       content, 6.7.2.3
 strcspn function, 7.21.5.3                                      dot operator (.), 6.5.2.3
-streams, 7.19.2.7.20.4.3                                       initialization, 6.7.8
+streams, 7.19.27.20.4.3                                       initialization, 6.7.8
    fully buffered, 7.19.3                                       member alignment, 6.7.2.1
    line buffered, 7.19.3                                        member name space, 6.2.3
-   orientation, 7.19.2                                          member operator (.), 6.3.2.1.6.5.2.3
-   standard error, 7.19.1.7.19.3                               pointer operator (->), 6.5.2.3
-   standard input, 7.19.1.7.19.3                               specifier, 6.7.2.1
-   standard output, 7.19.1.7.19.3                              tag, 6.2.3.6.7.2.3
-   unbuffered, 7.19.3                                           type, 6.2.5.6.7.2.1
-strerror function, 7.19.10.4.7.21.6.2                       strxfrm function, 7.11.1.1.7.21.4.5
-strftime function, 7.11.1.1.7.23.3.7.23.3.5,               subscripting, 6.5.2.1
+   orientation, 7.19.2                                          member operator (.), 6.3.2.16.5.2.3
+   standard error, 7.19.17.19.3                               pointer operator (->), 6.5.2.3
+   standard input, 7.19.17.19.3                               specifier, 6.7.2.1
+   standard output, 7.19.1, 7.19.3                              tag, 6.2.3, 6.7.2.3
+   unbuffered, 7.19.3                                           type, 6.2.56.7.2.1
+strerror function, 7.19.10.4, 7.21.6.2                       strxfrm function, 7.11.1.1, 7.21.4.5
+strftime function, 7.11.1.1, 7.23.3, 7.23.3.5,               subscripting, 6.5.2.1
       7.24.5.1                                               subtraction assignment operator (-=), 6.5.16.2
 
 [page 537]
 
 subtraction operator (-), 6.5.6, F.3, G.5.2                   tolower function, 7.4.2.1
 suffix                                                         toupper function, 7.4.2.2
-  floating constant, 6.4.4.2                                   towctrans function, 7.25.3.2.1.7.25.3.2.2
-  integer constant, 6.4.4.1                                   towlower function, 7.25.3.1.1.7.25.3.2.1
-switch body, 6.8.4.2                                          towupper function, 7.25.3.1.2.7.25.3.2.1
-switch case label, 6.8.1.6.8.4.2                             translation environment, 5.5.1.1
-switch default label, 6.8.1.6.8.4.2                          translation limits, 5.2.4.1
-switch statement, 6.8.1.6.8.4.2                              translation phases, 5.1.1.2
-swprintf function, 7.24.2.3.7.24.2.7                         translation unit, 5.1.1.1.6.9
-swscanf function, 7.24.2.4.7.24.2.8                          trap representation, 6.2.6.1.6.2.6.2.6.3.2.3,
+  floating constant, 6.4.4.2                                   towctrans function, 7.25.3.2.17.25.3.2.2
+  integer constant, 6.4.4.1                                   towlower function, 7.25.3.1.17.25.3.2.1
+switch body, 6.8.4.2                                          towupper function, 7.25.3.1.27.25.3.2.1
+switch case label, 6.8.1, 6.8.4.2                             translation environment, 5, 5.1.1
+switch default label, 6.8.16.8.4.2                          translation limits, 5.2.4.1
+switch statement, 6.8.16.8.4.2                              translation phases, 5.1.1.2
+swprintf function, 7.24.2.3, 7.24.2.7                         translation unit, 5.1.1.1, 6.9
+swscanf function, 7.24.2.4, 7.24.2.8                          trap representation, 6.2.6.1, 6.2.6.2, 6.3.2.3,
 symbols, 3                                                          6.5.2.3
 syntactic categories, 6.1                                     trigonometric functions
 syntax notation, 6.1                                             complex, 7.3.5, G.6.1
 syntax rule precedence, 5.1.1.2                                  real, 7.12.4, F.9.1
-syntax summary, language, A                                   trigraph sequences, 5.1.1.2.5.2.1.1
+syntax summary, language, A                                   trigraph sequences, 5.1.1.25.2.1.1
 system function, 7.20.4.6                                     true macro, 7.16
                                                               trunc functions, 7.12.9.8, F.9.6.8
-tab characters, 5.2.1.6.4                                    trunc type-generic macro, 7.22
-tag compatibility, 6.2.7                                      truncation, 6.3.1.4.7.12.9.8.7.19.3.7.19.5.3
+tab characters, 5.2.16.4                                    trunc type-generic macro, 7.22
+tag compatibility, 6.2.7                                      truncation, 6.3.1.4, 7.12.9.8, 7.19.3, 7.19.5.3
 tag name space, 6.2.3                                         truncation toward zero, 6.5.5
-tags, 6.7.2.3                                                 two's complement, 6.2.6.2.7.18.1.1
+tags, 6.7.2.3                                                 two's complement, 6.2.6.27.18.1.1
 tan functions, 7.12.4.7, F.9.1.7                              type category, 6.2.5
 tan type-generic macro, 7.22, G.7                             type conversion, 6.3
 tanh functions, 7.12.5.6, F.9.2.6                             type definitions, 6.7.7
 tanh type-generic macro, 7.22, G.7                            type domain, 6.2.5, G.2
 tentative definition, 6.9.2                                    type names, 6.7.6
 terms, 3                                                      type punning, 6.5.2.3
-text streams, 7.19.2.7.19.7.11.7.19.9.2.7.19.9.4           type qualifiers, 6.7.3
+text streams, 7.19.2, 7.19.7.11, 7.19.9.2, 7.19.9.4           type qualifiers, 6.7.3
 tgamma functions, 7.12.8.4, F.9.5.4                           type specifiers, 6.7.2
 tgamma type-generic macro, 7.22                               type-generic macro, 7.22, G.7
 tgmath.h header, 7.22, G.7                                    typedef declaration, 6.7.7
-time                                                          typedef storage-class specifier, 6.7.1.6.7.7
-   broken down, 7.23.1.7.23.2.3.7.23.3.7.23.3.1,           types, 6.2.5
-         7.23.3.3.7.23.3.4.7.23.3.5                            character, 6.7.8
-   calendar, 7.23.1.7.23.2.2.7.23.2.3.7.23.2.4,               compatible, 6.2.7.6.7.2.6.7.3.6.7.5
-         7.23.3.2.7.23.3.3.7.23.3.4                            complex, 6.2.5, G
+time                                                          typedef storage-class specifier, 6.7.16.7.7
+   broken down, 7.23.1, 7.23.2.3, 7.23.3, 7.23.3.1,           types, 6.2.5
+         7.23.3.3, 7.23.3.4, 7.23.3.5                            character, 6.7.8
+   calendar, 7.23.1, 7.23.2.2, 7.23.2.3, 7.23.2.4,               compatible, 6.2.7, 6.7.2, 6.7.3, 6.7.5
+         7.23.3.2, 7.23.3.3, 7.23.3.4                            complex, 6.2.5, G
    components, 7.23.1                                            composite, 6.2.7
    conversion functions, 7.23.3                                  const qualified, 6.7.3
       wide character, 7.24.5                                     conversions, 6.3
@@ -21134,92 +20640,92 @@ time                                                          typedef storage-cl
 time function, 7.23.2.4                                          volatile qualified, 6.7.3
 time.h header, 7.23
 time_t type, 7.23.1                                           UCHAR_MAX macro, 5.2.4.2.1
-tm structure type, 7.23.1.7.24.1                             UINT_FASTN_MAX macros, 7.18.2.3
-TMP_MAX macro, 7.19.1.7.19.4.3.7.19.4.4                     uint_fastN_t types, 7.18.1.3
-tmpfile function, 7.19.4.3.7.20.4.3                          UINT_LEASTN_MAX macros, 7.18.2.2
-tmpnam function, 7.19.1.7.19.4.3.7.19.4.4                   uint_leastN_t types, 7.18.1.2
-token, 5.1.1.2.6.4, see also preprocessing tokens            UINT_MAX macro, 5.2.4.2.1
+tm structure type, 7.23.17.24.1                             UINT_FASTN_MAX macros, 7.18.2.3
+TMP_MAX macro, 7.19.1, 7.19.4.3, 7.19.4.4                     uint_fastN_t types, 7.18.1.3
+tmpfile function, 7.19.4.37.20.4.3                          UINT_LEASTN_MAX macros, 7.18.2.2
+tmpnam function, 7.19.1, 7.19.4.3, 7.19.4.4                   uint_leastN_t types, 7.18.1.2
+token, 5.1.1.26.4, see also preprocessing tokens            UINT_MAX macro, 5.2.4.2.1
 token concatenation, 6.10.3.3                                 UINTMAX_C macro, 7.18.4.2
-token pasting, 6.10.3.3                                       UINTMAX_MAX macro, 7.8.2.3.7.8.2.4.7.18.2.5
+token pasting, 6.10.3.3                                       UINTMAX_MAX macro, 7.8.2.3, 7.8.2.4, 7.18.2.5
 
 [page 538]
 
-uintmax_t type, 7.18.1.5.7.19.6.1.7.19.6.2,               USHRT_MAX macro, 5.2.4.2.1
-     7.24.2.1.7.24.2.2                                     usual arithmetic conversions, 6.3.1.8.6.5.5.6.5.6,
-UINTN_C macros, 7.18.4.1                                          6.5.8.6.5.9.6.5.10.6.5.11.6.5.12.6.5.15
+uintmax_t type, 7.18.1.5, 7.19.6.1, 7.19.6.2,               USHRT_MAX macro, 5.2.4.2.1
+     7.24.2.1, 7.24.2.2                                     usual arithmetic conversions, 6.3.1.8, 6.5.5, 6.5.6,
+UINTN_C macros, 7.18.4.1                                          6.5.8, 6.5.9, 6.5.10, 6.5.11, 6.5.12, 6.5.15
 UINTN_MAX macros, 7.18.2.1                                  utilities, general, 7.20
 uintN_t types, 7.18.1.1                                        wide string, 7.24.4
 UINTPTR_MAX macro, 7.18.2.4
-uintptr_t type, 7.18.1.4                                    va_arg macro, 7.15.7.15.1.7.15.1.1.7.15.1.2,
-ULLONG_MAX macro, 5.2.4.2.1.7.20.1.4,                           7.15.1.4.7.19.6.8.7.19.6.9.7.19.6.10,
-     7.24.4.1.2                                                  7.19.6.11.7.19.6.12.7.19.6.13.7.19.6.14,
-ULONG_MAX macro, 5.2.4.2.1.7.20.1.4,                            7.24.2.5.7.24.2.6.7.24.2.7.7.24.2.8,
-     7.24.4.1.2                                                  7.24.2.9.7.24.2.10
-unary arithmetic operators, 6.5.3.3                         va_copy macro, 7.15.7.15.1.7.15.1.1.7.15.1.2,
+uintptr_t type, 7.18.1.4                                    va_arg macro, 7.15, 7.15.1, 7.15.1.1, 7.15.1.2,
+ULLONG_MAX macro, 5.2.4.2.1, 7.20.1.4,                           7.15.1.4, 7.19.6.8, 7.19.6.9, 7.19.6.10,
+     7.24.4.1.2                                                  7.19.6.11, 7.19.6.12, 7.19.6.13, 7.19.6.14,
+ULONG_MAX macro, 5.2.4.2.1, 7.20.1.4,                            7.24.2.5, 7.24.2.6, 7.24.2.7, 7.24.2.8,
+     7.24.4.1.2                                                  7.24.2.97.24.2.10
+unary arithmetic operators, 6.5.3.3                         va_copy macro, 7.15, 7.15.1, 7.15.1.1, 7.15.1.2,
 unary expression, 6.5.3                                          7.15.1.3
-unary minus operator (-), 6.5.3.3, F.3                      va_end macro, 7.1.3.7.15.7.15.1.7.15.1.3,
-unary operators, 6.5.3                                           7.15.1.4.7.19.6.8.7.19.6.9.7.19.6.10,
-unary plus operator (+), 6.5.3.3                                 7.19.6.11.7.19.6.12.7.19.6.13.7.19.6.14,
-unbuffered stream, 7.19.3                                        7.24.2.5.7.24.2.6.7.24.2.7.7.24.2.8,
-undef preprocessing directive, 6.10.3.5.7.1.3,                  7.24.2.9.7.24.2.10
-     7.1.4                                                  va_list type, 7.15.7.15.1.3
-undefined behavior, 3.4.3.4, J.2                            va_start macro, 7.15.7.15.1.7.15.1.1,
-underscore character, 6.4.2.1                                    7.15.1.2.7.15.1.3.7.15.1.4.7.19.6.8,
-underscore, leading, in identifier, 7.1.3                         7.19.6.9.7.19.6.10.7.19.6.11.7.19.6.12,
-ungetc function, 7.19.1.7.19.7.11.7.19.9.2,                    7.19.6.13.7.19.6.14.7.24.2.5.7.24.2.6,
-     7.19.9.3                                                    7.24.2.7.7.24.2.8.7.24.2.9.7.24.2.10
-ungetwc function, 7.19.1.7.24.3.10                         value, 3.17
+unary minus operator (-), 6.5.3.3, F.3                      va_end macro, 7.1.3, 7.15, 7.15.1, 7.15.1.3,
+unary operators, 6.5.3                                           7.15.1.4, 7.19.6.8, 7.19.6.9, 7.19.6.10,
+unary plus operator (+), 6.5.3.3                                 7.19.6.11, 7.19.6.12, 7.19.6.13, 7.19.6.14,
+unbuffered stream, 7.19.3                                        7.24.2.5, 7.24.2.6, 7.24.2.7, 7.24.2.8,
+undef preprocessing directive, 6.10.3.5, 7.1.3,                  7.24.2.9, 7.24.2.10
+     7.1.4                                                  va_list type, 7.157.15.1.3
+undefined behavior, 3.4.3, 4, J.2                            va_start macro, 7.15, 7.15.1, 7.15.1.1,
+underscore character, 6.4.2.1                                    7.15.1.2, 7.15.1.3, 7.15.1.4, 7.19.6.8,
+underscore, leading, in identifier, 7.1.3                         7.19.6.9, 7.19.6.10, 7.19.6.11, 7.19.6.12,
+ungetc function, 7.19.1, 7.19.7.11, 7.19.9.2,                    7.19.6.13, 7.19.6.14, 7.24.2.5, 7.24.2.6,
+     7.19.9.3                                                    7.24.2.7, 7.24.2.8, 7.24.2.9, 7.24.2.10
+ungetwc function, 7.19.17.24.3.10                         value, 3.17
 Unicode required set, 6.10.8                                value bits, 6.2.6.2
-union                                                       variable arguments, 6.10.3.7.15
+union                                                       variable arguments, 6.10.37.15
   arrow operator (->), 6.5.2.3                              variable arguments header, 7.15
-  content, 6.7.2.3                                          variable length array, 6.7.5.6.7.5.2
-  dot operator (.), 6.5.2.3                                 variably modified type, 6.7.5.6.7.5.2
-  initialization, 6.7.8                                     vertical-tab character, 5.2.1.6.4
-  member alignment, 6.7.2.1                                 vertical-tab escape sequence (\v), 5.2.2.6.4.4.4,
+  content, 6.7.2.3                                          variable length array, 6.7.56.7.5.2
+  dot operator (.), 6.5.2.3                                 variably modified type, 6.7.56.7.5.2
+  initialization, 6.7.8                                     vertical-tab character, 5.2.16.4
+  member alignment, 6.7.2.1                                 vertical-tab escape sequence (\v), 5.2.26.4.4.4,
   member name space, 6.2.3                                       7.4.1.10
-  member operator (.), 6.3.2.1.6.5.2.3                     vfprintf function, 7.19.1.7.19.6.8
-  pointer operator (->), 6.5.2.3                            vfscanf function, 7.19.1.7.19.6.8.7.19.6.9
-  specifier, 6.7.2.1                                         vfwprintf function, 7.19.1.7.24.2.5
-  tag, 6.2.3.6.7.2.3                                       vfwscanf function, 7.19.1.7.24.2.6.7.24.3.10
-  type, 6.2.5.6.7.2.1                                      visibility of identifier, 6.2.1
+  member operator (.), 6.3.2.1, 6.5.2.3                     vfprintf function, 7.19.1, 7.19.6.8
+  pointer operator (->), 6.5.2.3                            vfscanf function, 7.19.1, 7.19.6.8, 7.19.6.9
+  specifier, 6.7.2.1                                         vfwprintf function, 7.19.17.24.2.5
+  tag, 6.2.3, 6.7.2.3                                       vfwscanf function, 7.19.1, 7.24.2.6, 7.24.3.10
+  type, 6.2.56.7.2.1                                      visibility of identifier, 6.2.1
 universal character name, 6.4.3                             VLA, see variable length array
 unqualified type, 6.2.5                                      void expression, 6.3.2.2
 unqualified version of type, 6.2.5                           void function parameter, 6.7.5.3
-unsigned integer suffix, u or U, 6.4.4.1                     void type, 6.2.5.6.3.2.2.6.7.2
-unsigned integer types, 6.2.5.6.3.1.3.6.4.4.1             void type conversion, 6.3.2.2
-unsigned type conversion, 6.3.1.1.6.3.1.3,                 volatile storage, 5.1.2.3
-     6.3.1.4.6.3.1.8                                       volatile type qualifier, 6.7.3
-unsigned types, 6.2.5.6.7.2.7.19.6.1.7.19.6.2,           volatile-qualified type, 6.2.5.6.7.3
-     7.24.2.1.7.24.2.2                                     vprintf function, 7.19.1.7.19.6.8.7.19.6.10
-unspecified behavior, 3.4.4.4, J.1                          vscanf function, 7.19.1.7.19.6.8.7.19.6.11
-unspecified value, 3.17.3                                    vsnprintf function, 7.19.6.8.7.19.6.12
-uppercase letter, 5.2.1                                     vsprintf function, 7.19.6.8.7.19.6.13
-use of library functions, 7.1.4                             vsscanf function, 7.19.6.8.7.19.6.14
+unsigned integer suffix, u or U, 6.4.4.1                     void type, 6.2.5, 6.3.2.2, 6.7.2
+unsigned integer types, 6.2.5, 6.3.1.3, 6.4.4.1             void type conversion, 6.3.2.2
+unsigned type conversion, 6.3.1.16.3.1.3,                 volatile storage, 5.1.2.3
+     6.3.1.46.3.1.8                                       volatile type qualifier, 6.7.3
+unsigned types, 6.2.5, 6.7.2, 7.19.6.1, 7.19.6.2,           volatile-qualified type, 6.2.5, 6.7.3
+     7.24.2.1, 7.24.2.2                                     vprintf function, 7.19.1, 7.19.6.8, 7.19.6.10
+unspecified behavior, 3.4.4, 4, J.1                          vscanf function, 7.19.1, 7.19.6.8, 7.19.6.11
+unspecified value, 3.17.3                                    vsnprintf function, 7.19.6.87.19.6.12
+uppercase letter, 5.2.1                                     vsprintf function, 7.19.6.87.19.6.13
+use of library functions, 7.1.4                             vsscanf function, 7.19.6.87.19.6.14
 
 [page 539]
 
-vswprintf function, 7.24.2.7                                  wctype.h header, 7.25.7.26.13
-vswscanf function, 7.24.2.8                                   wctype_t type, 7.25.1.7.25.2.2.2
-vwprintf function, 7.19.1.7.24.2.9                           WEOF macro, 7.24.1.7.24.3.1.7.24.3.3.7.24.3.6,
-vwscanf function, 7.19.1.7.24.2.10.7.24.3.10                     7.24.3.7.7.24.3.8.7.24.3.9.7.24.3.10,
-                                                                   7.24.6.1.1.7.25.1
+vswprintf function, 7.24.2.7                                  wctype.h header, 7.257.26.13
+vswscanf function, 7.24.2.8                                   wctype_t type, 7.25.17.25.2.2.2
+vwprintf function, 7.19.1, 7.24.2.9                           WEOF macro, 7.24.1, 7.24.3.1, 7.24.3.3, 7.24.3.6,
+vwscanf function, 7.19.1, 7.24.2.10, 7.24.3.10                     7.24.3.7, 7.24.3.8, 7.24.3.9, 7.24.3.10,
+                                                                   7.24.6.1.17.25.1
 warnings, I                                                   while statement, 6.8.5.1
-wchar.h header, 5.2.4.2.2.7.19.1.7.24.7.26.12,             white space, 5.1.1.2.6.4.6.10.7.4.1.10,
+wchar.h header, 5.2.4.2.2, 7.19.1, 7.24, 7.26.12,             white space, 5.1.1.2, 6.4, 6.10, 7.4.1.10,
     F                                                              7.25.2.1.10
-WCHAR_MAX macro, 7.18.3.7.24.1                               white-space characters, 6.4
-WCHAR_MIN macro, 7.18.3.7.24.1                               wide character, 3.7.3
-wchar_t type, 3.7.3.6.4.4.4.6.4.5.6.7.8,                     case mapping functions, 7.25.3.1
-    6.10.8.7.17.7.18.3.7.19.6.1.7.19.6.2.7.20,                extensible, 7.25.3.2
-    7.24.1.7.24.2.1.7.24.2.2                                  classification functions, 7.25.2.1
-wcrtomb function, 7.19.3.7.19.6.2.7.24.2.2,                      extensible, 7.25.2.2
-    7.24.6.3.3.7.24.6.4.2                                      constant, 6.4.4.4
+WCHAR_MAX macro, 7.18.37.24.1                               white-space characters, 6.4
+WCHAR_MIN macro, 7.18.37.24.1                               wide character, 3.7.3
+wchar_t type, 3.7.3, 6.4.4.4, 6.4.5, 6.7.8,                     case mapping functions, 7.25.3.1
+    6.10.8, 7.17, 7.18.3, 7.19.6.1, 7.19.6.2, 7.20,                extensible, 7.25.3.2
+    7.24.1, 7.24.2.1, 7.24.2.2                                  classification functions, 7.25.2.1
+wcrtomb function, 7.19.3, 7.19.6.2, 7.24.2.2,                      extensible, 7.25.2.2
+    7.24.6.3.37.24.6.4.2                                      constant, 6.4.4.4
 wcscat function, 7.24.4.3.1                                     formatted input/output functions, 7.24.2
 wcschr function, 7.24.4.5.1                                     input functions, 7.19.1
-wcscmp function, 7.24.4.4.1.7.24.4.4.4                         input/output functions, 7.19.1.7.24.3
-wcscoll function, 7.24.4.4.2.7.24.4.4.4                        output functions, 7.19.1
+wcscmp function, 7.24.4.4.1, 7.24.4.4.4                         input/output functions, 7.19.1, 7.24.3
+wcscoll function, 7.24.4.4.27.24.4.4.4                        output functions, 7.19.1
 wcscpy function, 7.24.4.2.1                                     single-byte conversion functions, 7.24.6.1
 wcscspn function, 7.24.4.5.2                                  wide string, 7.1.1
-wcsftime function, 7.11.1.1.7.24.5.1                         wide string comparison functions, 7.24.4.4
+wcsftime function, 7.11.1.17.24.5.1                         wide string comparison functions, 7.24.4.4
 wcslen function, 7.24.4.6.1                                   wide string concatenation functions, 7.24.4.3
 wcsncat function, 7.24.4.3.2                                  wide string copying functions, 7.24.4.2
 wcsncmp function, 7.24.4.4.3                                  wide string literal, see string literal
@@ -21229,25 +20735,25 @@ wcsrchr function, 7.24.4.5.4                                       7.24.4.1
 wcsrtombs function, 7.24.6.4.2                                wide string search functions, 7.24.4.5
 wcsspn function, 7.24.4.5.5                                   wide-oriented stream, 7.19.2
 wcsstr function, 7.24.4.5.6                                   width, 6.2.6.2
-wcstod function, 7.19.6.2.7.24.2.2                           WINT_MAX macro, 7.18.3
+wcstod function, 7.19.6.27.24.2.2                           WINT_MAX macro, 7.18.3
 wcstod function, 7.24.4.1.1                                   WINT_MIN macro, 7.18.3
-wcstof function, 7.24.4.1.1                                   wint_t type, 7.18.3.7.19.6.1.7.24.1.7.24.2.1,
+wcstof function, 7.24.4.1.1                                   wint_t type, 7.18.3, 7.19.6.1, 7.24.1, 7.24.2.1,
 wcstoimax function, 7.8.2.4                                        7.25.1
 wcstok function, 7.24.4.5.7                                   wmemchr function, 7.24.4.5.8
-wcstol function, 7.8.2.4.7.19.6.2.7.24.2.2,                 wmemcmp function, 7.24.4.4.5
+wcstol function, 7.8.2.4, 7.19.6.2, 7.24.2.2,                 wmemcmp function, 7.24.4.4.5
     7.24.4.1.2                                                wmemcpy function, 7.24.4.2.3
 wcstold function, 7.24.4.1.1                                  wmemmove function, 7.24.4.2.4
-wcstoll function, 7.8.2.4.7.24.4.1.2                         wmemset function, 7.24.4.6.2
-wcstombs function, 7.20.8.2.7.24.6.4                         wprintf function, 7.19.1.7.24.2.9.7.24.2.11
-wcstoul function, 7.8.2.4.7.19.6.2.7.24.2.2,                wscanf function, 7.19.1.7.24.2.10.7.24.2.12,
+wcstoll function, 7.8.2.47.24.4.1.2                         wmemset function, 7.24.4.6.2
+wcstombs function, 7.20.8.2, 7.24.6.4                         wprintf function, 7.19.1, 7.24.2.9, 7.24.2.11
+wcstoul function, 7.8.2.4, 7.19.6.2, 7.24.2.2,                wscanf function, 7.19.1, 7.24.2.10, 7.24.2.12,
     7.24.4.1.2                                                     7.24.3.10
-wcstoull function, 7.8.2.4.7.24.4.1.2
+wcstoull function, 7.8.2.47.24.4.1.2
 wcstoumax function, 7.8.2.4                                   xor macro, 7.9
 wcsxfrm function, 7.24.4.4.4                                  xor_eq macro, 7.9
-wctob function, 7.24.6.1.2.7.25.2.1
-wctomb function, 7.20.7.3.7.20.8.2.7.24.6.3
-wctrans function, 7.25.3.2.1.7.25.3.2.2
-wctrans_t type, 7.25.1.7.25.3.2.2
-wctype function, 7.25.2.2.1.7.25.2.2.2
+wctob function, 7.24.6.1.27.25.2.1
+wctomb function, 7.20.7.3, 7.20.8.2, 7.24.6.3
+wctrans function, 7.25.3.2.17.25.3.2.2
+wctrans_t type, 7.25.17.25.3.2.2
+wctype function, 7.25.2.2.17.25.2.2.2
 
 [page 540]