According to 17.6.4.3.5 in the C ++ 11 standard
Literal suffix identifiers that do not begin with an underscore are reserved for future standardization.
the above code should create a "str"_test , which is a valid preprocessing token, and a class user-defined-string-literal .
clang 3.0 generates an error when starting in preprocessor mode via -E .
clang gives:
pasting formed '"str"_', an invalid preprocessing token A(_) ^ note: expanded from:
I do not understand what steps have decided that the result is not an invalid pre-processing token.
Note. I am writing a C ++ 11 preprocessor.
source share