https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107980
--- Comment #14 from Aaron Ballman <aaron at aaronballman dot com> --- (In reply to jos...@codesourcery.com from comment #12) > The standard rule about not using extra arguments means that any warnings > would need to avoid even converting those arguments from pp-tokens to > tokens; it's OK for them to contain pp-tokens that cannot be converted to > tokens. Agreed, that's why I filed an NB comment to remove the restriction that the arguments can't be expanded. Hopefully WG14 will relax that so we can give good diagnostic behavior. > I think the accepted change to the standard was entirely clear about > ignoring the extra arguments; it wasn't some obscure non-obvious > consequence that such code would become valid. It was not discussed in the paper, or the meeting minutes, or my personal notes. I may have missed something, but I have no reason to believe WG14 explicitly considered the ramifications of this. Also, I cannot find another instance where a function-like macro accepts arguments that it is not allowed to *expand*; that's a novel WG14 invention. Also, it was a potentially silently breaking change (if you don't mind horribly contrived examples of breakage): https://godbolt.org/z/T4bG6179f