diff options
author | Douglas Gregor <dgregor@apple.com> | 2012-11-16 04:24:59 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2012-11-16 04:24:59 +0000 |
commit | 49a87549f4dc95ecb3d8a593b71df7c167a51f85 (patch) | |
tree | cb41ada4fc9414ba682b6b5c9cf778c6bc9b59ec | |
parent | 8149a98f6691f2b6eb58389f329187d0f1b8ffd1 (diff) |
Since CreateTargetInfo is taking ownership of the target options, pass
it as a pointer.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@168136 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/clang/Basic/TargetInfo.h | 6 | ||||
-rw-r--r-- | lib/Basic/Targets.cpp | 30 | ||||
-rw-r--r-- | lib/Frontend/ASTUnit.cpp | 12 | ||||
-rw-r--r-- | lib/Frontend/ChainedIncludesSource.cpp | 2 | ||||
-rw-r--r-- | lib/Frontend/CompilerInstance.cpp | 2 |
5 files changed, 26 insertions, 26 deletions
diff --git a/include/clang/Basic/TargetInfo.h b/include/clang/Basic/TargetInfo.h index 6774e8ed2c..a299c40b93 100644 --- a/include/clang/Basic/TargetInfo.h +++ b/include/clang/Basic/TargetInfo.h @@ -109,7 +109,7 @@ public: /// modify the options to canonicalize the target feature information to match /// what the backend expects. static TargetInfo* CreateTargetInfo(DiagnosticsEngine &Diags, - TargetOptions &Opts); + TargetOptions *Opts); virtual ~TargetInfo(); @@ -119,8 +119,8 @@ public: return *TargetOpts; } - void setTargetOpts(TargetOptions &TargetOpts) { - this->TargetOpts = &TargetOpts; + void setTargetOpts(TargetOptions *TargetOpts) { + this->TargetOpts = TargetOpts; } ///===---- Target Data Type Query Methods -------------------------------===// diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp index 6dabba8232..4488474b3f 100644 --- a/lib/Basic/Targets.cpp +++ b/lib/Basic/Targets.cpp @@ -4658,8 +4658,8 @@ static TargetInfo *AllocateTarget(const std::string &T) { /// CreateTargetInfo - Return the target info object for the specified target /// triple. TargetInfo *TargetInfo::CreateTargetInfo(DiagnosticsEngine &Diags, - TargetOptions &Opts) { - llvm::Triple Triple(Opts.Triple); + TargetOptions *Opts) { + llvm::Triple Triple(Opts->Triple); // Construct the target OwningPtr<TargetInfo> Target(AllocateTarget(Triple.str())); @@ -4670,20 +4670,20 @@ TargetInfo *TargetInfo::CreateTargetInfo(DiagnosticsEngine &Diags, Target->setTargetOpts(Opts); // Set the target CPU if specified. - if (!Opts.CPU.empty() && !Target->setCPU(Opts.CPU)) { - Diags.Report(diag::err_target_unknown_cpu) << Opts.CPU; + if (!Opts->CPU.empty() && !Target->setCPU(Opts->CPU)) { + Diags.Report(diag::err_target_unknown_cpu) << Opts->CPU; return 0; } // Set the target ABI if specified. - if (!Opts.ABI.empty() && !Target->setABI(Opts.ABI)) { - Diags.Report(diag::err_target_unknown_abi) << Opts.ABI; + if (!Opts->ABI.empty() && !Target->setABI(Opts->ABI)) { + Diags.Report(diag::err_target_unknown_abi) << Opts->ABI; return 0; } // Set the target C++ ABI. - if (!Opts.CXXABI.empty() && !Target->setCXXABI(Opts.CXXABI)) { - Diags.Report(diag::err_target_unknown_cxxabi) << Opts.CXXABI; + if (!Opts->CXXABI.empty() && !Target->setCXXABI(Opts->CXXABI)) { + Diags.Report(diag::err_target_unknown_cxxabi) << Opts->CXXABI; return 0; } @@ -4695,8 +4695,8 @@ TargetInfo *TargetInfo::CreateTargetInfo(DiagnosticsEngine &Diags, // Apply the user specified deltas. // First the enables. for (std::vector<std::string>::const_iterator - it = Opts.FeaturesAsWritten.begin(), - ie = Opts.FeaturesAsWritten.end(); + it = Opts->FeaturesAsWritten.begin(), + ie = Opts->FeaturesAsWritten.end(); it != ie; ++it) { const char *Name = it->c_str(); @@ -4712,8 +4712,8 @@ TargetInfo *TargetInfo::CreateTargetInfo(DiagnosticsEngine &Diags, // Then the disables. for (std::vector<std::string>::const_iterator - it = Opts.FeaturesAsWritten.begin(), - ie = Opts.FeaturesAsWritten.end(); + it = Opts->FeaturesAsWritten.begin(), + ie = Opts->FeaturesAsWritten.end(); it != ie; ++it) { const char *Name = it->c_str(); @@ -4732,11 +4732,11 @@ TargetInfo *TargetInfo::CreateTargetInfo(DiagnosticsEngine &Diags, // // FIXME: If we are completely confident that we have the right set, we only // need to pass the minuses. - Opts.Features.clear(); + Opts->Features.clear(); for (llvm::StringMap<bool>::const_iterator it = Features.begin(), ie = Features.end(); it != ie; ++it) - Opts.Features.push_back((it->second ? "+" : "-") + it->first().str()); - Target->HandleTargetFeatures(Opts.Features); + Opts->Features.push_back((it->second ? "+" : "-") + it->first().str()); + Target->HandleTargetFeatures(Opts->Features); return Target.take(); } diff --git a/lib/Frontend/ASTUnit.cpp b/lib/Frontend/ASTUnit.cpp index d00b7659d2..82fe5d3399 100644 --- a/lib/Frontend/ASTUnit.cpp +++ b/lib/Frontend/ASTUnit.cpp @@ -542,8 +542,8 @@ public: return false; this->TargetOpts = new TargetOptions(TargetOpts); - Target = TargetInfo::CreateTargetInfo(PP.getDiagnostics(), - *this->TargetOpts); + Target = TargetInfo::CreateTargetInfo(PP.getDiagnostics(), + &*this->TargetOpts); updated(); return false; @@ -1082,7 +1082,7 @@ bool ASTUnit::Parse(llvm::MemoryBuffer *OverrideMainBuffer) { // Create the target instance. Clang->setTarget(TargetInfo::CreateTargetInfo(Clang->getDiagnostics(), - Clang->getTargetOpts())); + &Clang->getTargetOpts())); if (!Clang->hasTarget()) { delete OverrideMainBuffer; return true; @@ -1551,7 +1551,7 @@ llvm::MemoryBuffer *ASTUnit::getMainBufferWithPrecompiledPreamble( // Create the target instance. Clang->setTarget(TargetInfo::CreateTargetInfo(Clang->getDiagnostics(), - Clang->getTargetOpts())); + &Clang->getTargetOpts())); if (!Clang->hasTarget()) { llvm::sys::Path(FrontendOpts.OutputFile).eraseFromDisk(); Preamble.clear(); @@ -1774,7 +1774,7 @@ ASTUnit *ASTUnit::LoadFromCompilerInvocationAction(CompilerInvocation *CI, // Create the target instance. Clang->setTarget(TargetInfo::CreateTargetInfo(Clang->getDiagnostics(), - Clang->getTargetOpts())); + &Clang->getTargetOpts())); if (!Clang->hasTarget()) return 0; @@ -2370,7 +2370,7 @@ void ASTUnit::CodeComplete(StringRef File, unsigned Line, unsigned Column, // Create the target instance. Clang->setTarget(TargetInfo::CreateTargetInfo(Clang->getDiagnostics(), - Clang->getTargetOpts())); + &Clang->getTargetOpts())); if (!Clang->hasTarget()) { Clang->setInvocation(0); return; diff --git a/lib/Frontend/ChainedIncludesSource.cpp b/lib/Frontend/ChainedIncludesSource.cpp index 94d950f189..3a5ceef48f 100644 --- a/lib/Frontend/ChainedIncludesSource.cpp +++ b/lib/Frontend/ChainedIncludesSource.cpp @@ -99,7 +99,7 @@ ChainedIncludesSource *ChainedIncludesSource::create(CompilerInstance &CI) { Clang->setInvocation(CInvok.take()); Clang->setDiagnostics(Diags.getPtr()); Clang->setTarget(TargetInfo::CreateTargetInfo(Clang->getDiagnostics(), - Clang->getTargetOpts())); + &Clang->getTargetOpts())); Clang->createFileManager(); Clang->createSourceManager(Clang->getFileManager()); Clang->createPreprocessor(); diff --git a/lib/Frontend/CompilerInstance.cpp b/lib/Frontend/CompilerInstance.cpp index 8282a9c9c3..c2aff82354 100644 --- a/lib/Frontend/CompilerInstance.cpp +++ b/lib/Frontend/CompilerInstance.cpp @@ -664,7 +664,7 @@ bool CompilerInstance::ExecuteAction(FrontendAction &Act) { raw_ostream &OS = llvm::errs(); // Create the target instance. - setTarget(TargetInfo::CreateTargetInfo(getDiagnostics(), getTargetOpts())); + setTarget(TargetInfo::CreateTargetInfo(getDiagnostics(), &getTargetOpts())); if (!hasTarget()) return false; |