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
This commit is contained in:
Ted Kremenek 2009-03-20 17:54:25 +00:00
Родитель 7037ab8f15
Коммит 1d20197cb9
1 изменённых файлов: 5 добавлений и 4 удалений

Просмотреть файл

@ -648,10 +648,11 @@ PTHManager* PTHManager::Create(const std::string& file, Diagnostic* Diags) {
} }
llvm::OwningPtr<PTHFileLookup> FL(PTHFileLookup::Create(FileTable, BufBeg)); 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"); InvalidPTH(Diags, "PTH file contains no cached source data");
return 0;
}
// Get the location of the table mapping from persistent ids to the // Get the location of the table mapping from persistent ids to the
// data needed to reconstruct identifiers. // 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, llvm::OwningPtr<PTHStringIdLookup> SL(PTHStringIdLookup::Create(StringIdTable,
BufBeg)); BufBeg));
if (SL->isEmpty()) { if (!FL->isEmpty() && SL->isEmpty()) {
InvalidPTH(Diags, "PTH file contains no identifiers."); InvalidPTH(Diags, "PTH file contains no identifiers.");
return 0; return 0;
} }