/// either; the entire thing is pretty badly mangled.
virtual bool hasProtectedVisibility() const { return true; }
- /// \brief Return the section to use for CFString literals, or 0 if no
- /// special section is used.
- virtual const char *getCFStringSection() const {
- return "__DATA,__cfstring";
- }
-
- /// \brief Return the section to use for NSString literals, or 0 if no
- /// special section is used.
- virtual const char *getNSStringSection() const {
- return "__OBJC,__cstring_object,regular,no_dead_strip";
- }
-
- /// \brief Return the section to use for NSString literals, or 0 if no
- /// special section is used (NonFragile ABI).
- virtual const char *getNSStringNonFragileABISection() const {
- return "__DATA, __objc_stringobj, regular, no_dead_strip";
- }
-
/// \brief An optional hook that targets can implement to perform semantic
/// checking on attribute((section("foo"))) specifiers.
///
GV = new llvm::GlobalVariable(getModule(), C->getType(), true,
llvm::GlobalVariable::PrivateLinkage, C,
"_unnamed_cfstring_");
- if (const char *Sect = getTarget().getCFStringSection())
- GV->setSection(Sect);
+ const char *CFStringSection = "__DATA,__cfstring";
+ GV->setSection(CFStringSection);
Entry.setValue(GV);
return GV;
GV = new llvm::GlobalVariable(getModule(), C->getType(), true,
llvm::GlobalVariable::PrivateLinkage, C,
"_unnamed_nsstring_");
+ const char *NSStringSection = "__OBJC,__cstring_object,regular,no_dead_strip";
+ const char *NSStringNonFragileABISection =
+ "__DATA, __objc_stringobj, regular, no_dead_strip";
// FIXME. Fix section.
- if (const char *Sect =
- LangOpts.ObjCRuntime.isNonFragile()
- ? getTarget().getNSStringNonFragileABISection()
- : getTarget().getNSStringSection())
- GV->setSection(Sect);
+ const char *Sect = LangOpts.ObjCRuntime.isNonFragile()
+ ? NSStringNonFragileABISection
+ : NSStringSection;
+ GV->setSection(Sect);
Entry.setValue(GV);
return GV;