diff options
author | Saleem Abdulrasool <compnerd@compnerd.org> | 2016-04-07 05:41:11 +0000 |
---|---|---|
committer | Saleem Abdulrasool <compnerd@compnerd.org> | 2016-04-07 05:41:11 +0000 |
commit | 724275ba5fb137eedbb1930e5bad493acea1b4ce (patch) | |
tree | c4685b16122f59ceaccb3b2fb4a780123a051cd1 /clang/lib/Frontend/ASTUnit.cpp | |
parent | 979e9756ecbcba1a1b4743048cb1193fb799bd53 (diff) | |
download | bcm5719-llvm-724275ba5fb137eedbb1930e5bad493acea1b4ce.tar.gz bcm5719-llvm-724275ba5fb137eedbb1930e5bad493acea1b4ce.zip |
Basic: thread CodeGenOptions into TargetInfo
This threads CodeGenOptions into the TargetInfo hierarchy. This is motivated by
ARM which can change some target information based on the EABI selected
(-meabi). Similar options exist for other platforms (e.g. MIPS) and thus is
generally useful. NFC.
llvm-svn: 265640
Diffstat (limited to 'clang/lib/Frontend/ASTUnit.cpp')
-rw-r--r-- | clang/lib/Frontend/ASTUnit.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/clang/lib/Frontend/ASTUnit.cpp b/clang/lib/Frontend/ASTUnit.cpp index 61e80d5d729..c7f63652562 100644 --- a/clang/lib/Frontend/ASTUnit.cpp +++ b/clang/lib/Frontend/ASTUnit.cpp @@ -1058,7 +1058,8 @@ bool ASTUnit::Parse(std::shared_ptr<PCHContainerOperations> PCHContainerOps, // Create the target instance. Clang->setTarget(TargetInfo::CreateTargetInfo( - Clang->getDiagnostics(), Clang->getInvocation().TargetOpts)); + Clang->getDiagnostics(), Clang->getInvocation().TargetOpts, + Clang->getInvocation().getCodeGenOpts())); if (!Clang->hasTarget()) return true; @@ -1518,7 +1519,8 @@ ASTUnit::getMainBufferWithPrecompiledPreamble( // Create the target instance. Clang->setTarget(TargetInfo::CreateTargetInfo( - Clang->getDiagnostics(), Clang->getInvocation().TargetOpts)); + Clang->getDiagnostics(), Clang->getInvocation().TargetOpts, + Clang->getInvocation().getCodeGenOpts())); if (!Clang->hasTarget()) { llvm::sys::fs::remove(FrontendOpts.OutputFile); Preamble.clear(); @@ -1781,7 +1783,8 @@ ASTUnit *ASTUnit::LoadFromCompilerInvocationAction( // Create the target instance. Clang->setTarget(TargetInfo::CreateTargetInfo( - Clang->getDiagnostics(), Clang->getInvocation().TargetOpts)); + Clang->getDiagnostics(), Clang->getInvocation().TargetOpts, + Clang->getInvocation().getCodeGenOpts())); if (!Clang->hasTarget()) return nullptr; @@ -2364,7 +2367,8 @@ void ASTUnit::CodeComplete( // Create the target instance. Clang->setTarget(TargetInfo::CreateTargetInfo( - Clang->getDiagnostics(), Clang->getInvocation().TargetOpts)); + Clang->getDiagnostics(), Clang->getInvocation().TargetOpts, + Clang->getInvocation().getCodeGenOpts())); if (!Clang->hasTarget()) { Clang->setInvocation(nullptr); return; |