diff options
author | Joseph Myers <joseph@codesourcery.com> | 2019-10-03 00:50:58 +0100 |
---|---|---|
committer | Joseph Myers <jsm28@gcc.gnu.org> | 2019-10-03 00:50:58 +0100 |
commit | 202be58655a1964581facd2e514c7d3431258fe8 (patch) | |
tree | e811cbd523fca46ee3d3d346249239b8f0daf021 /gcc/glimits.h | |
parent | f5fc32e4a38cee21d1935fd04ad19726f76c06a9 (diff) | |
download | gcc-202be58655a1964581facd2e514c7d3431258fe8.zip gcc-202be58655a1964581facd2e514c7d3431258fe8.tar.gz gcc-202be58655a1964581facd2e514c7d3431258fe8.tar.bz2 |
Define WIDTH macros for C2x.
As part of the integration of TS 18661-1 into C2x, many features
became unconditional features not depending on any feature test macro
being defined. This patch updates the conditionals on the *_WIDTH
macros in limits.h and stdint.h accordingly so that they are defined
for C2x. The macro CR_DECIMAL_DIG in float.h does still require
__STDC_WANT_IEC_60559_BFP_EXT__ to be defined, and a test for this is
added.
Bootstrapped with no regressions on x86_64-pc-linux-gnu.
gcc:
* ginclude/stdint-gcc.h [__STDC_WANT_IEC_60559_BFP_EXT__]: Change
condition on WIDTH macros to [__STDC_WANT_IEC_60559_BFP_EXT__ ||
(__STDC_VERSION__ && __STDC_VERSION__ > 201710L)].
* glimits.h: Likewise.
gcc/testsuite:
* gcc.dg/cr-decimal-dig-2.c: New test.
* gcc.dg/limits-width-2.c: New test. Based on limits-width-1.c.
* gcc.dg/stdint-width-2.c: New test. Based on stdint-width-1.c.
From-SVN: r276497
Diffstat (limited to 'gcc/glimits.h')
-rw-r--r-- | gcc/glimits.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/glimits.h b/gcc/glimits.h index 0cddf0f..1909344 100644 --- a/gcc/glimits.h +++ b/gcc/glimits.h @@ -123,8 +123,9 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see # define ULONG_LONG_MAX (LONG_LONG_MAX * 2ULL + 1ULL) #endif -#ifdef __STDC_WANT_IEC_60559_BFP_EXT__ -/* TS 18661-1 widths of integer types. */ +#if (defined __STDC_WANT_IEC_60559_BFP_EXT__ \ + || (defined (__STDC_VERSION__) && __STDC_VERSION__ > 201710L)) +/* TS 18661-1 / C2X widths of integer types. */ # undef CHAR_WIDTH # define CHAR_WIDTH __SCHAR_WIDTH__ # undef SCHAR_WIDTH |