cpplex.c
103 KB
-
cppmacro.c (CAN_PASTE_AFTER): New macro. · 6fee6033
* 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. From-SVN: r35146
Zack Weinberg committed