diff options
author | Jason Merrill <jason@redhat.com> | 2021-09-01 21:33:30 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2021-09-01 21:33:30 +0200 |
commit | ac6e77aacfb6581f5e84e4430628152b9b98da2e (patch) | |
tree | 860c5cb23c00a1c5fe42194176931811d9f698e8 /gcc/testsuite/gcc.dg/Wstringop-overflow-11.c | |
parent | e928cf47f350e46eacb48ed954112e603ef3800a (diff) | |
download | gcc-ac6e77aacfb6581f5e84e4430628152b9b98da2e.zip gcc-ac6e77aacfb6581f5e84e4430628152b9b98da2e.tar.gz gcc-ac6e77aacfb6581f5e84e4430628152b9b98da2e.tar.bz2 |
libcpp: __VA_OPT__ tweak
> We want to remove the latter <placemarker> but not the former one, and
> the patch adds the vaopt_padding_tokens counter for it to control
> how many placemarkers are removed on vaopt_state::END.
> As can be seen in #c1 and #c2 of the PR, I've tried various approaches,
> but neither worked out for all the cases except the posted one.
I notice that the second placemarker you mention is avoid_paste, which seems
relevant. This seems to also work, at least it doesn't seem to break any of
the va_opt tests.
2021-09-01 Jason Merrill <jason@redhat.com>
* macro.c (replace_args): When __VA_OPT__ is on the LHS of ##,
remove trailing avoid_paste tokens.
Diffstat (limited to 'gcc/testsuite/gcc.dg/Wstringop-overflow-11.c')
0 files changed, 0 insertions, 0 deletions