c-common.h (enum rid): Add RID_FIRST_AT, RID_LAST_AT, RID_LAST_PQ.
authorZack Weinberg <zackw@stanford.edu>
Sun, 1 Jul 2001 18:48:13 +0000 (18:48 +0000)
committerZack Weinberg <zack@gcc.gnu.org>
Sun, 1 Jul 2001 18:48:13 +0000 (18:48 +0000)
commitb8363a243d4778afbdcc3794c86a7e08eb076f76
tree3248bbe65b87f7c0868d63322c7f0b313358975f
parent128e8aa95204284655c889767409150181ce0b19
c-common.h (enum rid): Add RID_FIRST_AT, RID_LAST_AT, RID_LAST_PQ.

* c-common.h (enum rid): Add RID_FIRST_AT, RID_LAST_AT,
RID_LAST_PQ.  Move RID_FIRST_PQ down with the other FIRST/LAST
enumerators.
(OBJC_IS_AT_KEYWORD, OBJC_IS_PQ_KEYWORD): New macros.

* c-parse.in (OBJC_STRING): Kill.
(objc_string): Decompose to [objc_string] '@' STRING.
(reswords): Take the leading '@' off all the Objective C keywords.
(objc_rid_sans_at): Kill.
(init_reswords): Don't initialize it.
(yylexname): Use OBJC_IS_AT_KEYWORD and OBJC_IS_PQ_KEYWORD.
(_yylex): Kill reconsider label.  Look ahead one token after
an '@'; if we get an identifier, check whether it's an
Objective C @-keyword.  If so, return the keyword.  Otherwise,
put back the token and return the '@' as a terminal.

* cpplib.c (lex_macro_node): Remove unnecessary check for
leading '@' on identifier.  Clarify control flow and commentary.

From-SVN: r43674
gcc/ChangeLog
gcc/c-common.h
gcc/c-parse.in
gcc/cpplib.c