================
@@ -544,7 +544,7 @@ Scanner::lexIncludeFilename(const char *&First, const char 
*const End) {
 void Scanner::lexPPDirectiveBody(const char *&First, const char *const End) {
   while (true) {
     const dependency_directives_scan::Token &Tok = lexToken(First, End);
-    if (Tok.is(tok::eod))
+    if (Tok.is(tok::eod) || Tok.is(tok::eof))
----------------
cyndyishida wrote:

If I understand you correctly, that's actually what happened before I added the 
`skipDirective` on [line 
905](https://github.com/llvm/llvm-project/pull/99520/files#diff-ee296172b8a9dd81c5185e78a512c2fc89f7abfe5b2d035e96537fce7dbbbc9cR905)
 

Previously, input that was macro or header-guarded would fail with 
```
error: unterminated conditional directive
```
because the directive line for the `include` absorbed up the `#endif`.

https://github.com/llvm/llvm-project/pull/99520
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to