https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83063
--- Comment #6 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