https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94207
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |INVALID --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- GCC is correct here. Pasting of :: and ClassFOO1 don't make a valid preprocessing token. That is you don't need the pasting operator between :: and k here. The pasting operator is used to paste together two identifiers to make one.