aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorMarek Polacek <polacek@redhat.com>2021-07-20 16:26:28 -0400
committerMarek Polacek <polacek@redhat.com>2021-07-24 12:51:00 -0400
commit34dbb5f346459a1b36cd0cfbfe1cf18cd099fdf3 (patch)
tree1474584ff46cac3fcd7cd344003edcc9e4e44f3a /include
parentead235f60139edc6eb408d8d083cbb15e417b447 (diff)
downloadgcc-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.h6
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