This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
r217292 - in /trunk: gcc/c-family/ChangeLog gcc...
- From: emsr at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: Mon, 10 Nov 2014 15:53:12 -0000
- Subject: r217292 - in /trunk: gcc/c-family/ChangeLog gcc...
Author: emsr
Date: Mon Nov 10 15:53:12 2014
New Revision: 217292
URL: https://gcc.gnu.org/viewcvs?rev=217292&root=gcc&view=rev
Log:
libcpp:
2014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net>
* include/cpplib.h (cpp_callbacks): Add has_attribute.
* internal.h (lexer_state): Add in__has_attribute__.
* directives.c (lex_macro_node): Prevent use of __has_attribute__
as a macro.
* expr.c (parse_has_attribute): New function; (eval_token): Look for
__has_attribute__ and route to parse_has_attribute.
* identifiers.c (_cpp_init_hashtable): Initialize n__has_attribute__.
* pch.c (cpp_read_state): Initialize n__has_attribute__.
* traditional.c (enum ls): Add ls_has_attribute, ls_has_attribute_close;
(_cpp_scan_out_logical_line): Attend to __has_attribute__.
gcc/c-family:
2014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net>
* c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
(__cpp_rtti, __cpp_exceptions): New macros for C++98;
(__cpp_range_based_for, __cpp_initializer_lists,
__cpp_delegating_constructors, __cpp_nsdmi,
__cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
for C++11; (__cpp_attribute_deprecated): Remove in favor of
__has_cpp_attribute.
* c-lex.c (cb_has_attribute): New callback CPP function;
(init_c_lex): Set has_attribute callback.
gcc/testsuite:
2014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net>
* g++.dg/cpp1y/feat-cxx11.C: Test new feature macros for C++98
and C++11; Test existence of __has_cpp_attribute; Test C++11
attributes.
* g++.dg/cpp1y/feat-cxx11-neg.C: Ditto.
* g++.dg/cpp1y/feat-cxx14.C: Ditto and test for C++14 attributes.
* g++.dg/cpp1y/feat-cxx98.C: Test new feature macros for C++98.
* g++.dg/cpp1y/feat-cxx98-neg.C: Ditto.
* g++.dg/cpp1y/feat-neg.C: Test that __cpp_rtti, _cpp_exceptions
will be undefined for -fno-rtti -fno-exceptions.
Added:
trunk/gcc/testsuite/g++.dg/cpp1y/feat-neg.C
Modified:
trunk/gcc/c-family/ChangeLog
trunk/gcc/c-family/c-cppbuiltin.c
trunk/gcc/c-family/c-lex.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/g++.dg/cpp1y/feat-cxx11-neg.C
trunk/gcc/testsuite/g++.dg/cpp1y/feat-cxx11.C
trunk/gcc/testsuite/g++.dg/cpp1y/feat-cxx14.C
trunk/gcc/testsuite/g++.dg/cpp1y/feat-cxx98-neg.C
trunk/gcc/testsuite/g++.dg/cpp1y/feat-cxx98.C
trunk/libcpp/ChangeLog
trunk/libcpp/directives.c
trunk/libcpp/expr.c
trunk/libcpp/identifiers.c
trunk/libcpp/include/cpplib.h
trunk/libcpp/internal.h
trunk/libcpp/pch.c
trunk/libcpp/traditional.c