[clang] clang: Relax LangOpts checks when lexing quoted numbers during preprocessing (PR #95798)

Jan Svoboda via cfe-commits cfe-commits at lists.llvm.org
Tue Jul 2 14:57:49 PDT 2024


================
@@ -2068,7 +2068,8 @@ bool Lexer::LexNumericConstant(Token &Result, const char *CurPtr) {
   }
 
   // If we have a digit separator, continue.
-  if (C == '\'' && (LangOpts.CPlusPlus14 || LangOpts.C23)) {
+  if (C == '\'' &&
+      (LangOpts.CPlusPlus14 || LangOpts.C23 || ParsingPreprocessorDirective)) {
----------------
jansvoboda11 wrote:

I'd argue that `LangOptions` are options internal to the compiler and not necessarily exposed via `-cc1` (let alone the driver). The tooling use case is relevant too, IMO.

https://github.com/llvm/llvm-project/pull/95798


More information about the cfe-commits mailing list