From 13f39b2e4136c520e8d5b99f435dd568c4b10b64 Mon Sep 17 00:00:00 2001 From: Paolo Carlini Date: Wed, 24 Apr 2013 15:12:50 +0000 Subject: [PATCH] cpp.texi: Document __GXX_EXPERIMENTAL_CXX1Y__. 2013-04-24 Paolo Carlini * doc/cpp.texi: Document __GXX_EXPERIMENTAL_CXX1Y__. /c-family 2013-04-24 Paolo Carlini * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__. /testsuite 2013-04-24 Paolo Carlini * g++.dg/cpp1y/cxx1y_macro.C: New. From-SVN: r198249 --- gcc/ChangeLog | 4 ++++ gcc/c-family/ChangeLog | 4 ++++ gcc/c-family/c-cppbuiltin.c | 4 +++- gcc/doc/cpp.texi | 7 +++++++ gcc/testsuite/ChangeLog | 4 ++++ gcc/testsuite/g++.dg/cpp1y/cxx1y_macro.C | 5 +++++ 6 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 gcc/testsuite/g++.dg/cpp1y/cxx1y_macro.C diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2a6d864b5f8..1a27d7cd01e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2013-04-24 Paolo Carlini + + * doc/cpp.texi: Document __GXX_EXPERIMENTAL_CXX1Y__. + 2013-04-24 Marek Polacek * tree-scalar-evolution.h (analyze_scalar_evolution): Remove. diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog index 96cf7bd1de0..a768499591d 100644 --- a/gcc/c-family/ChangeLog +++ b/gcc/c-family/ChangeLog @@ -1,3 +1,7 @@ +2013-04-24 Paolo Carlini + + * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__. + 2013-04-12 Jakub Jelinek * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table, diff --git a/gcc/c-family/c-cppbuiltin.c b/gcc/c-family/c-cppbuiltin.c index 3e210d90e0b..255a90ae134 100644 --- a/gcc/c-family/c-cppbuiltin.c +++ b/gcc/c-family/c-cppbuiltin.c @@ -713,8 +713,10 @@ c_cpp_builtins (cpp_reader *pfile) cpp_define (pfile, "__DEPRECATED"); if (flag_rtti) cpp_define (pfile, "__GXX_RTTI"); - if (cxx_dialect >= cxx0x) + if (cxx_dialect == cxx0x) cpp_define (pfile, "__GXX_EXPERIMENTAL_CXX0X__"); + if (cxx_dialect >= cxx1y) + cpp_define (pfile, "__GXX_EXPERIMENTAL_CXX1Y__"); } /* Note that we define this for C as well, so that we know if __attribute__((cleanup)) will interface with EH. */ diff --git a/gcc/doc/cpp.texi b/gcc/doc/cpp.texi index 4e7b05cd159..71979eefe5f 100644 --- a/gcc/doc/cpp.texi +++ b/gcc/doc/cpp.texi @@ -2319,6 +2319,13 @@ features likely to be included in C++0x are available. Note that these features are experimental, and may change or be removed in future versions of GCC. +@item __GXX_EXPERIMENTAL_CXX1Y__ +This macro is defined when compiling a C++ source file with the option +@option{-std=c++1y} or @option{-std=gnu++1y}. It indicates that some +features likely to be included in C++1y are available. Note that these +features are experimental, and may change or be removed in future +versions of GCC. + @item __GXX_WEAK__ This macro is defined when compiling a C++ source file. It has the value 1 if the compiler will use weak symbols, COMDAT sections, or diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 7be7560d133..59f5b1af9b6 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2013-04-24 Paolo Carlini + + * g++.dg/cpp1y/cxx1y_macro.C: New. + 2013-04-24 Paolo Carlini PR c++/56970 diff --git a/gcc/testsuite/g++.dg/cpp1y/cxx1y_macro.C b/gcc/testsuite/g++.dg/cpp1y/cxx1y_macro.C new file mode 100644 index 00000000000..35783b24e47 --- /dev/null +++ b/gcc/testsuite/g++.dg/cpp1y/cxx1y_macro.C @@ -0,0 +1,5 @@ +// { dg-options "-std=c++1y" } + +#ifndef __GXX_EXPERIMENTAL_CXX1Y__ +#error +#endif -- 2.30.2