OSDN Git Service

* cppmacro.c (CAN_PASTE_AFTER): New macro.
authorzack <zack@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 20 Jul 2000 17:57:38 +0000 (17:57 +0000)
committerzack <zack@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 20 Jul 2000 17:57:38 +0000 (17:57 +0000)
commit356772305b57f73219333f38989e183eba455bdb
tree411ca2344aad9c248c5506109b46dc34a0f64bbf
parent92ac01460c75ee187f1fe74a74f88dbaaa2bd31a
* cppmacro.c (CAN_PASTE_AFTER): New macro.
(count_params): Don't set GNU_REST_ARGS on anything.
(save_expansion): Set PASTE_LEFT only on tokens for which
CAN_PASTE_AFTER is true, or which are named operators.

* cpplex.c (parse_args): Distinguish between a rest argument
given one empty argument, and a rest argument given zero arguments.
(maybe_paste_with_next): Look for VOID_REST tag, and trigger
deletion of previous token based on that.
(get_raw_token): Flatten some control structure.

* cpplib.h (CPP_LAST_EQ): Correct.
(VOID_REST): New token flag.
(GNU_REST_ARGS): Delete.

* gcc.dg/cpp/20000625-2.c, gcc.dg/cpp/macsyntx.c: Update error
regexps.
* gcc.dg/cpp/paste6.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@35146 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/cpplex.c
gcc/cpplib.h
gcc/cppmacro.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/cpp/20000625-2.c
gcc/testsuite/gcc.dg/cpp/macsyntx.c
gcc/testsuite/gcc.dg/cpp/paste6.c [new file with mode: 0644]