aboutsummaryrefslogtreecommitdiff
path: root/lib/Lex/PTHLexer.cpp
diff options
context:
space:
mode:
authorTed Kremenek <kremenek@apple.com>2009-03-20 17:54:25 +0000
committerTed Kremenek <kremenek@apple.com>2009-03-20 17:54:25 +0000
commit1d20197cb9478f3db17cbcfc57a1f8182843fc6a (patch)
tree1ab666da03fc6985dd8d47a2fe2817cc3ed0f18d /lib/Lex/PTHLexer.cpp
parent7037ab8f15950e594642adf77a56d299667debe7 (diff)
PTHManager::Create() now creates a PTHManager even if the PTH file contains no
cached tokens. This is for use with -include-pth. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67385 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Lex/PTHLexer.cpp')
-rw-r--r--lib/Lex/PTHLexer.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/lib/Lex/PTHLexer.cpp b/lib/Lex/PTHLexer.cpp
index 0a810ceaa6..e62accb642 100644
--- a/lib/Lex/PTHLexer.cpp
+++ b/lib/Lex/PTHLexer.cpp
@@ -648,10 +648,11 @@ PTHManager* PTHManager::Create(const std::string& file, Diagnostic* Diags) {
}
llvm::OwningPtr<PTHFileLookup> FL(PTHFileLookup::Create(FileTable, BufBeg));
- if (FL->isEmpty()) {
+
+ // Warn if the PTH file is empty. We still want to create a PTHManager
+ // as the PTH could be used with -include-pth.
+ if (FL->isEmpty())
InvalidPTH(Diags, "PTH file contains no cached source data");
- return 0;
- }
// Get the location of the table mapping from persistent ids to the
// data needed to reconstruct identifiers.
@@ -674,7 +675,7 @@ PTHManager* PTHManager::Create(const std::string& file, Diagnostic* Diags) {
llvm::OwningPtr<PTHStringIdLookup> SL(PTHStringIdLookup::Create(StringIdTable,
BufBeg));
- if (SL->isEmpty()) {
+ if (!FL->isEmpty() && SL->isEmpty()) {
InvalidPTH(Diags, "PTH file contains no identifiers.");
return 0;
}