diff options
author | Jack Carter <jcarter@mips.com> | 2013-02-05 07:47:41 +0000 |
---|---|---|
committer | Jack Carter <jcarter@mips.com> | 2013-02-05 07:47:41 +0000 |
commit | 10be6aef15ad9abb413e734e54d7856790a962e3 (patch) | |
tree | 76df5ebbabcc1e31efe55de4ee31be22f03d09f8 /llvm/lib/Target/Mips | |
parent | 012017890929d11115c7a486024bb7bb3fb729e3 (diff) | |
download | bcm5719-llvm-10be6aef15ad9abb413e734e54d7856790a962e3.tar.gz bcm5719-llvm-10be6aef15ad9abb413e734e54d7856790a962e3.zip |
This patch changes a static_cast to dyn_cast
for MipsELFStreamer objects.
Contributer: Jack Carter
llvm-svn: 174354
Diffstat (limited to 'llvm/lib/Target/Mips')
-rw-r--r-- | llvm/lib/Target/Mips/MCTargetDesc/MipsELFStreamer.h | 6 | ||||
-rw-r--r-- | llvm/lib/Target/Mips/MipsAsmPrinter.cpp | 4 |
2 files changed, 7 insertions, 3 deletions
diff --git a/llvm/lib/Target/Mips/MCTargetDesc/MipsELFStreamer.h b/llvm/lib/Target/Mips/MCTargetDesc/MipsELFStreamer.h index 0d067e063b3..360dbe178cc 100644 --- a/llvm/lib/Target/Mips/MCTargetDesc/MipsELFStreamer.h +++ b/llvm/lib/Target/Mips/MCTargetDesc/MipsELFStreamer.h @@ -19,12 +19,16 @@ public: MipsELFStreamer(MCContext &Context, MCAsmBackend &TAB, raw_ostream &OS, MCCodeEmitter *Emitter, bool RelaxAll, bool NoExecStack) - : MCELFStreamer(Context, TAB, OS, Emitter) { + : MCELFStreamer(SK_MipsELFStreamer, Context, TAB, OS, Emitter) { } ~MipsELFStreamer() {} void emitELFHeaderFlagsCG(const MipsSubtarget &Subtarget); // void emitELFHeaderFlagCG(unsigned Val); + + static bool classof(const MCStreamer *S) { + return S->getKind() == SK_MipsELFStreamer; + } }; MCELFStreamer* createMipsELFStreamer(MCContext &Context, MCAsmBackend &TAB, diff --git a/llvm/lib/Target/Mips/MipsAsmPrinter.cpp b/llvm/lib/Target/Mips/MipsAsmPrinter.cpp index df6baaf474e..07a4faa144c 100644 --- a/llvm/lib/Target/Mips/MipsAsmPrinter.cpp +++ b/llvm/lib/Target/Mips/MipsAsmPrinter.cpp @@ -551,8 +551,8 @@ void MipsAsmPrinter::EmitEndOfAsmFile(Module &M) { // Emit Mips ELF register info Subtarget->getMReginfo().emitMipsReginfoSectionCG( OutStreamer, getObjFileLowering(), *Subtarget); - MipsELFStreamer & MES = static_cast<MipsELFStreamer &>(OutStreamer); - MES.emitELFHeaderFlagsCG(*Subtarget); + if (MipsELFStreamer *MES = dyn_cast<MipsELFStreamer>(&OutStreamer)) + MES->emitELFHeaderFlagsCG(*Subtarget); } MachineLocation |