http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58057
--- Comment #10 from Ed Smith-Rowland <3dw4rd at verizon dot net> --- No, I remember now. This code *cannot* be right. With the addition of user-defined literals in C++11 and DR1473 (http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3675.html#1473) placing keywords immediately after a string literal forms a valid user-defined string literal. As an extension we admit macros so placed with a warning. We do this not to break user code with inttypes.h and other user-created string macros. See http://gcc.gnu.org/ml/gcc/2013-06/msg00119.html and onwards - especially http://gcc.gnu.org/ml/gcc/2013-06/msg00121.html. This is not a bug. I vote close INVALID.