diff options
author | Douglas Gregor <dgregor@apple.com> | 2012-10-15 16:45:32 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2012-10-15 16:45:32 +0000 |
commit | 9a022bb007a3e77e1ac1330f955a239cfb1dd0fb (patch) | |
tree | 7b86255dc1214dfa9c742ce9e5ac52f5292cbcdf /lib/Frontend | |
parent | ba1f04007baf376c5f5ccf7ef23588399942de7b (diff) |
Teach TargetInfo to hold on to the TargetOptions with which it was
created.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165943 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Frontend')
-rw-r--r-- | lib/Frontend/ASTUnit.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/Frontend/ASTUnit.cpp b/lib/Frontend/ASTUnit.cpp index 9954705d39..e602d30374 100644 --- a/lib/Frontend/ASTUnit.cpp +++ b/lib/Frontend/ASTUnit.cpp @@ -503,6 +503,7 @@ class ASTInfoCollector : public ASTReaderListener { ASTContext &Context; LangOptions &LangOpt; HeaderSearch &HSI; + TargetOptions &TargetOpts; IntrusiveRefCntPtr<TargetInfo> &Target; std::string &Predefines; unsigned &Counter; @@ -512,11 +513,12 @@ class ASTInfoCollector : public ASTReaderListener { bool InitializedLanguage; public: ASTInfoCollector(Preprocessor &PP, ASTContext &Context, LangOptions &LangOpt, - HeaderSearch &HSI, + HeaderSearch &HSI, TargetOptions &TargetOpts, IntrusiveRefCntPtr<TargetInfo> &Target, std::string &Predefines, unsigned &Counter) - : PP(PP), Context(Context), LangOpt(LangOpt), HSI(HSI), Target(Target), + : PP(PP), Context(Context), LangOpt(LangOpt), HSI(HSI), + TargetOpts(TargetOpts), Target(Target), Predefines(Predefines), Counter(Counter), NumHeaderInfos(0), InitializedLanguage(false) {} @@ -543,7 +545,6 @@ public: assert(M.Kind == serialization::MK_MainFile); // FIXME: This is broken, we should store the TargetOptions in the AST file. - TargetOptions TargetOpts; TargetOpts.ABI = ""; TargetOpts.CXXABI = ""; TargetOpts.CPU = ""; @@ -807,7 +808,8 @@ ASTUnit *ASTUnit::LoadFromASTFile(const std::string &Filename, Reader->setListener(new ASTInfoCollector(*AST->PP, Context, AST->ASTFileLangOpts, HeaderInfo, - AST->Target, Predefines, Counter)); + AST->TargetOpts, AST->Target, + Predefines, Counter)); switch (Reader->ReadAST(Filename, serialization::MK_MainFile)) { case ASTReader::Success: |