summaryrefslogtreecommitdiff
path: root/tools/lto
diff options
context:
space:
mode:
authorChad Rosier <mcrosier@apple.com>2011-06-27 22:54:29 +0000
committerChad Rosier <mcrosier@apple.com>2011-06-27 22:54:29 +0000
commit26f448079f2dc070da637e346a0635ad3127df7d (patch)
tree1f0ab360d500fa02717b0ef3e555d09fc9302c2b /tools/lto
parent016c5829a5dacc3b28cb264b4b6d166552e3d568 (diff)
downloadllvm-26f448079f2dc070da637e346a0635ad3127df7d.tar.gz
llvm-26f448079f2dc070da637e346a0635ad3127df7d.tar.bz2
llvm-26f448079f2dc070da637e346a0635ad3127df7d.tar.xz
Revert r133516 "Remove some unnecessary uses of c_str()."
This was causing compile-time failures for some of the Objc and Obj-C++ benchmarks. The specific errors were of the form: "ld: duplicate symbol …" rdar://9660124 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133955 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/lto')
-rw-r--r--tools/lto/LTOModule.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/tools/lto/LTOModule.cpp b/tools/lto/LTOModule.cpp
index c899555517..8f2b1f4840 100644
--- a/tools/lto/LTOModule.cpp
+++ b/tools/lto/LTOModule.cpp
@@ -208,7 +208,7 @@ void LTOModule::addObjCClass(GlobalVariable *clgv) {
if (objcClassNameFromExpression(c->getOperand(1), superclassName)) {
NameAndAttributes info;
StringMap<NameAndAttributes>::value_type &entry =
- _undefines.GetOrCreateValue(superclassName);
+ _undefines.GetOrCreateValue(superclassName.c_str());
if (!entry.getValue().name) {
const char *symbolName = entry.getKey().data();
info.name = symbolName;
@@ -220,7 +220,7 @@ void LTOModule::addObjCClass(GlobalVariable *clgv) {
std::string className;
if (objcClassNameFromExpression(c->getOperand(2), className)) {
StringSet::value_type &entry =
- _defines.GetOrCreateValue(className);
+ _defines.GetOrCreateValue(className.c_str());
entry.setValue(1);
NameAndAttributes info;
info.name = entry.getKey().data();
@@ -243,7 +243,7 @@ void LTOModule::addObjCCategory(GlobalVariable *clgv) {
NameAndAttributes info;
StringMap<NameAndAttributes>::value_type &entry =
- _undefines.GetOrCreateValue(targetclassName);
+ _undefines.GetOrCreateValue(targetclassName.c_str());
if (entry.getValue().name)
return;
@@ -264,7 +264,7 @@ void LTOModule::addObjCClassRef(GlobalVariable *clgv) {
NameAndAttributes info;
StringMap<NameAndAttributes>::value_type &entry =
- _undefines.GetOrCreateValue(targetclassName);
+ _undefines.GetOrCreateValue(targetclassName.c_str());
if (entry.getValue().name)
return;
@@ -375,7 +375,7 @@ void LTOModule::addDefinedSymbol(GlobalValue *def, Mangler &mangler,
// add to table of symbols
NameAndAttributes info;
- StringSet::value_type &entry = _defines.GetOrCreateValue(Buffer);
+ StringSet::value_type &entry = _defines.GetOrCreateValue(Buffer.c_str());
entry.setValue(1);
StringRef Name = entry.getKey();
@@ -436,7 +436,7 @@ void LTOModule::addPotentialUndefinedSymbol(GlobalValue *decl,
mangler.getNameWithPrefix(name, decl, false);
StringMap<NameAndAttributes>::value_type &entry =
- _undefines.GetOrCreateValue(name);
+ _undefines.GetOrCreateValue(name.c_str());
// we already have the symbol
if (entry.getValue().name)