manual fix for 5.2.4.2.1
[c-standard] / n1256.html
index 52cdafe..9939d19 100644 (file)
@@ -595,7 +595,7 @@ WG14/N1256                Committee Draft -- Septermber 7, 2007
 
 <h3><a name="3.1" href="#3.1">3.1</a></h3>
 <p><!--para 1 -->
 
 <h3><a name="3.1" href="#3.1">3.1</a></h3>
 <p><!--para 1 -->
- access
+<b> access</b><br>
  &lt;execution-time action&gt; to read or modify the value of an object
 <p><!--para 2 -->
  NOTE 1   Where only one of these two actions is meant, ''read'' or ''modify'' is used.
  &lt;execution-time action&gt; to read or modify the value of an object
 <p><!--para 2 -->
  NOTE 1   Where only one of these two actions is meant, ''read'' or ''modify'' is used.
@@ -609,27 +609,27 @@ WG14/N1256                Committee Draft -- Septermber 7, 2007
 
 <h3><a name="3.2" href="#3.2">3.2</a></h3>
 <p><!--para 1 -->
 
 <h3><a name="3.2" href="#3.2">3.2</a></h3>
 <p><!--para 1 -->
- alignment
+<b> alignment</b><br>
  requirement that objects of a particular type be located on storage boundaries with
  addresses that are particular multiples of a byte address
 
 <h3><a name="3.3" href="#3.3">3.3</a></h3>
 <p><!--para 1 -->
  requirement that objects of a particular type be located on storage boundaries with
  addresses that are particular multiples of a byte address
 
 <h3><a name="3.3" href="#3.3">3.3</a></h3>
 <p><!--para 1 -->
- argument
- actual argument
- actual parameter (deprecated)
+<b> argument</b><br>
+ actual argument<br>
+ actual parameter (deprecated)<br>
  expression in the comma-separated list bounded by the parentheses in a function call
  expression, or a sequence of preprocessing tokens in the comma-separated list bounded
  by the parentheses in a function-like macro invocation
 
 <h3><a name="3.4" href="#3.4">3.4</a></h3>
 <p><!--para 1 -->
  expression in the comma-separated list bounded by the parentheses in a function call
  expression, or a sequence of preprocessing tokens in the comma-separated list bounded
  by the parentheses in a function-like macro invocation
 
 <h3><a name="3.4" href="#3.4">3.4</a></h3>
 <p><!--para 1 -->
- behavior
+<b> behavior</b><br>
  external appearance or action
 
 <h4><a name="3.4.1" href="#3.4.1">3.4.1</a></h4>
 <p><!--para 1 -->
  external appearance or action
 
 <h4><a name="3.4.1" href="#3.4.1">3.4.1</a></h4>
 <p><!--para 1 -->
- implementation-defined behavior
+<b> implementation-defined behavior</b><br>
  unspecified behavior where each implementation documents how the choice is made
 <p><!--para 2 -->
  EXAMPLE An example of implementation-defined behavior is the propagation of the high-order bit
  unspecified behavior where each implementation documents how the choice is made
 <p><!--para 2 -->
  EXAMPLE An example of implementation-defined behavior is the propagation of the high-order bit
@@ -638,7 +638,7 @@ WG14/N1256                Committee Draft -- Septermber 7, 2007
 
 <h4><a name="3.4.2" href="#3.4.2">3.4.2</a></h4>
 <p><!--para 1 -->
 
 <h4><a name="3.4.2" href="#3.4.2">3.4.2</a></h4>
 <p><!--para 1 -->
- locale-specific behavior
+<b> locale-specific behavior</b><br>
  behavior that depends on local conventions of nationality, culture, and language that each
  implementation documents
 <!--page 16 -->
  behavior that depends on local conventions of nationality, culture, and language that each
  implementation documents
 <!--page 16 -->
@@ -649,7 +649,7 @@ WG14/N1256                Committee Draft -- Septermber 7, 2007
 
 <h4><a name="3.4.3" href="#3.4.3">3.4.3</a></h4>
 <p><!--para 1 -->
 
 <h4><a name="3.4.3" href="#3.4.3">3.4.3</a></h4>
 <p><!--para 1 -->
