[Bug preprocessor/83708] Token-based policy broken by __VA_OPT__
jason at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Feb 15 17:44:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83708
--- Comment #1 from Jason Merrill <jason at gcc dot gnu.org> ---
Author: jason
Date: Thu Feb 15 17:43:01 2018
New Revision: 257696
URL: https://gcc.gnu.org/viewcvs?rev=257696&root=gcc&view=rev
Log:
PR preprocessor/83063 - __VA_OPT__ and ##
PR preprocessor/83708
* macro.c (vaopt_state): Reorder m_last_was_paste before m_state.
(vaopt_state::vaopt_state): Adjust.
(vaopt_state::update_flags): Add BEGIN and END.
(vaopt_state::update): Return them.
(copy_paste_flag): Factor out of replace_args.
(last_token_is): New.
(replace_args): Handle BEGIN and END. Avoid padding there.
(tokens_buff_last_token_ptr): Return NULL if no tokens.
Added:
trunk/gcc/testsuite/c-c++-common/cpp/va-opt-2.c
trunk/gcc/testsuite/c-c++-common/cpp/va-opt-3.c
Modified:
trunk/libcpp/ChangeLog
trunk/libcpp/macro.c
More information about the Gcc-bugs
mailing list