https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58844
David Krauss <potswa at mac dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |potswa at mac dot com --- Comment #9 from David Krauss <potswa at mac dot com> --- The fix makes the case well-formed. It's not. A sequence of concatenation operators is not processed as if they were separated by empty parameters. "A ## ## B" concatenates A with the (second) ## to produce an illegal token "A##". Clang diagnoses it as such.