- undefined behavior
+<b> undefined behavior</b><br>
  behavior, upon use of a nonportable or erroneous program construct or of erroneous data,
  for which this International Standard imposes no requirements
 <p><!--para 2 -->
  behavior, upon use of a nonportable or erroneous program construct or of erroneous data,
  for which this International Standard imposes no requirements
 <p><!--para 2 -->
@@ -664,7 +664,7 @@ WG14/N1256                Committee Draft -- Septermber 7, 2007
 
 <h4><a name="3.4.4" href="#3.4.4">3.4.4</a></h4>
 <p><!--para 1 -->
 
 <h4><a name="3.4.4" href="#3.4.4">3.4.4</a></h4>
 <p><!--para 1 -->
- unspecified behavior
+<b> unspecified behavior</b><br>
  use of an unspecified value, or other behavior where this International Standard provides
  two or more possibilities and imposes no further requirements on which is chosen in any
  instance
  use of an unspecified value, or other behavior where this International Standard provides
  two or more possibilities and imposes no further requirements on which is chosen in any
  instance
@@ -675,7 +675,7 @@ WG14/N1256                Committee Draft -- Septermber 7, 2007
 
 <h3><a name="3.5" href="#3.5">3.5</a></h3>
 <p><!--para 1 -->
 
 <h3><a name="3.5" href="#3.5">3.5</a></h3>
 <p><!--para 1 -->
- bit
+<b> bit</b><br>
  unit of data storage in the execution environment large enough to hold an object that may
  have one of two values
 <p><!--para 2 -->
  unit of data storage in the execution environment large enough to hold an object that may
  have one of two values
 <p><!--para 2 -->
@@ -684,7 +684,7 @@ WG14/N1256                Committee Draft -- Septermber 7, 2007
 
 <h3><a name="3.6" href="#3.6">3.6</a></h3>
 <p><!--para 1 -->
 
 <h3><a name="3.6" href="#3.6">3.6</a></h3>
 <p><!--para 1 -->
- byte
+<b> byte</b><br>
  addressable unit of data storage large enough to hold any member of the basic character
  set of the execution environment
 <p><!--para 2 -->
  addressable unit of data storage large enough to hold any member of the basic character
  set of the execution environment
 <p><!--para 2 -->
@@ -698,20 +698,20 @@ WG14/N1256                Committee Draft -- Septermber 7, 2007
 
 <h3><a name="3.7" href="#3.7">3.7</a></h3>
 <p><!--para 1 -->
 
 <h3><a name="3.7" href="#3.7">3.7</a></h3>
 <p><!--para 1 -->
- character
+<b> character</b><br>
  &lt;abstract&gt; member of a set of elements used for the organization, control, or
  representation of data
 
 <h4><a name="3.7.1" href="#3.7.1">3.7.1</a></h4>
 <p><!--para 1 -->
  &lt;abstract&gt; member of a set of elements used for the organization, control, or
  representation of data
 
 <h4><a name="3.7.1" href="#3.7.1">3.7.1</a></h4>
 <p><!--para 1 -->
- character
+<b> character</b><br>
  single-byte character
  &lt;C&gt; bit representation that fits in a byte
 <!--page 17 -->
 
 <h4><a name="3.7.2" href="#3.7.2">3.7.2</a></h4>
 <p><!--para 1 -->
  single-byte character
  &lt;C&gt; bit representation that fits in a byte
 <!--page 17 -->
 
 <h4><a name="3.7.2" href="#3.7.2">3.7.2</a></h4>
 <p><!--para 1 -->
- multibyte character
+<b> multibyte character</b><br>
  sequence of one or more bytes representing a member of the extended character set of
  either the source or the execution environment
 <p><!--para 2 -->
  sequence of one or more bytes representing a member of the extended character set of
  either the source or the execution environment
 <p><!--para 2 -->
@@ -720,49 +720,49 @@ WG14/N1256                Committee Draft -- Septermber 7, 2007
 
 <h4><a name="3.7.3" href="#3.7.3">3.7.3</a></h4>
 <p><!--para 1 -->
 
 <h4><a name="3.7.3" href="#3.7.3">3.7.3</a></h4>
 <p><!--para 1 -->
