[clang] [Clang] Allow raw string literals in C as an extension (PR #88265)
Aaron Ballman via cfe-commits
cfe-commits at lists.llvm.org
Thu Jun 20 06:24:42 PDT 2024
AaronBallman wrote:
> raw string literals are enabled in C++11 and later, as well as in C in gnu99 mode and later;
Why gnu99 mode and not gnu89 mode? I see GCC has that behavior, but I'm not certain why.
> I’m not entirely sure how to fix this candidly. It doesn’t look like unconditionally enabling raw string literals is an option here... This situation reminds me of a similar issue we’re having with ' in numeric literals (#88896). I’m personally not too familiar with the lexer, but would it be possible to pass through the original lang options here from wherever this is invoked?
Yeah, it's pretty frustrating that we've found two instances of this in such a short period of time. :-/
That test was added in https://github.com/llvm/llvm-project/commit/ee8ed0b3099e63ba0a18cca42b9cfdf098bc6201 and it seems to be a bit of a drive-by as the author noticed the behavior. Given that dependency scanning is never going to care about raw string literals to begin with (at least that I can think of), I'm not certain there's any harm in always supporting raw string literals from dependency scanning, so we could probably do that in the worst case.
But my concerns from https://github.com/llvm/llvm-project/pull/93753#issuecomment-2173666602 are still relevant too. CC @jansvoboda11
https://github.com/llvm/llvm-project/pull/88265
More information about the cfe-commits
mailing list