[llvm] r174354 - This patch changes a static_cast to dyn_cast
Jack Carter
jcarter at mips.com
Mon Feb 4 23:47:41 PST 2013
Author: jacksprat
Date: Tue Feb 5 01:47:41 2013
New Revision: 174354
URL: http://llvm.org/viewvc/llvm-project?rev=174354&view=rev
Log:
This patch changes a static_cast to dyn_cast
for MipsELFStreamer objects.
Contributer: Jack Carter
Modified:
llvm/trunk/include/llvm/MC/MCStreamer.h
llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsELFStreamer.h
llvm/trunk/lib/Target/Mips/MipsAsmPrinter.cpp
Modified: llvm/trunk/include/llvm/MC/MCStreamer.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/MC/MCStreamer.h?rev=174354&r1=174353&r2=174354&view=diff
==============================================================================
--- llvm/trunk/include/llvm/MC/MCStreamer.h (original)
+++ llvm/trunk/include/llvm/MC/MCStreamer.h Tue Feb 5 01:47:41 2013
@@ -57,6 +57,7 @@ namespace llvm {
SK_ARMELFStreamer,
SK_MachOStreamer,
SK_PureStreamer,
+ SK_MipsELFStreamer,
SK_WinCOFFStreamer
};
Modified: llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsELFStreamer.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsELFStreamer.h?rev=174354&r1=174353&r2=174354&view=diff
==============================================================================
--- llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsELFStreamer.h (original)
+++ llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsELFStreamer.h Tue Feb 5 01:47:41 2013
@@ -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,
Modified: llvm/trunk/lib/Target/Mips/MipsAsmPrinter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Mips/MipsAsmPrinter.cpp?rev=174354&r1=174353&r2=174354&view=diff
==============================================================================
--- llvm/trunk/lib/Target/Mips/MipsAsmPrinter.cpp (original)
+++ llvm/trunk/lib/Target/Mips/MipsAsmPrinter.cpp Tue Feb 5 01:47:41 2013
@@ -551,8 +551,8 @@ void MipsAsmPrinter::EmitEndOfAsmFile(Mo
// 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
More information about the llvm-commits
mailing list