- wide character
+<b> wide character</b><br>
  bit representation that fits in an object of type wchar_t, capable of representing any
  character in the current locale
 
 <h3><a name="3.8" href="#3.8">3.8</a></h3>
 <p><!--para 1 -->
  bit representation that fits in an object of type wchar_t, capable of representing any
  character in the current locale
 
 <h3><a name="3.8" href="#3.8">3.8</a></h3>
 <p><!--para 1 -->
- constraint
+<b> constraint</b><br>
  restriction, either syntactic or semantic, by which the exposition of language elements is
  to be interpreted
 
 <h3><a name="3.9" href="#3.9">3.9</a></h3>
 <p><!--para 1 -->
  restriction, either syntactic or semantic, by which the exposition of language elements is
  to be interpreted
 
 <h3><a name="3.9" href="#3.9">3.9</a></h3>
 <p><!--para 1 -->
- correctly rounded result
+<b> correctly rounded result</b><br>
  representation in the result format that is nearest in value, subject to the current rounding
  mode, to what the result would be given unlimited range and precision
 
 <h3><a name="3.10" href="#3.10">3.10</a></h3>
 <p><!--para 1 -->
  representation in the result format that is nearest in value, subject to the current rounding
  mode, to what the result would be given unlimited range and precision
 
 <h3><a name="3.10" href="#3.10">3.10</a></h3>
 <p><!--para 1 -->
- diagnostic message
+<b> diagnostic message</b><br>
  message belonging to an implementation-defined subset of the implementation's message
  output
 
 <h3><a name="3.11" href="#3.11">3.11</a></h3>
 <p><!--para 1 -->
  message belonging to an implementation-defined subset of the implementation's message
  output
 
 <h3><a name="3.11" href="#3.11">3.11</a></h3>
 <p><!--para 1 -->
- forward reference
+<b> forward reference</b><br>
  reference to a later subclause of this International Standard that contains additional
  information relevant to this subclause
 
 <h3><a name="3.12" href="#3.12">3.12</a></h3>
 <p><!--para 1 -->
  reference to a later subclause of this International Standard that contains additional
  information relevant to this subclause
 
 <h3><a name="3.12" href="#3.12">3.12</a></h3>
 <p><!--para 1 -->
- implementation
+<b> implementation</b><br>
  particular set of software, running in a particular translation environment under particular
  control options, that performs translation of programs for, and supports execution of
  functions in, a particular execution environment
 
 <h3><a name="3.13" href="#3.13">3.13</a></h3>
 <p><!--para 1 -->
  particular set of software, running in a particular translation environment under particular
  control options, that performs translation of programs for, and supports execution of
  functions in, a particular execution environment
 
 <h3><a name="3.13" href="#3.13">3.13</a></h3>
 <p><!--para 1 -->
- implementation limit
+<b> implementation limit</b><br>
  restriction imposed upon programs by the implementation
 
 <h3><a name="3.14" href="#3.14">3.14</a></h3>
 <p><!--para 1 -->
  restriction imposed upon programs by the implementation
 
 <h3><a name="3.14" href="#3.14">3.14</a></h3>
 <p><!--para 1 -->
- object
+<b> object</b><br>
  region of data storage in the execution environment, the contents of which can represent
  values
 <!--page 18 -->
  region of data storage in the execution environment, the contents of which can represent
  values
 <!--page 18 -->
@@ -772,7 +772,7 @@ WG14/N1256                Committee Draft -- Septermber 7, 2007
 
 <h3><a name="3.15" href="#3.15">3.15</a></h3>
 <p><!--para 1 -->
 
 <h3><a name="3.15" href="#3.15">3.15</a></h3>
 <p><!--para 1 -->
- parameter
+<b> parameter</b><br>
  formal parameter
  formal argument (deprecated)
  object declared as part of a function declaration or definition that acquires a value on
  formal parameter
  formal argument (deprecated)
  object declared as part of a function declaration or definition that acquires a value on
@@ -781,28 +781,28 @@ WG14/N1256                Committee Draft -- Septermber 7, 2007
 
 <h3><a name="3.16" href="#3.16">3.16</a></h3>
 <p><!--para 1 -->
 
 <h3><a name="3.16" href="#3.16">3.16</a></h3>
 <p><!--para 1 -->
