diff options
author | Marek Polacek <polacek@redhat.com> | 2021-07-20 16:26:28 -0400 |
---|---|---|
committer | Marek Polacek <polacek@redhat.com> | 2021-07-24 12:51:00 -0400 |
commit | 34dbb5f346459a1b36cd0cfbfe1cf18cd099fdf3 (patch) | |
tree | 1474584ff46cac3fcd7cd344003edcc9e4e44f3a /include | |
parent | ead235f60139edc6eb408d8d083cbb15e417b447 (diff) | |
download | gcc-34dbb5f346459a1b36cd0cfbfe1cf18cd099fdf3.zip gcc-34dbb5f346459a1b36cd0cfbfe1cf18cd099fdf3.tar.gz gcc-34dbb5f346459a1b36cd0cfbfe1cf18cd099fdf3.tar.bz2 |
include: Fix -Wundef warnings in ansidecl.h
This quashes -Wundef warnings in ansidecl.h when compiled in C or C++.
In C, __cpp_constexpr and __cplusplus aren't defined so we evaluate
them to 0; conversely, __STDC_VERSION__ is not defined in C++.
This has caused grief when -Wundef is used with -Werror.
I've also tested -traditional-cpp.
include/ChangeLog:
* ansidecl.h: Check if __cplusplus is defined before checking
the value of __cpp_constexpr and __cplusplus. Don't check
__STDC_VERSION__ in C++.
Diffstat (limited to 'include')
-rw-r--r-- | include/ansidecl.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/include/ansidecl.h b/include/ansidecl.h index 0515228..2efe3e8 100644 --- a/include/ansidecl.h +++ b/include/ansidecl.h @@ -79,7 +79,7 @@ So instead we use the macro below and test it against specific values. */ /* inline requires special treatment; it's in C99, and GCC >=2.7 supports it too, but it's not in C89. */ #undef inline -#if __STDC_VERSION__ >= 199901L || defined(__cplusplus) || (defined(__SUNPRO_C) && defined(__C99FEATURES__)) +#if (!defined(__cplusplus) && __STDC_VERSION__ >= 199901L) || defined(__cplusplus) || (defined(__SUNPRO_C) && defined(__C99FEATURES__)) /* it's a keyword */ #else # if GCC_VERSION >= 2007 @@ -356,7 +356,7 @@ So instead we use the macro below and test it against specific values. */ #define ENUM_BITFIELD(TYPE) unsigned int #endif -#if __cpp_constexpr >= 200704 +#if defined(__cplusplus) && __cpp_constexpr >= 200704 #define CONSTEXPR constexpr #else #define CONSTEXPR @@ -419,7 +419,7 @@ So instead we use the macro below and test it against specific values. */ so that most attempts at copy are caught at compile-time. */ -#if __cplusplus >= 201103 +#if defined(__cplusplus) && __cplusplus >= 201103 #define DISABLE_COPY_AND_ASSIGN(TYPE) \ TYPE (const TYPE&) = delete; \ void operator= (const TYPE &) = delete |