https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58844
--- Comment #13 from joseph at codesourcery dot com <joseph at codesourcery dot com> --- Also, in the case of just two consecutive ##, with a placemarker either side, I think however you read it the concatenations are currently valid and you end up with no preprocessing tokens in the expansion. #define m(a,b) a####b m(,)