- recommended practice
+<b> recommended practice</b><br>
  specification that is strongly recommended as being in keeping with the intent of the
  standard, but that may be impractical for some implementations
 
 <h3><a name="3.17" href="#3.17">3.17</a></h3>
 <p><!--para 1 -->
  specification that is strongly recommended as being in keeping with the intent of the
  standard, but that may be impractical for some implementations
 
 <h3><a name="3.17" href="#3.17">3.17</a></h3>
 <p><!--para 1 -->
- value
+<b> value</b><br>
  precise meaning of the contents of an object when interpreted as having a specific type
 
 <h4><a name="3.17.1" href="#3.17.1">3.17.1</a></h4>
 <p><!--para 1 -->
  precise meaning of the contents of an object when interpreted as having a specific type
 
 <h4><a name="3.17.1" href="#3.17.1">3.17.1</a></h4>
 <p><!--para 1 -->
- implementation-defined value
+<b> implementation-defined value</b><br>
  unspecified value where each implementation documents how the choice is made
 
 <h4><a name="3.17.2" href="#3.17.2">3.17.2</a></h4>
 <p><!--para 1 -->
  unspecified value where each implementation documents how the choice is made
 
 <h4><a name="3.17.2" href="#3.17.2">3.17.2</a></h4>
 <p><!--para 1 -->
- indeterminate value
+<b> indeterminate value</b><br>
  either an unspecified value or a trap representation
 
 <h4><a name="3.17.3" href="#3.17.3">3.17.3</a></h4>
 <p><!--para 1 -->
  either an unspecified value or a trap representation
 
 <h4><a name="3.17.3" href="#3.17.3">3.17.3</a></h4>
 <p><!--para 1 -->
- unspecified value
+<b> unspecified value</b><br>
  valid value of the relevant type where this International Standard imposes no
  requirements on which value is chosen in any instance
 <p><!--para 2 -->
  valid value of the relevant type where this International Standard imposes no
  requirements on which value is chosen in any instance
 <p><!--para 2 -->
@@ -811,7 +811,7 @@ WG14/N1256                Committee Draft -- Septermber 7, 2007
 
 <h3><a name="3.18" href="#3.18">3.18</a></h3>
 <p><!--para 1 -->
 
 <h3><a name="3.18" href="#3.18">3.18</a></h3>
 <p><!--para 1 -->
- ??? x???
+<b> ??? x???</b><br>
  ceiling of x: the least integer greater than or equal to x
 <p><!--para 2 -->
  EXAMPLE       ???2.4??? is 3, ???-2.4??? is -2.
  ceiling of x: the least integer greater than or equal to x
 <p><!--para 2 -->
  EXAMPLE       ???2.4??? is 3, ???-2.4??? is -2.
@@ -819,7 +819,7 @@ WG14/N1256                Committee Draft -- Septermber 7, 2007
 
 <h3><a name="3.19" href="#3.19">3.19</a></h3>
 <p><!--para 1 -->
 
 <h3><a name="3.19" href="#3.19">3.19</a></h3>
 <p><!--para 1 -->
- ??? x???
+<b> ??? x???</b><br>
  floor of x: the greatest integer less than or equal to x
 <p><!--para 2 -->
  EXAMPLE       ???2.4??? is 2, ???-2.4??? is -3.
  floor of x: the greatest integer less than or equal to x
 <p><!--para 2 -->
  EXAMPLE       ???2.4??? is 2, ???-2.4??? is -3.
@@ -1402,26 +1402,24 @@ WG14/N1256                Committee Draft -- Septermber 7, 2007
 <p><!--para 2 -->
  Alphabetic escape sequences representing nongraphic characters in the execution
  character set are intended to produce actions on display devices as follows:
 <p><!--para 2 -->
  Alphabetic escape sequences representing nongraphic characters in the execution
  character set are intended to produce actions on display devices as follows:
- \a (alert) Produces an audible or visible alert without changing the active position.
- \b (backspace) Moves the active position to the previous position on the current line. If
-<pre>
+<dl>
+<dt> \a <dd>(alert) Produces an audible or visible alert without changing the active position.
+<dt> \b <dd>(backspace) Moves the active position to the previous position on the current line. If
     the active position is at the initial position of a line, the behavior of the display
     the active position is at the initial position of a line, the behavior of the display
