diff options
Diffstat (limited to 'lib/CodeGen/AsmPrinter.cpp')
-rw-r--r-- | lib/CodeGen/AsmPrinter.cpp | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/lib/CodeGen/AsmPrinter.cpp b/lib/CodeGen/AsmPrinter.cpp index 3f89792053..6548f56f25 100644 --- a/lib/CodeGen/AsmPrinter.cpp +++ b/lib/CodeGen/AsmPrinter.cpp @@ -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]=='\"') - O << '\"' << TAI->getPrivateGlobalPrefix() << - Name[1] << Suffix << '\"'; + O << '\"'; + O << TAI->getPrivateGlobalPrefix(); + if (Prefix) O << Prefix; + if (Name[0]=='\"') + O << '\"'; + if (Name[0]=='\"') + O << Name[1]; 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); } |