diff options
-rw-r--r-- | include/llvm/Target/TargetAsmInfo.h | 7 | ||||
-rw-r--r-- | lib/Target/TargetAsmInfo.cpp | 7 |
2 files changed, 10 insertions, 4 deletions
diff --git a/include/llvm/Target/TargetAsmInfo.h b/include/llvm/Target/TargetAsmInfo.h index fc044b8..24d54cc 100644 --- a/include/llvm/Target/TargetAsmInfo.h +++ b/include/llvm/Target/TargetAsmInfo.h @@ -592,9 +592,10 @@ namespace llvm { return 0; } - /// SectionForGlobal - This hooks returns proper section name for given - /// global with all necessary flags and marks. - // FIXME: MOVE TO TARGETLOWERING. + /// SectionForGlobal - This method computes the appropriate section to emit + /// the specified global variable or function definition. This should not + /// be passed external (or available externally) globals. + // FIXME: MOVE TO ASMPRINTER. const Section* SectionForGlobal(const GlobalValue *GV) const; /// getSpecialCasedSectionGlobals - Allow the target to completely override diff --git a/lib/Target/TargetAsmInfo.cpp b/lib/Target/TargetAsmInfo.cpp index 727c584..dfb274f 100644 --- a/lib/Target/TargetAsmInfo.cpp +++ b/lib/Target/TargetAsmInfo.cpp @@ -293,8 +293,13 @@ static SectionKind::Kind SectionKindForGlobal(const GlobalValue *GV, } } - +/// SectionForGlobal - This method computes the appropriate section to emit +/// the specified global variable or function definition. This should not +/// be passed external (or available externally) globals. const Section *TargetAsmInfo::SectionForGlobal(const GlobalValue *GV) const { + assert(!GV->isDeclaration() && !GV->hasAvailableExternallyLinkage() && + "Can only be used for global definitions"); + SectionKind::Kind Kind = SectionKindForGlobal(GV, TM.getRelocationModel()); // Select section name. |