diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2010-12-09 23:48:34 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2010-12-09 23:48:34 +0000 |
commit | 40fa9b6765aae62675666a1efcf47e0ebb6f9253 (patch) | |
tree | 56194e7f6d33ce0f427840fcb62482103a89f429 /clang/tools/driver/cc1as_main.cpp | |
parent | 56eb7412370ba82756913f9f6003f93770a2741f (diff) | |
download | bcm5719-llvm-40fa9b6765aae62675666a1efcf47e0ebb6f9253.tar.gz bcm5719-llvm-40fa9b6765aae62675666a1efcf47e0ebb6f9253.zip |
Update clang for the API changes in the cfi patch.
llvm-svn: 121435
Diffstat (limited to 'clang/tools/driver/cc1as_main.cpp')
-rw-r--r-- | clang/tools/driver/cc1as_main.cpp | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/clang/tools/driver/cc1as_main.cpp b/clang/tools/driver/cc1as_main.cpp index 40ee20eed0f..dbdc2101d40 100644 --- a/clang/tools/driver/cc1as_main.cpp +++ b/clang/tools/driver/cc1as_main.cpp @@ -44,8 +44,11 @@ #include "llvm/Support/Signals.h" #include "llvm/Support/system_error.h" #include "llvm/Target/TargetAsmBackend.h" +#include "llvm/Target/TargetAsmInfo.h" #include "llvm/Target/TargetAsmParser.h" #include "llvm/Target/TargetData.h" +#include "llvm/Target/TargetLowering.h" +#include "llvm/Target/TargetLoweringObjectFile.h" #include "llvm/Target/TargetMachine.h" #include "llvm/Target/TargetRegistry.h" #include "llvm/Target/TargetSelect.h" @@ -245,7 +248,6 @@ static bool ExecuteAssembler(AssemblerInvocation &Opts, Diagnostic &Diags) { OwningPtr<MCAsmInfo> MAI(TheTarget->createAsmInfo(Opts.Triple)); assert(MAI && "Unable to create target asm info!"); - MCContext Ctx(*MAI); bool IsBinary = Opts.OutputType == AssemblerInvocation::FT_Obj; formatted_raw_ostream *Out = GetOutputStream(Opts, Diags, IsBinary); if (!Out) @@ -258,16 +260,25 @@ static bool ExecuteAssembler(AssemblerInvocation &Opts, Diagnostic &Diags) { return false; } + const TargetAsmInfo tai(*TM); + MCContext Ctx(*MAI, &tai); + OwningPtr<MCStreamer> Str; + const TargetLoweringObjectFile &TLOF = + TM->getTargetLowering()->getObjFileLowering(); + const_cast<TargetLoweringObjectFile&>(TLOF).Initialize(Ctx, *TM); + + if (Opts.OutputType == AssemblerInvocation::FT_Asm) { MCInstPrinter *IP = TheTarget->createMCInstPrinter(Opts.OutputAsmVariant, *MAI); MCCodeEmitter *CE = 0; if (Opts.ShowEncoding) CE = TheTarget->createCodeEmitter(*TM, Ctx); - Str.reset(createAsmStreamer(Ctx, *Out,TM->getTargetData()->isLittleEndian(), - /*asmverbose*/true, IP, CE, Opts.ShowInst)); + Str.reset(TheTarget->createAsmStreamer(Ctx, *Out, /*asmverbose*/true, + /*useLoc*/ true, IP, CE, + Opts.ShowInst)); } else if (Opts.OutputType == AssemblerInvocation::FT_Null) { Str.reset(createNullStreamer(Ctx)); } else { |