mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-21 12:30:06 +00:00
Add C2X _PRINTF_NAN_LEN_MAX
C2X adds a macro _PRINTF_NAN_LEN_MAX to <stdio.h>, giving the maximum length of printf output for a NaN. glibc never includes an n-char-sequence in its printf output for NaNs, so the correct value for glibc is 4 ("-nan" or "-NAN"); define the macro accordingly. This patch makes the macro definition conditional on __GLIBC_USE (ISOC2X), as is generally done with features from new standard versions. The name is in the implementation namespace for older standards, so it would also be possible to define it unconditionally. Tested for x86_64.
This commit is contained in:
parent
52c057e37c
commit
01d34e934a
2
NEWS
2
NEWS
@ -45,6 +45,8 @@ Major new features:
|
||||
* The exp10 functions in <math.h> now have a corresponding type-generic
|
||||
macro in <tgmath.h>.
|
||||
|
||||
* The ISO C2X macro _PRINTF_NAN_LEN_MAX has been added to <stdio.h>.
|
||||
|
||||
Deprecated and removed features, and other changes affecting compatibility:
|
||||
|
||||
* The r_version update in the debugger interface makes the glibc binary
|
||||
|
@ -133,6 +133,12 @@ typedef __fpos64_t fpos64_t;
|
||||
#include <bits/stdio_lim.h>
|
||||
|
||||
|
||||
#if __GLIBC_USE (ISOC2X)
|
||||
/* Maximum length of printf output for a NaN. */
|
||||
# define _PRINTF_NAN_LEN_MAX 4
|
||||
#endif
|
||||
|
||||
|
||||
/* Standard streams. */
|
||||
extern FILE *stdin; /* Standard input stream. */
|
||||
extern FILE *stdout; /* Standard output stream. */
|
||||
|
@ -2108,7 +2108,10 @@ If the value to be printed represents infinity or a NaN, the output is
|
||||
@w{[@code{-}]@code{inf}} or @code{nan} respectively if the conversion
|
||||
specifier is @samp{%a}, @samp{%e}, @samp{%f}, or @samp{%g} and it is
|
||||
@w{[@code{-}]@code{INF}} or @code{NAN} respectively if the conversion is
|
||||
@samp{%A}, @samp{%E}, or @samp{%G}.
|
||||
@samp{%A}, @samp{%E}, or @samp{%G}. On some implementations, a NaN
|
||||
may result in longer output with information about the payload of the
|
||||
NaN; ISO C2X defines a macro @code{_PRINTF_NAN_LEN_MAX} giving the
|
||||
maximum length of such output.
|
||||
|
||||
The following flags can be used to modify the behavior:
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user