<!--page 6 -->
<li><a href="#7.26.10"> 7.26.10 General utilities <stdlib.h></a>
<li><a href="#7.26.11"> 7.26.11 String handling <string.h></a>
-<li><a href="#7.26.12"> 7.26.12 Extended multibyte and wide character utilities <wchar.h></a>
-<li><a href="#7.26.13"> 7.26.13 Wide character classification and mapping utilities <wctype.h></a>
+<li><a href="#7.26.12"> 7.26.12 Extended multibyte and wide character utilities <wchar.h></a>
+<li><a href="#7.26.13"> 7.26.13 Wide character classification and mapping utilities <wctype.h></a>
</ul>
</ul>
<li><a href="#A">Annex A (informative) Language syntax summary</a>
specified in <a href="#7.18"><stdint.h></a>.
<p><b> Forward references</b>: integer types <a href="#7.18"><stdint.h></a> (<a href="#7.18">7.18</a>).
-<h5><a name="5.2.4.2.1" href="#5.2.4.2.1">5.2.4.2.1 Sizes of integer types <limits.h></a></h5>
+<h5><a name="5.2.4.2.1" href="#5.2.4.2.1">5.2.4.2.1 Sizes of integer types <limits.h></a></h5>
<p><!--para 1 -->
The values given below shall be replaced by constant expressions suitable for use in #if
preprocessing directives. Moreover, except for CHAR_BIT and MB_LEN_MAX, the
<p><small><a name="note15" href="#note15">15)</a> See <a href="#6.2.5">6.2.5</a>.
</small>
-<h5><a name="5.2.4.2.2" href="#5.2.4.2.2">5.2.4.2.2 Characteristics of floating types <float.h></a></h5>
+<h5><a name="5.2.4.2.2" href="#5.2.4.2.2">5.2.4.2.2 Characteristics of floating types <float.h></a></h5>
<p><!--para 1 -->
The characteristics of floating types are defined in terms of a model that describes a
representation of floating-point numbers and values that provide information about an
<p><small><a name="note164" href="#note164">164)</a> Thus, a signal handler cannot, in general, call standard library functions.
</small>
-<h3><a name="7.2" href="#7.2">7.2 Diagnostics <assert.h></a></h3>
+<h3><a name="7.2" href="#7.2">7.2 Diagnostics <assert.h></a></h3>
<p><!--para 1 -->
The header <a href="#7.2"><assert.h></a> defines the assert macro and refers to another macro,
<pre>
Assertion failed: expression, function abc, file xyz, line nnn.
</small>
-<h3><a name="7.3" href="#7.3">7.3 Complex arithmetic <complex.h></a></h3>
+<h3><a name="7.3" href="#7.3">7.3 Complex arithmetic <complex.h></a></h3>
<h4><a name="7.3.1" href="#7.3.1">7.3.1 Introduction</a></h4>
<p><!--para 1 -->
<p><small><a name="note171" href="#note171">171)</a> For a variable z of complex type, z == creal(z) + cimag(z)*I.
</small>
-<h3><a name="7.4" href="#7.4">7.4 Character handling <ctype.h></a></h3>
+<h3><a name="7.4" href="#7.4">7.4 Character handling <ctype.h></a></h3>
<p><!--para 1 -->
The header <a href="#7.4"><ctype.h></a> declares several functions useful for classifying and mapping
characters.<sup><a href="#note172"><b>172)</b></a></sup> In all cases the argument is an int, the value of which shall be
for any given locale); otherwise, the argument is returned unchanged.
<!--page 198 -->
-<h3><a name="7.5" href="#7.5">7.5 Errors <errno.h></a></h3>
+<h3><a name="7.5" href="#7.5">7.5 Errors <errno.h></a></h3>
<p><!--para 1 -->
The header <a href="#7.5"><errno.h></a> defines several macros, all relating to the reporting of error
conditions.
<p><small><a name="note177" href="#note177">177)</a> See ''future library directions'' (<a href="#7.26.3">7.26.3</a>).
</small>
-<h3><a name="7.6" href="#7.6">7.6 Floating-point environment <fenv.h></a></h3>
+<h3><a name="7.6" href="#7.6">7.6 Floating-point environment <fenv.h></a></h3>
<p><!--para 1 -->
The header <a href="#7.6"><fenv.h></a> declares two types and several macros and functions to provide
access to the floating-point environment. The floating-point environment refers
}
</pre>
-<h3><a name="7.7" href="#7.7">7.7 Characteristics of floating types <float.h></a></h3>
+<h3><a name="7.7" href="#7.7">7.7 Characteristics of floating types <float.h></a></h3>
<p><!--para 1 -->
The header <a href="#7.7"><float.h></a> defines several macros that expand to various limits and
parameters of the standard floating-point types.
in <a href="#5.2.4.2.2">5.2.4.2.2</a>.
<!--page 210 -->
-<h3><a name="7.8" href="#7.8">7.8 Format conversion of integer types <inttypes.h></a></h3>
+<h3><a name="7.8" href="#7.8">7.8 Format conversion of integer types <inttypes.h></a></h3>
<p><!--para 1 -->
The header <a href="#7.8"><inttypes.h></a> includes the header <a href="#7.18"><stdint.h></a> and extends it with
additional facilities provided by hosted implementations.
(<a href="#7.24.4.1.2">7.24.4.1.2</a>).
<!--page 214 -->
-<h3><a name="7.9" href="#7.9">7.9 Alternative spellings <iso646.h></a></h3>
+<h3><a name="7.9" href="#7.9">7.9 Alternative spellings <iso646.h></a></h3>
<p><!--para 1 -->
The header <a href="#7.9"><iso646.h></a> defines the following eleven macros (on the left) that expand
to the corresponding tokens (on the right):
xor_eq ^=
</pre>
-<h3><a name="7.10" href="#7.10">7.10 Sizes of integer types <limits.h></a></h3>
+<h3><a name="7.10" href="#7.10">7.10 Sizes of integer types <limits.h></a></h3>
<p><!--para 1 -->
The header <a href="#7.10"><limits.h></a> defines several macros that expand to various limits and
parameters of the standard integer types.
in <a href="#5.2.4.2.1">5.2.4.2.1</a>.
<!--page 216 -->
-<h3><a name="7.11" href="#7.11">7.11 Localization <locale.h></a></h3>
+<h3><a name="7.11" href="#7.11">7.11 Localization <locale.h></a></h3>
<p><!--para 1 -->
The header <a href="#7.11"><locale.h></a> declares two functions, one type, and defines several macros.
<p><!--para 2 -->
</pre>
<!--page 224 -->
-<h3><a name="7.12" href="#7.12">7.12 Mathematics <math.h></a></h3>
+<h3><a name="7.12" href="#7.12">7.12 Mathematics <math.h></a></h3>
<p><!--para 1 -->
The header <a href="#7.12"><math.h></a> declares two types and many mathematical functions and defines
several macros. Most synopses specify a family of functions consisting of a principal
The isunordered macro returns 1 if its arguments are unordered and 0 otherwise.
<!--page 255 -->
-<h3><a name="7.13" href="#7.13">7.13 Nonlocal jumps <setjmp.h></a></h3>
+<h3><a name="7.13" href="#7.13">7.13 Nonlocal jumps <setjmp.h></a></h3>
<p><!--para 1 -->
The header <a href="#7.13"><setjmp.h></a> defines the macro setjmp, and declares one function and
one type, for bypassing the normal function call and return discipline.<sup><a href="#note216"><b>216)</b></a></sup>
<p><small><a name="note218" href="#note218">218)</a> This includes, but is not limited to, the floating-point status flags and the state of open files.
</small>
-<h3><a name="7.14" href="#7.14">7.14 Signal handling <signal.h></a></h3>
+<h3><a name="7.14" href="#7.14">7.14 Signal handling <signal.h></a></h3>
<p><!--para 1 -->
The header <a href="#7.14"><signal.h></a> declares a type and two functions and defines several macros,
for handling various signals (conditions that may be reported during program execution).
The raise function returns zero if successful, nonzero if unsuccessful.
<!--page 261 -->
-<h3><a name="7.15" href="#7.15">7.15 Variable arguments <stdarg.h></a></h3>
+<h3><a name="7.15" href="#7.15">7.15 Variable arguments <stdarg.h></a></h3>
<p><!--para 1 -->
The header <a href="#7.15"><stdarg.h></a> declares a type and defines four macros, for advancing
through a list of arguments whose number and types are not known to the called function
}
</pre>
-<h3><a name="7.16" href="#7.16">7.16 Boolean type and values <stdbool.h></a></h3>
+<h3><a name="7.16" href="#7.16">7.16 Boolean type and values <stdbool.h></a></h3>
<p><!--para 1 -->
The header <a href="#7.16"><stdbool.h></a> defines four macros.
<p><!--para 2 -->
<p><small><a name="note222" href="#note222">222)</a> See ''future library directions'' (<a href="#7.26.7">7.26.7</a>).
</small>
-<h3><a name="7.17" href="#7.17">7.17 Common definitions <stddef.h></a></h3>
+<h3><a name="7.17" href="#7.17">7.17 Common definitions <stddef.h></a></h3>
<p><!--para 1 -->
The following types and macros are defined in the standard header <a href="#7.17"><stddef.h></a>. Some
are also defined in other headers, as noted in their respective subclauses.
<p><b> Forward references</b>: localization (<a href="#7.11">7.11</a>).
<!--page 267 -->
-<h3><a name="7.18" href="#7.18">7.18 Integer types <stdint.h></a></h3>
+<h3><a name="7.18" href="#7.18">7.18 Integer types <stdint.h></a></h3>
<p><!--para 1 -->
The header <a href="#7.18"><stdint.h></a> declares sets of integer types having specified widths, and
defines corresponding sets of macros.<sup><a href="#note223"><b>223)</b></a></sup> It also defines macros that specify limits of
UINTMAX_C(value)
</pre>
-<h3><a name="7.19" href="#7.19">7.19 Input/output <stdio.h></a></h3>
+<h3><a name="7.19" href="#7.19">7.19 Input/output <stdio.h></a></h3>
<h4><a name="7.19.1" href="#7.19.1">7.19.1 Introduction</a></h4>
<p><!--para 1 -->
<p><b> Forward references</b>: the strerror function (<a href="#7.21.6.2">7.21.6.2</a>).
<!--page 318 -->
-<h3><a name="7.20" href="#7.20">7.20 General utilities <stdlib.h></a></h3>
+<h3><a name="7.20" href="#7.20">7.20 General utilities <stdlib.h></a></h3>
<p><!--para 1 -->
The header <a href="#7.20"><stdlib.h></a> declares five types and several functions of general utility, and
defines several macros.<sup><a href="#note257"><b>257)</b></a></sup>
any.<sup><a href="#note267"><b>267)</b></a></sup>
<!--page 337 -->
-<h3><a name="7.21" href="#7.21">7.21 String handling <string.h></a></h3>
+<h3><a name="7.21" href="#7.21">7.21 String handling <string.h></a></h3>
<h4><a name="7.21.1" href="#7.21.1">7.21.1 String function conventions</a></h4>
<p><!--para 1 -->
character.
<!--page 347 -->
-<h3><a name="7.22" href="#7.22">7.22 Type-generic math <tgmath.h></a></h3>
+<h3><a name="7.22" href="#7.22">7.22 Type-generic math <tgmath.h></a></h3>
<p><!--para 1 -->
The header <a href="#7.22"><tgmath.h></a> includes the headers <a href="#7.12"><math.h></a> and <a href="#7.3"><complex.h></a> and
defines several type-generic macros.
the behavior is undefined.
</small>
-<h3><a name="7.23" href="#7.23">7.23 Date and time <time.h></a></h3>
+<h3><a name="7.23" href="#7.23">7.23 Date and time <time.h></a></h3>
<h4><a name="7.23.1" href="#7.23.1">7.23.1 Components of time</a></h4>
<p><!--para 1 -->
zero is returned and the contents of the array are indeterminate.
<!--page 360 -->
-<h3><a name="7.24" href="#7.24">7.24 Extended multibyte and wide character utilities <wchar.h></a></h3>
+<h3><a name="7.24" href="#7.24">7.24 Extended multibyte and wide character utilities <wchar.h></a></h3>
<h4><a name="7.24.1" href="#7.24.1">7.24.1 Introduction</a></h4>
<p><!--para 1 -->
include those necessary to reach the initial shift state immediately before the null byte.
</small>
-<h3><a name="7.25" href="#7.25">7.25 Wide character classification and mapping utilities <wctype.h></a></h3>
+<h3><a name="7.25" href="#7.25">7.25 Wide character classification and mapping utilities <wctype.h></a></h3>
<h4><a name="7.25.1" href="#7.25.1">7.25.1 Introduction</a></h4>
<p><!--para 1 -->
The following names are grouped under individual headers for convenience. All external
names described below are reserved no matter what headers are included by the program.
-<h4><a name="7.26.1" href="#7.26.1">7.26.1 Complex arithmetic <complex.h></a></h4>
+<h4><a name="7.26.1" href="#7.26.1">7.26.1 Complex arithmetic <complex.h></a></h4>
<p><!--para 1 -->
The function names
<pre>
and the same names suffixed with f or l may be added to the declarations in the
<a href="#7.3"><complex.h></a> header.
-<h4><a name="7.26.2" href="#7.26.2">7.26.2 Character handling <ctype.h></a></h4>
+<h4><a name="7.26.2" href="#7.26.2">7.26.2 Character handling <ctype.h></a></h4>
<p><!--para 1 -->
Function names that begin with either is or to, and a lowercase letter may be added to
the declarations in the <a href="#7.4"><ctype.h></a> header.
-<h4><a name="7.26.3" href="#7.26.3">7.26.3 Errors <errno.h></a></h4>
+<h4><a name="7.26.3" href="#7.26.3">7.26.3 Errors <errno.h></a></h4>
<p><!--para 1 -->
Macros that begin with E and a digit or E and an uppercase letter may be added to the
declarations in the <a href="#7.5"><errno.h></a> header.
-<h4><a name="7.26.4" href="#7.26.4">7.26.4 Format conversion of integer types <inttypes.h></a></h4>
+<h4><a name="7.26.4" href="#7.26.4">7.26.4 Format conversion of integer types <inttypes.h></a></h4>
<p><!--para 1 -->
Macro names beginning with PRI or SCN followed by any lowercase letter or X may be
added to the macros defined in the <a href="#7.8"><inttypes.h></a> header.
-<h4><a name="7.26.5" href="#7.26.5">7.26.5 Localization <locale.h></a></h4>
+<h4><a name="7.26.5" href="#7.26.5">7.26.5 Localization <locale.h></a></h4>
<p><!--para 1 -->
Macros that begin with LC_ and an uppercase letter may be added to the definitions in
the <a href="#7.11"><locale.h></a> header.
-<h4><a name="7.26.6" href="#7.26.6">7.26.6 Signal handling <signal.h></a></h4>
+<h4><a name="7.26.6" href="#7.26.6">7.26.6 Signal handling <signal.h></a></h4>
<p><!--para 1 -->
Macros that begin with either SIG and an uppercase letter or SIG_ and an uppercase
letter may be added to the definitions in the <a href="#7.14"><signal.h></a> header.
-<h4><a name="7.26.7" href="#7.26.7">7.26.7 Boolean type and values <stdbool.h></a></h4>
+<h4><a name="7.26.7" href="#7.26.7">7.26.7 Boolean type and values <stdbool.h></a></h4>
<p><!--para 1 -->
The ability to undefine and perhaps then redefine the macros bool, true, and false is
an obsolescent feature.
-<h4><a name="7.26.8" href="#7.26.8">7.26.8 Integer types <stdint.h></a></h4>
+<h4><a name="7.26.8" href="#7.26.8">7.26.8 Integer types <stdint.h></a></h4>
<p><!--para 1 -->
Typedef names beginning with int or uint and ending with _t may be added to the
types defined in the <a href="#7.18"><stdint.h></a> header. Macro names beginning with INT or UINT
<a href="#7.18"><stdint.h></a> header.
<!--page 414 -->
-<h4><a name="7.26.9" href="#7.26.9">7.26.9 Input/output <stdio.h></a></h4>
+<h4><a name="7.26.9" href="#7.26.9">7.26.9 Input/output <stdio.h></a></h4>
<p><!--para 1 -->
Lowercase letters may be added to the conversion specifiers and length modifiers in
fprintf and fscanf. Other characters may be used in extensions.
The use of ungetc on a binary stream where the file position indicator is zero prior to
the call is an obsolescent feature.
-<h4><a name="7.26.10" href="#7.26.10">7.26.10 General utilities <stdlib.h></a></h4>
+<h4><a name="7.26.10" href="#7.26.10">7.26.10 General utilities <stdlib.h></a></h4>
<p><!--para 1 -->
Function names that begin with str and a lowercase letter may be added to the
declarations in the <a href="#7.20"><stdlib.h></a> header.
-<h4><a name="7.26.11" href="#7.26.11">7.26.11 String handling <string.h></a></h4>
+<h4><a name="7.26.11" href="#7.26.11">7.26.11 String handling <string.h></a></h4>
<p><!--para 1 -->
Function names that begin with str, mem, or wcs and a lowercase letter may be added
to the declarations in the <a href="#7.21"><string.h></a> header.
-<h4><a name="7.26.12" href="#7.26.12">7.26.12 Extended multibyte and wide character utilities <wchar.h></a></h4>
+<h4><a name="7.26.12" href="#7.26.12">7.26.12 Extended multibyte and wide character utilities <wchar.h></a></h4>
<p><!--para 1 -->
Function names that begin with wcs and a lowercase letter may be added to the
declarations in the <a href="#7.24"><wchar.h></a> header.
Library summary
</pre>
-<h3><a name="B.1" href="#B.1">B.1 Diagnostics <assert.h></a></h3>
+<h3><a name="B.1" href="#B.1">B.1 Diagnostics <assert.h></a></h3>
<pre>
NDEBUG
void assert(scalar expression);
</pre>
-<h3><a name="B.2" href="#B.2">B.2 Complex <complex.h></a></h3>
+<h3><a name="B.2" href="#B.2">B.2 Complex <complex.h></a></h3>
<!--page 432 -->
<!--page 433 -->
<pre>
long double creall(long double complex z);
</pre>
-<h3><a name="B.3" href="#B.3">B.3 Character handling <ctype.h></a></h3>
+<h3><a name="B.3" href="#B.3">B.3 Character handling <ctype.h></a></h3>
<pre>
int isalnum(int c);
int isalpha(int c);
int toupper(int c);
</pre>
-<h3><a name="B.4" href="#B.4">B.4 Errors <errno.h></a></h3>
+<h3><a name="B.4" href="#B.4">B.4 Errors <errno.h></a></h3>
<pre>
EDOM EILSEQ ERANGE errno
</pre>
-<h3><a name="B.5" href="#B.5">B.5 Floating-point environment <fenv.h></a></h3>
+<h3><a name="B.5" href="#B.5">B.5 Floating-point environment <fenv.h></a></h3>
<!--page 434 -->
<pre>
fenv_t FE_OVERFLOW FE_TOWARDZERO
int feupdateenv(const fenv_t *envp);
</pre>
-<h3><a name="B.6" href="#B.6">B.6 Characteristics of floating types <float.h></a></h3>
+<h3><a name="B.6" href="#B.6">B.6 Characteristics of floating types <float.h></a></h3>
<pre>
FLT_ROUNDS DBL_MIN_EXP FLT_MAX
FLT_EVAL_METHOD LDBL_MIN_EXP DBL_MAX
FLT_MIN_EXP LDBL_MAX_10_EXP
</pre>
-<h3><a name="B.7" href="#B.7">B.7 Format conversion of integer types <inttypes.h></a></h3>
+<h3><a name="B.7" href="#B.7">B.7 Format conversion of integer types <inttypes.h></a></h3>
<!--page 435 -->
<pre>
imaxdiv_t
wchar_t ** restrict endptr, int base);
</pre>
-<h3><a name="B.8" href="#B.8">B.8 Alternative spellings <iso646.h></a></h3>
+<h3><a name="B.8" href="#B.8">B.8 Alternative spellings <iso646.h></a></h3>
<pre>
and bitor not_eq xor
and_eq compl or xor_eq
bitand not or_eq
</pre>
-<h3><a name="B.9" href="#B.9">B.9 Sizes of integer types <limits.h></a></h3>
+<h3><a name="B.9" href="#B.9">B.9 Sizes of integer types <limits.h></a></h3>
<pre>
CHAR_BIT CHAR_MAX INT_MIN ULONG_MAX
SCHAR_MIN MB_LEN_MAX INT_MAX LLONG_MIN
CHAR_MIN USHRT_MAX LONG_MAX
</pre>
-<h3><a name="B.10" href="#B.10">B.10 Localization <locale.h></a></h3>
+<h3><a name="B.10" href="#B.10">B.10 Localization <locale.h></a></h3>
<pre>
struct lconv LC_ALL LC_CTYPE LC_NUMERIC
NULL LC_COLLATE LC_MONETARY LC_TIME
struct lconv *localeconv(void);
</pre>
-<h3><a name="B.11" href="#B.11">B.11 Mathematics <math.h></a></h3>
+<h3><a name="B.11" href="#B.11">B.11 Mathematics <math.h></a></h3>
<!--page 436 -->
<!--page 437 -->
<!--page 438 -->
int isunordered(real-floating x, real-floating y);
</pre>
-<h3><a name="B.12" href="#B.12">B.12 Nonlocal jumps <setjmp.h></a></h3>
+<h3><a name="B.12" href="#B.12">B.12 Nonlocal jumps <setjmp.h></a></h3>
<pre>
jmp_buf
int setjmp(jmp_buf env);
void longjmp(jmp_buf env, int val);
</pre>
-<h3><a name="B.13" href="#B.13">B.13 Signal handling <signal.h></a></h3>
+<h3><a name="B.13" href="#B.13">B.13 Signal handling <signal.h></a></h3>
<pre>
sig_atomic_t SIG_IGN SIGILL SIGTERM
SIG_DFL SIGABRT SIGINT
int raise(int sig);
</pre>
-<h3><a name="B.14" href="#B.14">B.14 Variable arguments <stdarg.h></a></h3>
+<h3><a name="B.14" href="#B.14">B.14 Variable arguments <stdarg.h></a></h3>
<pre>
va_list
type va_arg(va_list ap, type);
void va_start(va_list ap, parmN);
</pre>
-<h3><a name="B.15" href="#B.15">B.15 Boolean type and values <stdbool.h></a></h3>
+<h3><a name="B.15" href="#B.15">B.15 Boolean type and values <stdbool.h></a></h3>
<!--page 441 -->
<pre>
bool
__bool_true_false_are_defined
</pre>
-<h3><a name="B.16" href="#B.16">B.16 Common definitions <stddef.h></a></h3>
+<h3><a name="B.16" href="#B.16">B.16 Common definitions <stddef.h></a></h3>
<pre>
ptrdiff_t size_t wchar_t NULL
offsetof(type, member-designator)
</pre>
-<h3><a name="B.17" href="#B.17">B.17 Integer types <stdint.h></a></h3>
+<h3><a name="B.17" href="#B.17">B.17 Integer types <stdint.h></a></h3>
<pre>
intN_t INT_LEASTN_MIN PTRDIFF_MAX
uintN_t INT_LEASTN_MAX SIG_ATOMIC_MIN
UINTN_MAX PTRDIFF_MIN
</pre>
-<h3><a name="B.18" href="#B.18">B.18 Input/output <stdio.h></a></h3>
+<h3><a name="B.18" href="#B.18">B.18 Input/output <stdio.h></a></h3>
<!--page 442 -->
<!--page 443 -->
<pre>
void perror(const char *s);
</pre>
-<h3><a name="B.19" href="#B.19">B.19 General utilities <stdlib.h></a></h3>
+<h3><a name="B.19" href="#B.19">B.19 General utilities <stdlib.h></a></h3>
<!--page 444 -->
<!--page 445 -->
<pre>
const wchar_t * restrict pwcs, size_t n);
</pre>
-<h3><a name="B.20" href="#B.20">B.20 String handling <string.h></a></h3>
+<h3><a name="B.20" href="#B.20">B.20 String handling <string.h></a></h3>
<!--page 446 -->
<pre>
size_t
size_t strlen(const char *s);
</pre>
-<h3><a name="B.21" href="#B.21">B.21 Type-generic math <tgmath.h></a></h3>
+<h3><a name="B.21" href="#B.21">B.21 Type-generic math <tgmath.h></a></h3>
<pre>
acos sqrt fmod nextafter
asin fabs frexp nexttoward
pow fmin nearbyint creal
</pre>
-<h3><a name="B.22" href="#B.22">B.22 Date and time <time.h></a></h3>
+<h3><a name="B.22" href="#B.22">B.22 Date and time <time.h></a></h3>
<!--page 447 -->
<pre>
NULL size_t time_t
const struct tm * restrict timeptr);
</pre>
-<h3><a name="B.23" href="#B.23">B.23 Extended multibyte/wide character utilities <wchar.h></a></h3>
+<h3><a name="B.23" href="#B.23">B.23 Extended multibyte/wide character utilities <wchar.h></a></h3>
<!--page 448 -->
<!--page 449 -->
<pre>
mbstate_t * restrict ps);
</pre>
-<h3><a name="B.24" href="#B.24">B.24 Wide character classification and mapping utilities <wctype.h></a></h3>
+<h3><a name="B.24" href="#B.24">B.24 Wide character classification and mapping utilities <wctype.h></a></h3>
<!--page 450 -->
<!--page 451 -->
<pre>
<p><small><a name="note319" href="#note319">319)</a> 0 - 0 yields -0 instead of +0 just when the rounding direction is downward.
</small>
-<h3><a name="F.9" href="#F.9">F.9 Mathematics <math.h></a></h3>
+<h3><a name="F.9" href="#F.9">F.9 Mathematics <math.h></a></h3>
<p><!--para 1 -->
This subclause contains specifications of <a href="#7.12"><math.h></a> facilities that are particularly suited
for IEC 60559 implementations.
x + iy (x (+-) u) + iy x + i(y (+-) v) (x (+-) u) + i(y (+-) v)
</pre>
-<h3><a name="G.6" href="#G.6">G.6 Complex arithmetic <complex.h></a></h3>
+<h3><a name="G.6" href="#G.6">G.6 Complex arithmetic <complex.h></a></h3>
<p><!--para 1 -->
The macros
<pre>
<!--page 492 -->
</ul>
-<h3><a name="G.7" href="#G.7">G.7 Type-generic math <tgmath.h></a></h3>
+<h3><a name="G.7" href="#G.7">G.7 Type-generic math <tgmath.h></a></h3>
<p><!--para 1 -->
Type-generic macros that accept complex arguments also accept imaginary arguments. If
an argument is imaginary, the macro expands to an expression whose type is real,
<li><a href="#7.30.10"> 7.30.10 General utilities <stdlib.h></a>
<li><a href="#7.30.11"> 7.30.11 String handling <string.h></a>
<!--page 9 -->
-<li><a href="#7.30.12"> 7.30.12 Extended multibyte and wide character utilities <wchar.h></a>
-<li><a href="#7.30.13"> 7.30.13 Wide character classification and mapping utilities <wctype.h></a>
+<li><a href="#7.30.12"> 7.30.12 Extended multibyte and wide character utilities <wchar.h></a>
+<li><a href="#7.30.13"> 7.30.13 Wide character classification and mapping utilities <wctype.h></a>
</ul>
</ul>
<li><a href="#A">Annex A (informative) Language syntax summary</a>
<li><a href="#K.3.8.1"> K.3.8.1 Components of time</a>
<li><a href="#K.3.8.2"> K.3.8.2 Time conversion functions</a>
</ul>
-<li><a href="#K.3.9"> K.3.9 Extended multibyte and wide character utilities <wchar.h></a>
+<li><a href="#K.3.9"> K.3.9 Extended multibyte and wide character utilities <wchar.h></a>
<ul>
<li><a href="#K.3.9.1"> K.3.9.1 Formatted wide character input/output functions</a>
<li><a href="#K.3.9.2"> K.3.9.2 General wide string utilities</a>
specified in <a href="#7.20"><stdint.h></a>.
<p><b> Forward references</b>: integer types <a href="#7.20"><stdint.h></a> (<a href="#7.20">7.20</a>).
-<h5><a name="5.2.4.2.1" href="#5.2.4.2.1">5.2.4.2.1 Sizes of integer types <limits.h></a></h5>
+<h5><a name="5.2.4.2.1" href="#5.2.4.2.1">5.2.4.2.1 Sizes of integer types <limits.h></a></h5>
<p><!--para 1 -->
The values given below shall be replaced by constant expressions suitable for use in #if
preprocessing directives. Moreover, except for CHAR_BIT and MB_LEN_MAX, the
<p><small><a name="note20" href="#note20">20)</a> See <a href="#6.2.5">6.2.5</a>.
</small>
-<h5><a name="5.2.4.2.2" href="#5.2.4.2.2">5.2.4.2.2 Characteristics of floating types <float.h></a></h5>
+<h5><a name="5.2.4.2.2" href="#5.2.4.2.2">5.2.4.2.2 Characteristics of floating types <float.h></a></h5>
<p><!--para 1 -->
The characteristics of floating types are defined in terms of a model that describes a
representation of floating-point numbers and values that provide information about an
<p><small><a name="note190" href="#note190">190)</a> This allows implementations to parallelize operations if there are no visible side effects.
</small>
-<h3><a name="7.2" href="#7.2">7.2 Diagnostics <assert.h></a></h3>
+<h3><a name="7.2" href="#7.2">7.2 Diagnostics <assert.h></a></h3>
<p><!--para 1 -->
The header <a href="#7.2"><assert.h></a> defines the assert and static_assert macros and
refers to another macro,
Assertion failed: expression, function abc, file xyz, line nnn.
</small>
-<h3><a name="7.3" href="#7.3">7.3 Complex arithmetic <complex.h></a></h3>
+<h3><a name="7.3" href="#7.3">7.3 Complex arithmetic <complex.h></a></h3>
<h4><a name="7.3.1" href="#7.3.1">7.3.1 Introduction</a></h4>
<p><!--para 1 -->
<p><small><a name="note197" href="#note197">197)</a> For a variable z of complex type, z == creal(z) + cimag(z)*I.
</small>
-<h3><a name="7.4" href="#7.4">7.4 Character handling <ctype.h></a></h3>
+<h3><a name="7.4" href="#7.4">7.4 Character handling <ctype.h></a></h3>
<p><!--para 1 -->
The header <a href="#7.4"><ctype.h></a> declares several functions useful for classifying and mapping
characters.<sup><a href="#note198"><b>198)</b></a></sup> In all cases the argument is an int, the value of which shall be
for any given locale); otherwise, the argument is returned unchanged.
<!--page 222 -->
-<h3><a name="7.5" href="#7.5">7.5 Errors <errno.h></a></h3>
+<h3><a name="7.5" href="#7.5">7.5 Errors <errno.h></a></h3>
<p><!--para 1 -->
The header <a href="#7.5"><errno.h></a> defines several macros, all relating to the reporting of error
conditions.
<p><small><a name="note203" href="#note203">203)</a> See ''future library directions'' (<a href="#7.30.3">7.30.3</a>).
</small>
-<h3><a name="7.6" href="#7.6">7.6 Floating-point environment <fenv.h></a></h3>
+<h3><a name="7.6" href="#7.6">7.6 Floating-point environment <fenv.h></a></h3>
<p><!--para 1 -->
The header <a href="#7.6"><fenv.h></a> defines several macros, and declares types and functions that
provide access to the floating-point environment. The floating-point environment refers
}
</pre>
-<h3><a name="7.7" href="#7.7">7.7 Characteristics of floating types <float.h></a></h3>
+<h3><a name="7.7" href="#7.7">7.7 Characteristics of floating types <float.h></a></h3>
<p><!--para 1 -->
The header <a href="#7.7"><float.h></a> defines several macros that expand to various limits and
parameters of the standard floating-point types.
in <a href="#5.2.4.2.2">5.2.4.2.2</a>.
<!--page 234 -->
-<h3><a name="7.8" href="#7.8">7.8 Format conversion of integer types <inttypes.h></a></h3>
+<h3><a name="7.8" href="#7.8">7.8 Format conversion of integer types <inttypes.h></a></h3>
<p><!--para 1 -->
The header <a href="#7.8"><inttypes.h></a> includes the header <a href="#7.20"><stdint.h></a> and extends it with
additional facilities provided by hosted implementations.
(<a href="#7.28.4.1.2">7.28.4.1.2</a>).
<!--page 238 -->
-<h3><a name="7.9" href="#7.9">7.9 Alternative spellings <iso646.h></a></h3>
+<h3><a name="7.9" href="#7.9">7.9 Alternative spellings <iso646.h></a></h3>
<p><!--para 1 -->
The header <a href="#7.9"><iso646.h></a> defines the following eleven macros (on the left) that expand
to the corresponding tokens (on the right):
xor_eq ^=
</pre>
-<h3><a name="7.10" href="#7.10">7.10 Sizes of integer types <limits.h></a></h3>
+<h3><a name="7.10" href="#7.10">7.10 Sizes of integer types <limits.h></a></h3>
<p><!--para 1 -->
The header <a href="#7.10"><limits.h></a> defines several macros that expand to various limits and
parameters of the standard integer types.
in <a href="#5.2.4.2.1">5.2.4.2.1</a>.
<!--page 240 -->
-<h3><a name="7.11" href="#7.11">7.11 Localization <locale.h></a></h3>
+<h3><a name="7.11" href="#7.11">7.11 Localization <locale.h></a></h3>
<p><!--para 1 -->
The header <a href="#7.11"><locale.h></a> declares two functions, one type, and defines several macros.
<p><!--para 2 -->
4 $+1.25 $+ <a href="#1.25">1.25</a> $ +1.25
</pre>
-<h3><a name="7.12" href="#7.12">7.12 Mathematics <math.h></a></h3>
+<h3><a name="7.12" href="#7.12">7.12 Mathematics <math.h></a></h3>
<p><!--para 1 -->
The header <a href="#7.12"><math.h></a> declares two types and many mathematical functions and defines
several macros. Most synopses specify a family of functions consisting of a principal
The isunordered macro returns 1 if its arguments are unordered and 0 otherwise.
<!--page 279 -->
-<h3><a name="7.13" href="#7.13">7.13 Nonlocal jumps <setjmp.h></a></h3>
+<h3><a name="7.13" href="#7.13">7.13 Nonlocal jumps <setjmp.h></a></h3>
<p><!--para 1 -->
The header <a href="#7.13"><setjmp.h></a> defines the macro setjmp, and declares one function and
one type, for bypassing the normal function call and return discipline.<sup><a href="#note244"><b>244)</b></a></sup>
<p><small><a name="note246" href="#note246">246)</a> This includes, but is not limited to, the floating-point status flags and the state of open files.
</small>
-<h3><a name="7.14" href="#7.14">7.14 Signal handling <signal.h></a></h3>
+<h3><a name="7.14" href="#7.14">7.14 Signal handling <signal.h></a></h3>
<p><!--para 1 -->
The header <a href="#7.14"><signal.h></a> declares a type and two functions and defines several macros,
for handling various signals (conditions that may be reported during program execution).
The raise function returns zero if successful, nonzero if unsuccessful.
<!--page 285 -->
-<h3><a name="7.15" href="#7.15">7.15 Alignment <stdalign.h></a></h3>
+<h3><a name="7.15" href="#7.15">7.15 Alignment <stdalign.h></a></h3>
<p><!--para 1 -->
The header <a href="#7.15"><stdalign.h></a> defines two macros.
<p><!--para 2 -->
which expands to the integer constant 1.
<!--page 286 -->
-<h3><a name="7.16" href="#7.16">7.16 Variable arguments <stdarg.h></a></h3>
+<h3><a name="7.16" href="#7.16">7.16 Variable arguments <stdarg.h></a></h3>
<p><!--para 1 -->
The header <a href="#7.16"><stdarg.h></a> declares a type and defines four macros, for advancing
through a list of arguments whose number and types are not known to the called function
}
</pre>
-<h3><a name="7.17" href="#7.17">7.17 Atomics <stdatomic.h></a></h3>
+<h3><a name="7.17" href="#7.17">7.17 Atomics <stdatomic.h></a></h3>
<h4><a name="7.17.1" href="#7.17.1">7.17.1 Introduction</a></h4>
<p><!--para 1 -->
The atomic_flag_clear functions return no value.
<!--page 304 -->
-<h3><a name="7.18" href="#7.18">7.18 Boolean type and values <stdbool.h></a></h3>
+<h3><a name="7.18" href="#7.18">7.18 Boolean type and values <stdbool.h></a></h3>
<p><!--para 1 -->
The header <a href="#7.18"><stdbool.h></a> defines four macros.
<p><!--para 2 -->
<p><small><a name="note252" href="#note252">252)</a> See ''future library directions'' (<a href="#7.30.7">7.30.7</a>).
</small>
-<h3><a name="7.19" href="#7.19">7.19 Common definitions <stddef.h></a></h3>
+<h3><a name="7.19" href="#7.19">7.19 Common definitions <stddef.h></a></h3>
<p><!--para 1 -->
The header <a href="#7.19"><stddef.h></a> defines the following macros and declares the following types.
Some are also defined in other headers, as noted in their respective subclauses.
<p><b> Forward references</b>: localization (<a href="#7.11">7.11</a>).
<!--page 307 -->
-<h3><a name="7.20" href="#7.20">7.20 Integer types <stdint.h></a></h3>
+<h3><a name="7.20" href="#7.20">7.20 Integer types <stdint.h></a></h3>
<p><!--para 1 -->
The header <a href="#7.20"><stdint.h></a> declares sets of integer types having specified widths, and
defines corresponding sets of macros.<sup><a href="#note253"><b>253)</b></a></sup> It also defines macros that specify limits of
UINTMAX_C(value)
</pre>
-<h3><a name="7.21" href="#7.21">7.21 Input/output <stdio.h></a></h3>
+<h3><a name="7.21" href="#7.21">7.21 Input/output <stdio.h></a></h3>
<h4><a name="7.21.1" href="#7.21.1">7.21.1 Introduction</a></h4>
<p><!--para 1 -->
<p><b> Forward references</b>: the strerror function (<a href="#7.23.6.2">7.23.6.2</a>).
<!--page 358 -->
-<h3><a name="7.22" href="#7.22">7.22 General utilities <stdlib.h></a></h3>
+<h3><a name="7.22" href="#7.22">7.22 General utilities <stdlib.h></a></h3>
<p><!--para 1 -->
The header <a href="#7.22"><stdlib.h></a> declares five types and several functions of general utility, and
defines several macros.<sup><a href="#note284"><b>284)</b></a></sup>
<!--page 378 -->
-<h3><a name="7.23" href="#7.23">7.23 String handling <string.h></a></h3>
+<h3><a name="7.23" href="#7.23">7.23 String handling <string.h></a></h3>
<h4><a name="7.23.1" href="#7.23.1">7.23.1 String function conventions</a></h4>
<p><!--para 1 -->
character.
<!--page 388 -->
-<h3><a name="7.24" href="#7.24">7.24 Type-generic math <tgmath.h></a></h3>
+<h3><a name="7.24" href="#7.24">7.24 Type-generic math <tgmath.h></a></h3>
<p><!--para 1 -->
The header <a href="#7.24"><tgmath.h></a> includes the headers <a href="#7.12"><math.h></a> and <a href="#7.3"><complex.h></a> and
defines several type-generic macros.
the behavior is undefined.
</small>
-<h3><a name="7.25" href="#7.25">7.25 Threads <threads.h></a></h3>
+<h3><a name="7.25" href="#7.25">7.25 Threads <threads.h></a></h3>
<h4><a name="7.25.1" href="#7.25.1">7.25.1 Introduction</a></h4>
<p><!--para 1 -->
xtime object is system dependent.
</small>
-<h3><a name="7.26" href="#7.26">7.26 Date and time <time.h></a></h3>
+<h3><a name="7.26" href="#7.26">7.26 Date and time <time.h></a></h3>
<h4><a name="7.26.1" href="#7.26.1">7.26.1 Components of time</a></h4>
<p><!--para 1 -->
zero is returned and the contents of the array are indeterminate.
<!--page 413 -->
-<h3><a name="7.27" href="#7.27">7.27 Unicode utilities <uchar.h></a></h3>
+<h3><a name="7.27" href="#7.27">7.27 Unicode utilities <uchar.h></a></h3>
<p><!--para 1 -->
The header <a href="#7.27"><uchar.h></a> declares types and functions for manipulating Unicode
characters.
<!--page 417 -->
-<h3><a name="7.28" href="#7.28">7.28 Extended multibyte and wide character utilities <wchar.h></a></h3>
+<h3><a name="7.28" href="#7.28">7.28 Extended multibyte and wide character utilities <wchar.h></a></h3>
<h4><a name="7.28.1" href="#7.28.1">7.28.1 Introduction</a></h4>
<p><!--para 1 -->
include those necessary to reach the initial shift state immediately before the null byte.
</small>
-<h3><a name="7.29" href="#7.29">7.29 Wide character classification and mapping utilities <wctype.h></a></h3>
+<h3><a name="7.29" href="#7.29">7.29 Wide character classification and mapping utilities <wctype.h></a></h3>
<h4><a name="7.29.1" href="#7.29.1">7.29.1 Introduction</a></h4>
<p><!--para 1 -->
The following names are grouped under individual headers for convenience. All external
names described below are reserved no matter what headers are included by the program.
-<h4><a name="7.30.1" href="#7.30.1">7.30.1 Complex arithmetic <complex.h></a></h4>
+<h4><a name="7.30.1" href="#7.30.1">7.30.1 Complex arithmetic <complex.h></a></h4>
<p><!--para 1 -->
The function names
<pre>
and the same names suffixed with f or l may be added to the declarations in the
<a href="#7.3"><complex.h></a> header.
-<h4><a name="7.30.2" href="#7.30.2">7.30.2 Character handling <ctype.h></a></h4>
+<h4><a name="7.30.2" href="#7.30.2">7.30.2 Character handling <ctype.h></a></h4>
<p><!--para 1 -->
Function names that begin with either is or to, and a lowercase letter may be added to
the declarations in the <a href="#7.4"><ctype.h></a> header.
-<h4><a name="7.30.3" href="#7.30.3">7.30.3 Errors <errno.h></a></h4>
+<h4><a name="7.30.3" href="#7.30.3">7.30.3 Errors <errno.h></a></h4>
<p><!--para 1 -->
Macros that begin with E and a digit or E and an uppercase letter may be added to the
declarations in the <a href="#7.5"><errno.h></a> header.
-<h4><a name="7.30.4" href="#7.30.4">7.30.4 Format conversion of integer types <inttypes.h></a></h4>
+<h4><a name="7.30.4" href="#7.30.4">7.30.4 Format conversion of integer types <inttypes.h></a></h4>
<p><!--para 1 -->
Macro names beginning with PRI or SCN followed by any lowercase letter or X may be
added to the macros defined in the <a href="#7.8"><inttypes.h></a> header.
-<h4><a name="7.30.5" href="#7.30.5">7.30.5 Localization <locale.h></a></h4>
+<h4><a name="7.30.5" href="#7.30.5">7.30.5 Localization <locale.h></a></h4>
<p><!--para 1 -->
Macros that begin with LC_ and an uppercase letter may be added to the definitions in
the <a href="#7.11"><locale.h></a> header.
-<h4><a name="7.30.6" href="#7.30.6">7.30.6 Signal handling <signal.h></a></h4>
+<h4><a name="7.30.6" href="#7.30.6">7.30.6 Signal handling <signal.h></a></h4>
<p><!--para 1 -->
Macros that begin with either SIG and an uppercase letter or SIG_ and an uppercase
letter may be added to the definitions in the <a href="#7.14"><signal.h></a> header.
-<h4><a name="7.30.7" href="#7.30.7">7.30.7 Boolean type and values <stdbool.h></a></h4>
+<h4><a name="7.30.7" href="#7.30.7">7.30.7 Boolean type and values <stdbool.h></a></h4>
<p><!--para 1 -->
The ability to undefine and perhaps then redefine the macros bool, true, and false is
an obsolescent feature.
-<h4><a name="7.30.8" href="#7.30.8">7.30.8 Integer types <stdint.h></a></h4>
+<h4><a name="7.30.8" href="#7.30.8">7.30.8 Integer types <stdint.h></a></h4>
<p><!--para 1 -->
Typedef names beginning with int or uint and ending with _t may be added to the
types defined in the <a href="#7.20"><stdint.h></a> header. Macro names beginning with INT or UINT
<a href="#7.20"><stdint.h></a> header.
<!--page 471 -->
-<h4><a name="7.30.9" href="#7.30.9">7.30.9 Input/output <stdio.h></a></h4>
+<h4><a name="7.30.9" href="#7.30.9">7.30.9 Input/output <stdio.h></a></h4>
<p><!--para 1 -->
Lowercase letters may be added to the conversion specifiers and length modifiers in
fprintf and fscanf. Other characters may be used in extensions.
The use of ungetc on a binary stream where the file position indicator is zero prior to *
the call is an obsolescent feature.
-<h4><a name="7.30.10" href="#7.30.10">7.30.10 General utilities <stdlib.h></a></h4>
+<h4><a name="7.30.10" href="#7.30.10">7.30.10 General utilities <stdlib.h></a></h4>
<p><!--para 1 -->
Function names that begin with str and a lowercase letter may be added to the
declarations in the <a href="#7.22"><stdlib.h></a> header.
-<h4><a name="7.30.11" href="#7.30.11">7.30.11 String handling <string.h></a></h4>
+<h4><a name="7.30.11" href="#7.30.11">7.30.11 String handling <string.h></a></h4>
<p><!--para 1 -->
Function names that begin with str, mem, or wcs and a lowercase letter may be added
to the declarations in the <a href="#7.23"><string.h></a> header.
-<h4><a name="7.30.12" href="#7.30.12">7.30.12 Extended multibyte and wide character utilities <wchar.h></a></h4>
+<h4><a name="7.30.12" href="#7.30.12">7.30.12 Extended multibyte and wide character utilities <wchar.h></a></h4>
<p><!--para 1 -->
Function names that begin with wcs and a lowercase letter may be added to the
declarations in the <a href="#7.28"><wchar.h></a> header.
Library summary
</pre>
-<h3><a name="B.1" href="#B.1">B.1 Diagnostics <assert.h></a></h3>
+<h3><a name="B.1" href="#B.1">B.1 Diagnostics <assert.h></a></h3>
<pre>
NDEBUG
static_assert
void assert(scalar expression);
</pre>
-<h3><a name="B.2" href="#B.2">B.2 Complex <complex.h></a></h3>
+<h3><a name="B.2" href="#B.2">B.2 Complex <complex.h></a></h3>
<!--page 490 -->
<!--page 491 -->
<pre>
long double creall(long double complex z);
</pre>
-<h3><a name="B.3" href="#B.3">B.3 Character handling <ctype.h></a></h3>
+<h3><a name="B.3" href="#B.3">B.3 Character handling <ctype.h></a></h3>
<pre>
int isalnum(int c);
int isalpha(int c);
int toupper(int c);
</pre>
-<h3><a name="B.4" href="#B.4">B.4 Errors <errno.h></a></h3>
+<h3><a name="B.4" href="#B.4">B.4 Errors <errno.h></a></h3>
<pre>
EDOM EILSEQ ERANGE errno
__STDC_WANT_LIB_EXT1__
errno_t
</pre>
-<h3><a name="B.5" href="#B.5">B.5 Floating-point environment <fenv.h></a></h3>
+<h3><a name="B.5" href="#B.5">B.5 Floating-point environment <fenv.h></a></h3>
<!--page 492 -->
<pre>
fenv_t FE_OVERFLOW FE_TOWARDZERO
int feupdateenv(const fenv_t *envp);
</pre>
-<h3><a name="B.6" href="#B.6">B.6 Characteristics of floating types <float.h></a></h3>
+<h3><a name="B.6" href="#B.6">B.6 Characteristics of floating types <float.h></a></h3>
<pre>
FLT_ROUNDS DBL_DIG FLT_MAX
FLT_EVAL_METHOD LDBL_DIG DBL_MAX
FLT_DIG LDBL_MAX_10_EXP
</pre>
-<h3><a name="B.7" href="#B.7">B.7 Format conversion of integer types <inttypes.h></a></h3>
+<h3><a name="B.7" href="#B.7">B.7 Format conversion of integer types <inttypes.h></a></h3>
<!--page 493 -->
<pre>
imaxdiv_t
wchar_t ** restrict endptr, int base);
</pre>
-<h3><a name="B.8" href="#B.8">B.8 Alternative spellings <iso646.h></a></h3>
+<h3><a name="B.8" href="#B.8">B.8 Alternative spellings <iso646.h></a></h3>
<pre>
and bitor not_eq xor
and_eq compl or xor_eq
bitand not or_eq
</pre>
-<h3><a name="B.9" href="#B.9">B.9 Sizes of integer types <limits.h></a></h3>
+<h3><a name="B.9" href="#B.9">B.9 Sizes of integer types <limits.h></a></h3>
<pre>
CHAR_BIT CHAR_MAX INT_MIN ULONG_MAX
SCHAR_MIN MB_LEN_MAX INT_MAX LLONG_MIN
CHAR_MIN USHRT_MAX LONG_MAX
</pre>
-<h3><a name="B.10" href="#B.10">B.10 Localization <locale.h></a></h3>
+<h3><a name="B.10" href="#B.10">B.10 Localization <locale.h></a></h3>
<pre>
struct lconv LC_ALL LC_CTYPE LC_NUMERIC
NULL LC_COLLATE LC_MONETARY LC_TIME
struct lconv *localeconv(void);
</pre>
-<h3><a name="B.11" href="#B.11">B.11 Mathematics <math.h></a></h3>
+<h3><a name="B.11" href="#B.11">B.11 Mathematics <math.h></a></h3>
<!--page 494 -->
<!--page 495 -->
<!--page 496 -->
int isunordered(real-floating x, real-floating y);
</pre>
-<h3><a name="B.12" href="#B.12">B.12 Nonlocal jumps <setjmp.h></a></h3>
+<h3><a name="B.12" href="#B.12">B.12 Nonlocal jumps <setjmp.h></a></h3>
<pre>
jmp_buf
int setjmp(jmp_buf env);
_Noreturn void longjmp(jmp_buf env, int val);
</pre>
-<h3><a name="B.13" href="#B.13">B.13 Signal handling <signal.h></a></h3>
+<h3><a name="B.13" href="#B.13">B.13 Signal handling <signal.h></a></h3>
<!--page 499 -->
<pre>
sig_atomic_t SIG_IGN SIGILL SIGTERM
int raise(int sig);
</pre>
-<h3><a name="B.14" href="#B.14">B.14 Alignment <stdalign.h></a></h3>
+<h3><a name="B.14" href="#B.14">B.14 Alignment <stdalign.h></a></h3>
<pre>
alignas
__alignas_is_defined
</pre>
-<h3><a name="B.15" href="#B.15">B.15 Variable arguments <stdarg.h></a></h3>
+<h3><a name="B.15" href="#B.15">B.15 Variable arguments <stdarg.h></a></h3>
<pre>
va_list
type va_arg(va_list ap, type);
void va_start(va_list ap, parmN);
</pre>
-<h3><a name="B.16" href="#B.16">B.16 Atomics <stdatomic.h></a></h3>
+<h3><a name="B.16" href="#B.16">B.16 Atomics <stdatomic.h></a></h3>
<!--page 500 -->
<!--page 501 -->
<pre>
volatile atomic_flag *object, memory_order order);
</pre>
-<h3><a name="B.17" href="#B.17">B.17 Boolean type and values <stdbool.h></a></h3>
+<h3><a name="B.17" href="#B.17">B.17 Boolean type and values <stdbool.h></a></h3>
<pre>
bool
true
__bool_true_false_are_defined
</pre>
-<h3><a name="B.18" href="#B.18">B.18 Common definitions <stddef.h></a></h3>
+<h3><a name="B.18" href="#B.18">B.18 Common definitions <stddef.h></a></h3>
<pre>
ptrdiff_t max_align_t NULL
size_t wchar_t
rsize_t
</pre>
-<h3><a name="B.19" href="#B.19">B.19 Integer types <stdint.h></a></h3>
+<h3><a name="B.19" href="#B.19">B.19 Integer types <stdint.h></a></h3>
<!--page 502 -->
<pre>
intN_t INT_LEASTN_MIN PTRDIFF_MAX
RSIZE_MAX
</pre>
-<h3><a name="B.20" href="#B.20">B.20 Input/output <stdio.h></a></h3>
+<h3><a name="B.20" href="#B.20">B.20 Input/output <stdio.h></a></h3>
<!--page 503 -->
<!--page 504 -->
<!--page 505 -->
char *gets_s(char *s, rsize_t n);
</pre>
-<h3><a name="B.21" href="#B.21">B.21 General utilities <stdlib.h></a></h3>
+<h3><a name="B.21" href="#B.21">B.21 General utilities <stdlib.h></a></h3>
<!--page 506 -->
<!--page 507 -->
<pre>
const wchar_t * restrict src, rsize_t len);
</pre>
-<h3><a name="B.22" href="#B.22">B.22 String handling <string.h></a></h3>
+<h3><a name="B.22" href="#B.22">B.22 String handling <string.h></a></h3>
<!--page 508 -->
<!--page 509 -->
<pre>
size_t strnlen_s(const char *s, size_t maxsize);
</pre>
-<h3><a name="B.23" href="#B.23">B.23 Type-generic math <tgmath.h></a></h3>
+<h3><a name="B.23" href="#B.23">B.23 Type-generic math <tgmath.h></a></h3>
<pre>
acos sqrt fmod nextafter
asin fabs frexp nexttoward
pow fmin nearbyint creal
</pre>
-<h3><a name="B.24" href="#B.24">B.24 Threads <threads.h></a></h3>
+<h3><a name="B.24" href="#B.24">B.24 Threads <threads.h></a></h3>
<!--page 510 -->
<pre>
ONCE_FLAG_INIT mtx_plain
int xtime_get(xtime *xt, int base);
</pre>
-<h3><a name="B.25" href="#B.25">B.25 Date and time <time.h></a></h3>
+<h3><a name="B.25" href="#B.25">B.25 Date and time <time.h></a></h3>
<!--page 511 -->
<pre>
NULL size_t time_t
struct tm * restrict result);
</pre>
-<h3><a name="B.26" href="#B.26">B.26 Unicode utilities <uchar.h></a></h3>
+<h3><a name="B.26" href="#B.26">B.26 Unicode utilities <uchar.h></a></h3>
<pre>
mbstate_t size_t char16_t char32_t
size_t mbrtoc16(char16_t * restrict pc16,
mbstate_t * restrict ps);
</pre>
-<h3><a name="B.27" href="#B.27">B.27 Extended multibyte/wide character utilities <wchar.h></a></h3>
+<h3><a name="B.27" href="#B.27">B.27 Extended multibyte/wide character utilities <wchar.h></a></h3>
<!--page 512 -->
<!--page 513 -->
<!--page 514 -->
mbstate_t * restrict ps);
</pre>
-<h3><a name="B.28" href="#B.28">B.28 Wide character classification and mapping utilities <wctype.h></a></h3>
+<h3><a name="B.28" href="#B.28">B.28 Wide character classification and mapping utilities <wctype.h></a></h3>
<!--page 517 -->
<pre>
wint_t wctrans_t wctype_t WEOF
<p><small><a name="note357" href="#note357">357)</a> 0 - 0 yields -0 instead of +0 just when the rounding direction is downward.
</small>
-<h3><a name="F.10" href="#F.10">F.10 Mathematics <math.h></a></h3>
+<h3><a name="F.10" href="#F.10">F.10 Mathematics <math.h></a></h3>
<p><!--para 1 -->
This subclause contains specifications of <a href="#7.12"><math.h></a> facilities that are particularly suited
for IEC 60559 implementations.
x + iy (x (+-) u) + iy x + i(y (+-) v) (x (+-) u) + i(y (+-) v)
</pre>
-<h3><a name="G.6" href="#G.6">G.6 Complex arithmetic <complex.h></a></h3>
+<h3><a name="G.6" href="#G.6">G.6 Complex arithmetic <complex.h></a></h3>
<p><!--para 1 -->
The macros
<pre>
<!--page 559 -->
</ul>
-<h3><a name="G.7" href="#G.7">G.7 Type-generic math <tgmath.h></a></h3>
+<h3><a name="G.7" href="#G.7">G.7 Type-generic math <tgmath.h></a></h3>
<p><!--para 1 -->
Type-generic macros that accept complex arguments also accept imaginary arguments. If
an argument is imaginary, the macro expands to an expression whose type is real,
from the definition of undefined behavior.
</small>
-<h4><a name="K.3.2" href="#K.3.2">K.3.2 Errors <errno.h></a></h4>
+<h4><a name="K.3.2" href="#K.3.2">K.3.2 Errors <errno.h></a></h4>
<p><!--para 1 -->
The header <a href="#7.5"><errno.h></a> defines a type.
<p><!--para 2 -->
errno might be declared as having the return type errno_t.
</small>
-<h4><a name="K.3.3" href="#K.3.3">K.3.3 Common definitions <stddef.h></a></h4>
+<h4><a name="K.3.3" href="#K.3.3">K.3.3 Common definitions <stddef.h></a></h4>
<p><!--para 1 -->
The header <a href="#7.19"><stddef.h></a> defines a type.
<p><!--para 2 -->
<p><small><a name="note372" href="#note372">372)</a> See the description of the RSIZE_MAX macro in <a href="#7.20"><stdint.h></a>.
</small>
-<h4><a name="K.3.4" href="#K.3.4">K.3.4 Integer types <stdint.h></a></h4>
+<h4><a name="K.3.4" href="#K.3.4">K.3.4 Integer types <stdint.h></a></h4>
<p><!--para 1 -->
The header <a href="#7.20"><stdint.h></a> defines a macro.
<p><!--para 2 -->
<p><small><a name="note373" href="#note373">373)</a> The macro RSIZE_MAX need not expand to a constant expression.
</small>
-<h4><a name="K.3.5" href="#K.3.5">K.3.5 Input/output <stdio.h></a></h4>
+<h4><a name="K.3.5" href="#K.3.5">K.3.5 Input/output <stdio.h></a></h4>
<p><!--para 1 -->
The header <a href="#7.21"><stdio.h></a> defines several macros and two types.
<p><!--para 2 -->
expect such a relationship.
</small>
-<h4><a name="K.3.6" href="#K.3.6">K.3.6 General utilities <stdlib.h></a></h4>
+<h4><a name="K.3.6" href="#K.3.6">K.3.6 General utilities <stdlib.h></a></h4>
<p><!--para 1 -->
The header <a href="#7.22"><stdlib.h></a> defines three types.
<p><!--para 2 -->
runtime-constraint violation.
</small>
-<h4><a name="K.3.7" href="#K.3.7">K.3.7 String handling <string.h></a></h4>
+<h4><a name="K.3.7" href="#K.3.7">K.3.7 String handling <string.h></a></h4>
<p><!--para 1 -->
The header <a href="#7.23"><string.h></a> defines two types.
<p><!--para 2 -->
strnlen_s useful in algorithms that gracefully handle such exceptional data.
</small>
-<h4><a name="K.3.8" href="#K.3.8">K.3.8 Date and time <time.h></a></h4>
+<h4><a name="K.3.8" href="#K.3.8">K.3.8 Date and time <time.h></a></h4>
<p><!--para 1 -->
The header <a href="#7.26"><time.h></a> defines two types.
<p><!--para 2 -->
The localtime_s function returns result, or a null pointer if the specified time
cannot be converted to local time or there is a runtime-constraint violation.
-<h4><a name="K.3.9" href="#K.3.9">K.3.9 Extended multibyte and wide character utilities <wchar.h></a></h4>
+<h4><a name="K.3.9" href="#K.3.9">K.3.9 Extended multibyte and wide character utilities <wchar.h></a></h4>
<p><!--para 1 -->
The header <a href="#7.28"><wchar.h></a> defines two types.
<p><!--para 2 -->