Just use the SourceLocation of SysHeaderTok when doing a callback to emit #line
information. A diff of the -E output for Cocoa.h shows that there is no change
in output.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59693 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Lex/Pragma.cpp b/lib/Lex/Pragma.cpp
index 5e6de0f..961c0f9 100644
--- a/lib/Lex/Pragma.cpp
+++ b/lib/Lex/Pragma.cpp
@@ -248,7 +248,7 @@
}
// Get the current file lexer we're looking at. Ignore _Pragma 'files' etc.
- Lexer *TheLexer = getCurrentFileLexer();
+ PreprocessorLexer *TheLexer = getCurrentFileLexer();
// Mark the file as a system header.
const FileEntry *File = SourceMgr.getFileEntryForID(TheLexer->getFileID());
@@ -256,7 +256,7 @@
// Notify the client, if desired, that we are in a new source file.
if (Callbacks)
- Callbacks->FileChanged(TheLexer->getSourceLocation(TheLexer->BufferPtr),
+ Callbacks->FileChanged(SysHeaderTok.getLocation(),
PPCallbacks::SystemHeaderPragma, SrcMgr::C_System);
}