diff --git a/lib/Target/TargetAsmInfo.cpp b/lib/Target/TargetAsmInfo.cpp index 237b96de1ad..2be9440f3b4 100644 --- a/lib/Target/TargetAsmInfo.cpp +++ b/lib/Target/TargetAsmInfo.cpp @@ -273,15 +273,13 @@ TargetAsmInfo::SectionForGlobal(const GlobalValue *GV) const { S = SelectSectionForGlobal(GV); } - std::string Name = S->Name; + if (!S->isNamed()) + return S->Name; // If section is named we need to switch into it via special '.section' // directive and also append funky flags. Otherwise - section name is just // some magic assembler directive. - if (S->isNamed()) - Name = getSwitchToSectionDirective() + Name + PrintSectionFlags(S->Flags); - - return Name; + return getSwitchToSectionDirective() + S->Name + PrintSectionFlags(S->Flags); } // Lame default implementation. Calculate the section name for global.