aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/ASTUnit.cpp
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2012-10-23 06:18:24 +0000
committerDouglas Gregor <dgregor@apple.com>2012-10-23 06:18:24 +0000
commitfc9e7a2969650e52a87864a6a79bd37b42ea33e3 (patch)
tree6c2443b774cf45deb6725e8ba96d5d9f2323cc0b /clang/lib/Frontend/ASTUnit.cpp
parentabf836cffa8ea53e67f56fddc49ed7063f7a0e85 (diff)
downloadllvm-fc9e7a2969650e52a87864a6a79bd37b42ea33e3.zip
llvm-fc9e7a2969650e52a87864a6a79bd37b42ea33e3.tar.gz
llvm-fc9e7a2969650e52a87864a6a79bd37b42ea33e3.tar.bz2
If the precompiled header named by "-include" is actually a directory,
check each of the files within that directory to determine if any of them is an AST file that matches the language and target options. If so, the first matching AST file is loaded. This fixes a longstanding discrepency with GCC's precompiled header implementation. llvm-svn: 166469
Diffstat (limited to 'clang/lib/Frontend/ASTUnit.cpp')
-rw-r--r--clang/lib/Frontend/ASTUnit.cpp11
1 files changed, 2 insertions, 9 deletions
diff --git a/clang/lib/Frontend/ASTUnit.cpp b/clang/lib/Frontend/ASTUnit.cpp
index a340d7db..11cddc78 100644
--- a/clang/lib/Frontend/ASTUnit.cpp
+++ b/clang/lib/Frontend/ASTUnit.cpp
@@ -523,14 +523,11 @@ public:
Predefines(Predefines), Counter(Counter), NumHeaderInfos(0),
InitializedLanguage(false) {}
- virtual bool ReadLanguageOptions(const serialization::ModuleFile &M,
- const LangOptions &LangOpts,
+ virtual bool ReadLanguageOptions(const LangOptions &LangOpts,
bool Complain) {
if (InitializedLanguage)
return false;
- assert(M.Kind == serialization::MK_MainFile);
-
LangOpt = LangOpts;
InitializedLanguage = true;
@@ -538,16 +535,12 @@ public:
return false;
}
- virtual bool ReadTargetOptions(const serialization::ModuleFile &M,
- const TargetOptions &TargetOpts,
+ virtual bool ReadTargetOptions(const TargetOptions &TargetOpts,
bool Complain) {
// If we've already initialized the target, don't do it again.
if (Target)
return false;
- assert(M.Kind == serialization::MK_MainFile);
-
-
this->TargetOpts = new TargetOptions(TargetOpts);
Target = TargetInfo::CreateTargetInfo(PP.getDiagnostics(),
*this->TargetOpts);