Unbreak C++ tests on x86 Darwin.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53237 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Evan Cheng 2008-07-08 16:40:43 +00:00
parent 7220b814ed
commit ab8faba2fb
3 changed files with 18 additions and 9 deletions

View File

@ -351,8 +351,9 @@ namespace llvm {
/// printSuffixedName - This prints a name with preceding /// printSuffixedName - This prints a name with preceding
/// getPrivateGlobalPrefix and the specified suffix, handling quoted names /// getPrivateGlobalPrefix and the specified suffix, handling quoted names
/// correctly. /// correctly.
void printSuffixedName(const char *Name, const char* Suffix); void printSuffixedName(const char *Name, const char *Suffix,
void printSuffixedName(std::string &Name, const char* Suffix); const char *Prefix = 0);
void printSuffixedName(const std::string &Name, const char* Suffix);
private: private:
void EmitLLVMUsedList(Constant *List); void EmitLLVMUsedList(Constant *List);

View File

@ -1445,14 +1445,23 @@ void AsmPrinter::printDataDirective(const Type *type) {
} }
} }
void AsmPrinter::printSuffixedName(const char *Name, const char* Suffix) { void AsmPrinter::printSuffixedName(const char *Name, const char *Suffix,
const char *Prefix) {
if (Name[0]=='\"') if (Name[0]=='\"')
O << '\"' << TAI->getPrivateGlobalPrefix() << O << '\"';
Name[1] << Suffix << '\"'; O << TAI->getPrivateGlobalPrefix();
if (Prefix) O << Prefix;
if (Name[0]=='\"')
O << '\"';
if (Name[0]=='\"')
O << Name[1];
else else
O << TAI->getPrivateGlobalPrefix() << Name << Suffix; O << Name;
O << Suffix;
if (Name[0]=='\"')
O << '\"';
} }
void AsmPrinter::printSuffixedName(std::string &Name, const char* Suffix) { void AsmPrinter::printSuffixedName(const std::string &Name, const char* Suffix) {
printSuffixedName(Name.c_str(), Suffix); printSuffixedName(Name.c_str(), Suffix);
} }

View File

@ -977,8 +977,7 @@ void X86ATTAsmPrinter::printModuleLevelGV(const GlobalVariable* GVar) {
/// printGVStub - Print stub for a global value. /// printGVStub - Print stub for a global value.
/// ///
void X86ATTAsmPrinter::printGVStub(const char *GV, const char *Prefix) { void X86ATTAsmPrinter::printGVStub(const char *GV, const char *Prefix) {
if (Prefix) O << Prefix; printSuffixedName(GV, "$non_lazy_ptr", Prefix);
printSuffixedName(GV, "$non_lazy_ptr");
O << ":\n\t.indirect_symbol "; O << ":\n\t.indirect_symbol ";
if (Prefix) O << Prefix; if (Prefix) O << Prefix;
O << GV << "\n\t.long\t0\n"; O << GV << "\n\t.long\t0\n";