diff options
-rw-r--r-- | llvm/lib/Target/X86/X86AsmPrinter.cpp | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/llvm/lib/Target/X86/X86AsmPrinter.cpp b/llvm/lib/Target/X86/X86AsmPrinter.cpp index 44c123fc1db..4e5b7b8804d 100644 --- a/llvm/lib/Target/X86/X86AsmPrinter.cpp +++ b/llvm/lib/Target/X86/X86AsmPrinter.cpp @@ -561,12 +561,13 @@ MCSymbol *X86AsmPrinter::GetCPISymbol(unsigned CPID) const { SectionKind Kind = CPE.getSectionKind(TM.getSubtargetImpl()->getDataLayout()); const Constant *C = CPE.Val.ConstVal; - const MCSectionCOFF *S = cast<MCSectionCOFF>( - getObjFileLowering().getSectionForConstant(Kind, C)); - if (MCSymbol *Sym = S->getCOMDATSymbol()) { - if (Sym->isUndefined()) - OutStreamer.EmitSymbolAttribute(Sym, MCSA_Global); - return Sym; + if (const MCSectionCOFF *S = dyn_cast<MCSectionCOFF>( + getObjFileLowering().getSectionForConstant(Kind, C))) { + if (MCSymbol *Sym = S->getCOMDATSymbol()) { + if (Sym->isUndefined()) + OutStreamer.EmitSymbolAttribute(Sym, MCSA_Global); + return Sym; + } } } } |