gcc/libcpp
Edward Smith-Rowland 42fd12b1e7 cpplib.h (cpp_callbacks): Add has_attribute.
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.

From-SVN: r217292
2014-11-10 15:53:12 +00:00
..
include cpplib.h (cpp_callbacks): Add has_attribute. 2014-11-10 15:53:12 +00:00
po * ja.po: Update. 2014-11-07 12:45:36 +00:00
ChangeLog cpplib.h (cpp_callbacks): Add has_attribute. 2014-11-10 15:53:12 +00:00
Makefile.in Update copyright years in libcpp/ 2014-01-02 22:24:45 +00:00
aclocal.m4 Undo inadvertent commit in rev 160105. 2010-06-01 10:20:24 -04:00
charset.c charset.c (convert_no_conversion): Reallocate memory with 25% headroom. 2014-10-02 00:06:28 +00:00
config.in configure.ac: Remove long long and __int64 type checks... 2014-05-26 08:19:02 +00:00
configure configure.ac: Remove long long and __int64 type checks... 2014-05-26 08:19:02 +00:00
configure.ac configure.ac: Remove long long and __int64 type checks... 2014-05-26 08:19:02 +00:00
directives-only.c Update copyright years in libcpp/ 2014-01-02 22:24:45 +00:00
directives.c cpplib.h (cpp_callbacks): Add has_attribute. 2014-11-10 15:53:12 +00:00
errors.c re PR preprocessor/58893 (<command-line>:0:0: internal compiler error: Segmentation fault) 2014-09-30 16:08:53 +00:00
expr.c cpplib.h (cpp_callbacks): Add has_attribute. 2014-11-10 15:53:12 +00:00
files.c gengtype.h (obstack_chunk_alloc, [...]): Remove cast. 2014-10-22 12:11:31 +10:30
identifiers.c cpplib.h (cpp_callbacks): Add has_attribute. 2014-11-10 15:53:12 +00:00
init.c Enable -fextended-identifiers by default. 2014-11-05 16:19:10 +00:00
internal.h cpplib.h (cpp_callbacks): Add has_attribute. 2014-11-10 15:53:12 +00:00
lex.c Preserve original spellings of extended identifiers. 2014-11-06 21:08:52 +00:00
line-map.c line-map.h (linemap_location_from_macro_expansion_p): const struct line_maps * argument. 2014-10-14 14:45:36 +00:00
macro.c Preserve original spellings of extended identifiers. 2014-11-06 21:08:52 +00:00
makeucnid.c Update copyright years in libcpp/ 2014-01-02 22:24:45 +00:00
mkdeps.c Update copyright years in libcpp/ 2014-01-02 22:24:45 +00:00
pch.c cpplib.h (cpp_callbacks): Add has_attribute. 2014-11-10 15:53:12 +00:00
symtab.c gengtype.h (obstack_chunk_alloc, [...]): Remove cast. 2014-10-22 12:11:31 +10:30
system.h Update copyright years in libcpp/ 2014-01-02 22:24:45 +00:00
traditional.c cpplib.h (cpp_callbacks): Add has_attribute. 2014-11-10 15:53:12 +00:00
ucnid.h Update copyright years in libcpp/ 2014-01-02 22:24:45 +00:00
ucnid.tab Update copyright years in libcpp/ 2014-01-02 22:24:45 +00:00