aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorpalves <palves@138bc75d-0d04-0410-961f-82ee72b054a4>2017-09-15 14:53:48 +0000
committerpalves <palves@138bc75d-0d04-0410-961f-82ee72b054a4>2017-09-15 14:53:48 +0000
commita9901f70639b0c392508967975354a850b1e0625 (patch)
tree10b852d68885a942e3f6d790a8234d54cdeecf5d /include
parent8adb95eb2c20f5a6de0a9a84fc006fac4c2413dc (diff)
Fix compile time error when using ansidecl.h with an old version of GCC.
include/ 2017-07-31 Nick Clifton <nickc@redhat.com> Binutils PR 21850 * ansidecl.h (OVERRIDE): Protect check of __cplusplus value with #idef __cplusplus. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@252822 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'include')
-rw-r--r--include/ChangeLog6
-rw-r--r--include/ansidecl.h30
2 files changed, 24 insertions, 12 deletions
diff --git a/include/ChangeLog b/include/ChangeLog
index c7ce2592979..47035883d3b 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -8,6 +8,12 @@
* simple-object.h (simple_object_copy_lto_debug_sections): New
function.
+2017-07-31 Nick Clifton <nickc@redhat.com>
+
+ Binutils PR 21850
+ * ansidecl.h (OVERRIDE): Protect check of __cplusplus value with
+ #idef __cplusplus.
+
2017-07-02 Jan Kratochvil <jan.kratochvil@redhat.com>
* dwarf2.def (DW_IDX_compile_unit, DW_IDX_type_unit, DW_IDX_die_offset)
diff --git a/include/ansidecl.h b/include/ansidecl.h
index f6e1761af2d..ab3b895a475 100644
--- a/include/ansidecl.h
+++ b/include/ansidecl.h
@@ -334,22 +334,28 @@ So instead we use the macro below and test it against specific values. */
For gcc, use "-std=c++11" to enable C++11 support; gcc 6 onwards enables
this by default (actually GNU++14). */
-#if __cplusplus >= 201103
-/* C++11 claims to be available: use it. final/override were only
- implemented in 4.7, though. */
-# if GCC_VERSION < 4007
+#if defined __cplusplus
+# if __cplusplus >= 201103
+ /* C++11 claims to be available: use it. Final/override were only
+ implemented in 4.7, though. */
+# if GCC_VERSION < 4007
+# define OVERRIDE
+# define FINAL
+# else
+# define OVERRIDE override
+# define FINAL final
+# endif
+# elif GCC_VERSION >= 4007
+ /* G++ 4.7 supports __final in C++98. */
# define OVERRIDE
-# define FINAL
+# define FINAL __final
# else
-# define OVERRIDE override
-# define FINAL final
+ /* No C++11 support; leave the macros empty. */
+# define OVERRIDE
+# define FINAL
# endif
-#elif GCC_VERSION >= 4007
-/* G++ 4.7 supports __final in C++98. */
-# define OVERRIDE
-# define FINAL __final
#else
-/* No C++11 support; leave the macros empty: */
+ /* No C++11 support; leave the macros empty. */
# define OVERRIDE
# define FINAL
#endif