-    device is unspecified.</pre>
- \f ( form feed) Moves the active position to the initial position at the start of the next
-<pre>
-    logical page.</pre>
- \n (new line) Moves the active position to the initial position of the next line.
- \r (carriage return) Moves the active position to the initial position of the current line.
- \t (horizontal tab) Moves the active position to the next horizontal tabulation position
-<pre>
+    device is unspecified.
+<dt> \f <dd>( form feed) Moves the active position to the initial position at the start of the next
+    logical page.
+<dt> \n <dd>(new line) Moves the active position to the initial position of the next line.
+<dt> \r <dd>(carriage return) Moves the active position to the initial position of the current line.
+<dt> \t <dd>(horizontal tab) Moves the active position to the next horizontal tabulation position
     on the current line. If the active position is at or past the last defined horizontal
     on the current line. If the active position is at or past the last defined horizontal
-    tabulation position, the behavior of the display device is unspecified.</pre>
- \v (vertical tab) Moves the active position to the initial position of the next vertical
+    tabulation position, the behavior of the display device is unspecified.
+<dt> \v <dd>(vertical tab) Moves the active position to the initial position of the next vertical
 <!--page 32 -->
 <!--page 32 -->
-<p><!--para 3 -->
-<pre>
      tabulation position. If the active position is at or past the last defined vertical
      tabulation position. If the active position is at or past the last defined vertical
-      tabulation position, the behavior of the display device is unspecified.</pre>
+      tabulation position, the behavior of the display device is unspecified.
+</dl>
+<p><!--para 3 -->
  Each of these escape sequences shall produce a unique implementation-defined value
  which can be stored in a single char object. The external representations in a text file
  need not be identical to the internal representations, and are outside the scope of this
  Each of these escape sequences shall produce a unique implementation-defined value
  which can be stored in a single char object. The external representations in a text file
  need not be identical to the internal representations, and are outside the scope of this
@@ -1510,51 +1508,51 @@ WG14/N1256                Committee Draft -- Septermber 7, 2007
  (absolute value) to those shown, with the same sign.
 <ul>
 <li>  number of bits for smallest object that is not a bit-field (byte)
  (absolute value) to those shown, with the same sign.
 <ul>
 <li>  number of bits for smallest object that is not a bit-field (byte)
- CHAR_BIT                                            8
+<pre> CHAR_BIT                                            8</pre>
 <li>  minimum value for an object of type signed char
 <li>  minimum value for an object of type signed char
- SCHAR_MIN                                -127 // -(27 - 1)
+<pre> SCHAR_MIN                                -127 // -(2<sup>7</sup> - 1)</pre>
 <li>  maximum value for an object of type signed char
 <li>  maximum value for an object of type signed char
- SCHAR_MAX                                +127 // 27 - 1
+<pre> SCHAR_MAX                                +127 // 2<sup>7</sup> - 1</pre>
 <li>  maximum value for an object of type unsigned char
 <li>  maximum value for an object of type unsigned char
- UCHAR_MAX                                 255 // 28 - 1
+<pre> UCHAR_MAX                                 255 // 2<sup>8</sup> - 1</pre>
 <li>  minimum value for an object of type char
 <li>  minimum value for an object of type char
- CHAR_MIN                               see below
+<pre> CHAR_MIN                               see below</pre>
 <li>  maximum value for an object of type char
 <li>  maximum value for an object of type char
- CHAR_MAX                              see below
+<pre> CHAR_MAX                              see below</pre>
 <li>  maximum number of bytes in a multibyte character, for any supported locale
 <li>  maximum number of bytes in a multibyte character, for any supported locale
- MB_LEN_MAX                                    1
+<pre> MB_LEN_MAX                                    1</pre>
 <li>  minimum value for an object of type short int
 <li>  minimum value for an object of type short int
- SHRT_MIN                               -32767 // -(215 - 1)
+<pre> SHRT_MIN                               -32767 // -(2<sup>15</sup> - 1)</pre>
 <li>  maximum value for an object of type short int
 <li>  maximum value for an object of type short int
