From 8fd8ff3bd8234593a694be045460e471d295a6af Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Fri, 23 Dec 2011 23:20:07 -0500 Subject: [PATCH] Add __USE_ISOCXX11 --- ChangeLog | 3 +++ include/features.h | 10 ++++++++++ 2 files changed, 13 insertions(+) diff --git a/ChangeLog b/ChangeLog index 6be3d32698..c3483c8535 100644 --- a/ChangeLog +++ b/ChangeLog @@ -28,6 +28,9 @@ 2011-12-23 Ulrich Drepper + * 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. diff --git a/include/features.h b/include/features.h index b02ff750d3..173afc1c93 100644 --- a/include/features.h +++ b/include/features.h @@ -100,6 +100,7 @@ #undef __USE_ISOC11 #undef __USE_ISOC99 #undef __USE_ISOC95 +#undef __USE_ISOCXX11 #undef __USE_POSIX #undef __USE_POSIX2 #undef __USE_POSIX199309 @@ -206,6 +207,15 @@ # 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) && \