Add __USE_ISOCXX11
authorUlrich Drepper <drepper@gmail.com>
Sat, 24 Dec 2011 04:20:07 +0000 (23:20 -0500)
committerUlrich Drepper <drepper@gmail.com>
Sun, 1 Jan 2012 12:17:20 +0000 (07:17 -0500)
ChangeLog
include/features.h

index 6be3d32..c3483c8 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -28,6 +28,9 @@
 
 2011-12-23  Ulrich Drepper  <drepper@gmail.com>
 
+       * include/features.h: Define __USE_ISOCXX11 when compiling ISo C++11
+       code.
+
        [BZ #13528]
        * libio/stdio.h: Do not declare gets for ISO C11 and _GNU_SOURCE.
 
index b02ff75..173afc1 100644 (file)
 #undef __USE_ISOC11
 #undef __USE_ISOC99
 #undef __USE_ISOC95
+#undef __USE_ISOCXX11
 #undef __USE_POSIX
 #undef __USE_POSIX2
 #undef __USE_POSIX199309
 # define __USE_ISOC95  1
 #endif
 
+/* This is to enable compatibility for ISO C++11.
+
+   So far g++ does not provide a macro.  Check the temporary macro for
+   now, too.  */
+#if ((defined __cplusplus && __cplusplus >= 201103L)                         \
+     || defined __GXX_EXPERIMENTAL_CXX0X__)
+# define __USE_ISOCXX11        1
+#endif
+
 /* If none of the ANSI/POSIX macros are defined, use POSIX.1 and POSIX.2
    (and IEEE Std 1003.1b-1993 unless _XOPEN_SOURCE is defined).  */
 #if ((!defined __STRICT_ANSI__ || (_XOPEN_SOURCE - 0) >= 500) && \