- SHRT_MAX                               +32767 // 215 - 1
+<pre> SHRT_MAX                               +32767 // 2<sup>15</sup> - 1</pre>
 <li>  maximum value for an object of type unsigned short int
 <li>  maximum value for an object of type unsigned short int
- USHRT_MAX                               65535 // 216 - 1
+<pre> USHRT_MAX                               65535 // 2<sup>16</sup> - 1</pre>
 <li>  minimum value for an object of type int
 <li>  minimum value for an object of type int
- INT_MIN                                 -32767 // -(215 - 1)
+<pre> INT_MIN                                 -32767 // -(2<sup>15</sup> - 1)</pre>
 <li>  maximum value for an object of type int
 <li>  maximum value for an object of type int
- INT_MAX                                +32767 // 215 - 1
+<pre> INT_MAX                                +32767 // 2<sup>15</sup> - 1</pre>
 <li>  maximum value for an object of type unsigned int
 <li>  maximum value for an object of type unsigned int
- UINT_MAX                                65535 // 216 - 1
+<pre> UINT_MAX                                65535 // 2<sup>16</sup> - 1</pre>
 <li>  minimum value for an object of type long int
 <li>  minimum value for an object of type long int
- LONG_MIN                         -2147483647 // -(231 - 1)
+<pre> LONG_MIN                         -2147483647 // -(2<sup>31</sup> - 1)</pre>
 <li>  maximum value for an object of type long int
 <li>  maximum value for an object of type long int
- LONG_MAX                         +2147483647 // 231 - 1
+<pre> LONG_MAX                         +2147483647 // 2<sup>31</sup> - 1</pre>
 <li>  maximum value for an object of type unsigned long int
 <li>  maximum value for an object of type unsigned long int
- ULONG_MAX                         4294967295 // 232 - 1
+<pre> ULONG_MAX                         4294967295 // 2<sup>32</sup> - 1</pre>
 <!--page 35 -->
 <li>  minimum value for an object of type long long int
 <!--page 35 -->
 <li>  minimum value for an object of type long long int
- LLONG_MIN          -9223372036854775807 // -(263 - 1)
+<pre> LLONG_MIN          -9223372036854775807 // -(2<sup>63</sup> - 1)</pre>
 <li>  maximum value for an object of type long long int
 <li>  maximum value for an object of type long long int
- LLONG_MAX          +9223372036854775807 // 263 - 1
+<pre> LLONG_MAX          +9223372036854775807 // 2<sup>63</sup> - 1</pre>
 <li>  maximum value for an object of type unsigned long long int
 <li>  maximum value for an object of type unsigned long long int
- ULLONG_MAX         18446744073709551615 // 264 - 1
+<pre> ULLONG_MAX         18446744073709551615 // 2<sup>64</sup> - 1</pre>
 </ul>
 <p><!--para 2 -->
  If the value of an object of type char is treated as a signed integer when used in an
  expression, the value of CHAR_MIN shall be the same as that of SCHAR_MIN and the
  value of CHAR_MAX shall be the same as that of SCHAR_MAX. Otherwise, the value of
  CHAR_MIN shall be 0 and the value of CHAR_MAX shall be the same as that of
 </ul>
 <p><!--para 2 -->
  If the value of an object of type char is treated as a signed integer when used in an
  expression, the value of CHAR_MIN shall be the same as that of SCHAR_MIN and the
  value of CHAR_MAX shall be the same as that of SCHAR_MAX. Otherwise, the value of
  CHAR_MIN shall be 0 and the value of CHAR_MAX shall be the same as that of
- UCHAR_MAX.<sup><a href="#note15"><b>15)</b></a></sup> The value UCHAR_MAX shall equal 2CHAR_BIT - 1.
+ UCHAR_MAX.<sup><a href="#note15"><b>15)</b></a></sup> The value UCHAR_MAX shall equal 2<sup>CHAR_BIT</sup> - 1.
 <p><b> Forward references</b>: representations of types (<a href="#6.2.6">6.2.6</a>), conditional inclusion (<a href="#6.10.1">6.10.1</a>).
 
 <h6>footnotes</h6>
 <p><b> Forward references</b>: representations of types (<a href="#6.2.6">6.2.6</a>), conditional inclusion (<a href="#6.10.1">6.10.1</a>).
 
 <h6>footnotes</h6>