================
@@ -4019,11 +4030,23 @@ bool Lexer::LexTokenInternal(Token &Result, bool 
TokAtPhysicalStartOfLine) {
   case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n':
   case 'o': case 'p': case 'q': case 'r': case 's': case 't':    /*'u'*/
   case 'v': case 'w': case 'x': case 'y': case 'z':
-  case '_':
+  case '_': {
     // Notify MIOpt that we read a non-whitespace/non-comment token.
     MIOpt.ReadToken();
-    return LexIdentifierContinue(Result, CurPtr);
 
+    // LexIdentifierContinue may trigger HandleEndOfFile which would
+    // normally destroy this Lexer. However, the Preprocessor now defers
+    // lexer destruction until the Lex call stack unwinds (LexLevel == 0),
----------------
cor3ntin wrote:

```suggestion
    // lexer destruction until the stack of Lexer unwinds (LexLevel == 0),
```

https://github.com/llvm/llvm-project/pull/173789
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to