float.h: C2x decimal signaling NaN macros
authorJoseph Myers <joseph@codesourcery.com>
Tue, 17 Nov 2020 00:27:06 +0000 (00:27 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Tue, 17 Nov 2020 00:27:06 +0000 (00:27 +0000)
commitf8e4c55cbc09fbbe136b2ba2da405d7bdced07ae
treeb937d5e9dc9e4b0c6182e10ceb6ee47c5372308a
parent3cfe746fc5255f8dd1674bf4a8873b7b8e178c89
float.h: C2x decimal signaling NaN macros

C2x adds macros for decimal floating-point signaling NaNs to
<float.h>.  Add these macros to GCC's <float.h> implementation.

Note that the current C2x draft has these under incorrect names
D32_SNAN, D64_SNAN, D128_SNAN.  The intent was to change the naming
convention to be consistent with other <float.h> macros when they were
moved to <float.h>, so DEC32_SNAN, DEC64_SNAN, DEC128_NAN, which this
patch uses (as does the current draft integration of TS 18661-3 as an
Annex to C2x, for its _Decimal* and _Decimal*x types).

Bootstrapped with no regressions for x86_64-pc-linux-gnu.

gcc/
2020-11-17  Joseph Myers  <joseph@codesourcery.com>

* ginclude/float.h (DEC32_SNAN, DEC64_SNAN, DEC128_SNAN): New C2x
macros.

gcc/testsuite/
2020-11-17  Joseph Myers  <joseph@codesourcery.com>

* gcc.dg/dfp/c2x-float-dfp-7.c, gcc.dg/dfp/c2x-float-dfp-8.c: New
tests.
* gcc.dg/c2x-float-no-dfp-3.c: Also check that DEC32_SNAN,
DEC64_SNAN and DEC128_SNAN are not defined.
gcc/ginclude/float.h
gcc/testsuite/gcc.dg/c2x-float-no-dfp-3.c
gcc/testsuite/gcc.dg/dfp/c2x-float-dfp-7.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/dfp/c2x-float-dfp-8.c [new file with mode: 0644]