diff --git a/clang/include/clang/Basic/TargetInfo.h b/clang/include/clang/Basic/TargetInfo.h index 3d4a781da37f..24a6fa612c02 100644 --- a/clang/include/clang/Basic/TargetInfo.h +++ b/clang/include/clang/Basic/TargetInfo.h @@ -605,24 +605,6 @@ public: /// 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. /// diff --git a/clang/lib/CodeGen/CodeGenModule.cpp b/clang/lib/CodeGen/CodeGenModule.cpp index a3f3af38d968..a3d575c6e599 100644 --- a/clang/lib/CodeGen/CodeGenModule.cpp +++ b/clang/lib/CodeGen/CodeGenModule.cpp @@ -2420,8 +2420,8 @@ CodeGenModule::GetAddrOfConstantCFString(const StringLiteral *Literal) { 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; @@ -2532,12 +2532,14 @@ CodeGenModule::GetAddrOfConstantString(const StringLiteral *Literal) { 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;