c-common.h (enum rid): Add RID_CXX_COMPAT_WARN.
authorIan Lance Taylor <ian@gcc.gnu.org>
Fri, 11 Jul 2008 18:16:26 +0000 (18:16 +0000)
committerIan Lance Taylor <ian@gcc.gnu.org>
Fri, 11 Jul 2008 18:16:26 +0000 (18:16 +0000)
commiteea1139b26437bb71fd5ee838d8d0b5f2473a16a
treec00388a092ba64841d77b31eb539029bb96b0622
parent94eeabbe1999a998aa8fb64a86e794c77755d0df
c-common.h (enum rid): Add RID_CXX_COMPAT_WARN.

./: * c-common.h (enum rid): Add RID_CXX_COMPAT_WARN.
(struct c_common_resword): Define.
(D_CONLY, D_CXXONLY, D_C99, D_CXX0X, D_EXT, D_EXT89): Define.
(D_ASM, D_OBJC, D_CXX_OBJC, D_CXXWARN): Define.
(c_common_reswords, num_c_common_reswords): Declare.
* c-common.c (c_common_reswords): New global const array.
(num_c_common_reswords): New const int.
* c-parser.c (struct resword, reswords): Don't define.
(D_C89, D_EXT, D_EXT89, D_OBJC): Don't define.
(c_parse_init): Clarify mask code.  Use c_common_reswords rather
than reswords.  If warning about C++ keywords, give them a special
RID code.
(c_lex_one_token): Warn about C++ keywords.  Call
objc_is_reserved_word rather than OBJC_IS_AT_KEYWORD.
(c_parser_external_declaration): Look for RID_xxx rather than
RID_AT_xxx, for ObjC++ keywords which are also C++ keywords.
(c_parser_statement_after_labels): Likewise.
(c_parser_objc_class_instance_variables): Likewise.
(c_parser_objc_class_declaration): Likewise.
(c_parser_objc_try_catch_statement): Likewise.
* c-decl.c (c_print_identifier): Ignore RID_CXX_COMPAT_WARN.
(declspecs_add_type): Likewise.
cp/:
* lex.c (struct resword, reswords): Don't define.
(D_EXT, D_ASM, D_OBJC, D_CXX0X): Don't define.
(init_reswords): Clarify mask code.  Use c_common_reswords rather
than reswords.
objc/:
* objc-act.c (objc_is_reserved_word): Always check for RID_CLASS,
etc., not just when OBJCPLUS is defined.
testsuite/:
* gcc.dg/Wcxx-compat-2.c: New test.

From-SVN: r137724
gcc/ChangeLog
gcc/c-common.c
gcc/c-common.h
gcc/c-decl.c
gcc/c-parser.c
gcc/cp/ChangeLog
gcc/cp/lex.c
gcc/objc/ChangeLog
gcc/objc/objc-act.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/Wcxx-compat-2.c [new file with mode: 0644]