rZhBoYao added a comment.
In D153156#4598915 <https://reviews.llvm.org/D153156#4598915>, @steelannelida
wrote:
> Unfortunately the option -Wno-reserved-user-defined-literal fails after this:
>
> #define MYTHING "_something_"
>
> const char* f() {
> return "ONE"MYTHING"TWO";
> }
>
> $ clang -Wno-reserved-user-defined-literal repro.cxx
> repro.cxx:4:15: error: no matching literal operator for call to
> 'operator""MYTHING' with arguments of types 'const char *' and 'unsigned
> long', and no matching literal operator template
> 4 | return "ONE"MYTHING"TWO";
> | ^
> 1 error generated.
This is conforming right? Correct me if I'm wrong. My reading of
https://eel.is/c++draft/lex.pptoken#3.3 is that "ONE"MYTHING"TWO" is a single
preprocessing-token during phase 3 (https://eel.is/c++draft/lex.phases#1.3).
Can @aaron.ballman confirm this?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D153156/new/
https://reviews.llvm.org/D153156
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits