http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60209
--- Comment #3 from emsr at gcc dot gnu.org --- Created attachment 32779 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=32779&action=edit Just parse a whole string instread of consuming one token. This builds and tests clean on x86_64-linux. I would like to hold out for a slightly better design that could simplifiy code a tiny bit and handle maybe these: void operator "" "" _x(unsigned long long); // This patch diagnoses this. void operator "" "boo" _y(unsigned long long); // I'd like to diagnose this. void operator "" u"" _u(unsigned long long); // I'd like to diagnose this. void operator u"" "" _v(unsigned long long); // Diagnosed correctly now. void operator "" ""_w(unsigned long long); // This might be harder/messier and may be out of scope.