зеркало из https://github.com/microsoft/clang-1.git
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:
Родитель
7037ab8f15
Коммит
1d20197cb9
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
Загрузка…
Ссылка в новой задаче