mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-17 20:23:59 +00:00
Reinstate r133516 "Remove some unnecessary uses of c_str()." A trailing null
character in std::string was causing failures for a few ObjC and Obj-C++ tests when -flto was enabled. Revision 133999 resolved this issue. Thanks Jay! rdar://9685235 PR10210 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134017 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -208,7 +208,7 @@ void LTOModule::addObjCClass(GlobalVariable *clgv) {
|
|||||||
if (objcClassNameFromExpression(c->getOperand(1), superclassName)) {
|
if (objcClassNameFromExpression(c->getOperand(1), superclassName)) {
|
||||||
NameAndAttributes info;
|
NameAndAttributes info;
|
||||||
StringMap<NameAndAttributes>::value_type &entry =
|
StringMap<NameAndAttributes>::value_type &entry =
|
||||||
_undefines.GetOrCreateValue(superclassName.c_str());
|
_undefines.GetOrCreateValue(superclassName);
|
||||||
if (!entry.getValue().name) {
|
if (!entry.getValue().name) {
|
||||||
const char *symbolName = entry.getKey().data();
|
const char *symbolName = entry.getKey().data();
|
||||||
info.name = symbolName;
|
info.name = symbolName;
|
||||||
@ -220,7 +220,7 @@ void LTOModule::addObjCClass(GlobalVariable *clgv) {
|
|||||||
std::string className;
|
std::string className;
|
||||||
if (objcClassNameFromExpression(c->getOperand(2), className)) {
|
if (objcClassNameFromExpression(c->getOperand(2), className)) {
|
||||||
StringSet::value_type &entry =
|
StringSet::value_type &entry =
|
||||||
_defines.GetOrCreateValue(className.c_str());
|
_defines.GetOrCreateValue(className);
|
||||||
entry.setValue(1);
|
entry.setValue(1);
|
||||||
NameAndAttributes info;
|
NameAndAttributes info;
|
||||||
info.name = entry.getKey().data();
|
info.name = entry.getKey().data();
|
||||||
@ -243,7 +243,7 @@ void LTOModule::addObjCCategory(GlobalVariable *clgv) {
|
|||||||
NameAndAttributes info;
|
NameAndAttributes info;
|
||||||
|
|
||||||
StringMap<NameAndAttributes>::value_type &entry =
|
StringMap<NameAndAttributes>::value_type &entry =
|
||||||
_undefines.GetOrCreateValue(targetclassName.c_str());
|
_undefines.GetOrCreateValue(targetclassName);
|
||||||
|
|
||||||
if (entry.getValue().name)
|
if (entry.getValue().name)
|
||||||
return;
|
return;
|
||||||
@ -264,7 +264,7 @@ void LTOModule::addObjCClassRef(GlobalVariable *clgv) {
|
|||||||
NameAndAttributes info;
|
NameAndAttributes info;
|
||||||
|
|
||||||
StringMap<NameAndAttributes>::value_type &entry =
|
StringMap<NameAndAttributes>::value_type &entry =
|
||||||
_undefines.GetOrCreateValue(targetclassName.c_str());
|
_undefines.GetOrCreateValue(targetclassName);
|
||||||
if (entry.getValue().name)
|
if (entry.getValue().name)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@ -375,7 +375,7 @@ void LTOModule::addDefinedSymbol(GlobalValue *def, Mangler &mangler,
|
|||||||
|
|
||||||
// add to table of symbols
|
// add to table of symbols
|
||||||
NameAndAttributes info;
|
NameAndAttributes info;
|
||||||
StringSet::value_type &entry = _defines.GetOrCreateValue(Buffer.c_str());
|
StringSet::value_type &entry = _defines.GetOrCreateValue(Buffer);
|
||||||
entry.setValue(1);
|
entry.setValue(1);
|
||||||
|
|
||||||
StringRef Name = entry.getKey();
|
StringRef Name = entry.getKey();
|
||||||
@ -436,7 +436,7 @@ void LTOModule::addPotentialUndefinedSymbol(GlobalValue *decl,
|
|||||||
mangler.getNameWithPrefix(name, decl, false);
|
mangler.getNameWithPrefix(name, decl, false);
|
||||||
|
|
||||||
StringMap<NameAndAttributes>::value_type &entry =
|
StringMap<NameAndAttributes>::value_type &entry =
|
||||||
_undefines.GetOrCreateValue(name.c_str());
|
_undefines.GetOrCreateValue(name);
|
||||||
|
|
||||||
// we already have the symbol
|
// we already have the symbol
|
||||||
if (entry.getValue().name)
|
if (entry.getValue().name)
|
||||||
|
Reference in New Issue
Block a user