diff options
author | Daniel Dunbar <daniel@zuster.org> | 2010-02-03 01:18:43 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2010-02-03 01:18:43 +0000 |
commit | 92db0fbe5a3701ff0503dec4b72b0f978cad72bc (patch) | |
tree | fdc32ba70ea2409d1a24cf0b41dd6709ead5f82f /clang/lib/Frontend/Backend.cpp | |
parent | 6f1f865fbac89af2f06dc2c981e84b3f5adade43 (diff) | |
download | bcm5719-llvm-92db0fbe5a3701ff0503dec4b72b0f978cad72bc.tar.gz bcm5719-llvm-92db0fbe5a3701ff0503dec4b72b0f978cad72bc.zip |
clang -cc1: Wire up -emit-obj, for emitting object files.
llvm-svn: 95182
Diffstat (limited to 'clang/lib/Frontend/Backend.cpp')
-rw-r--r-- | clang/lib/Frontend/Backend.cpp | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/clang/lib/Frontend/Backend.cpp b/clang/lib/Frontend/Backend.cpp index aab0daefd71..d48e8ef5a84 100644 --- a/clang/lib/Frontend/Backend.cpp +++ b/clang/lib/Frontend/Backend.cpp @@ -303,16 +303,15 @@ bool BackendConsumer::AddEmitPasses() { case 3: OptLevel = CodeGenOpt::Aggressive; break; } - // Normal mode, emit a .s file by running the code generator. - // Note, this also adds codegenerator level optimization passes. - switch (TM->addPassesToEmitFile(*PM, FormattedOutStream, - TargetMachine::CGFT_AssemblyFile, - OptLevel)) { - default: + // Normal mode, emit a .s or .o file by running the code generator. Note, + // this also adds codegenerator level optimization passes. + TargetMachine::CodeGenFileType CGFT = TargetMachine::CGFT_AssemblyFile; + if (Action == Backend_EmitObj) + CGFT = TargetMachine::CGFT_ObjectFile; + if (TM->addPassesToEmitFile(*PM, FormattedOutStream, + CGFT, OptLevel) != CGFT) { Diags.Report(diag::err_fe_unable_to_interface_with_target); return false; - case TargetMachine::CGFT_AssemblyFile: - break; } } |