The global prefix is always one char. Don't use a string for it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@195926 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Rafael Espindola 2013-11-28 17:00:49 +00:00
parent 98bb341955
commit 4ca0ef70cd
6 changed files with 12 additions and 17 deletions

View File

@ -115,9 +115,9 @@ namespace llvm {
/// LabelSuffix - This is appended to emitted labels.
const char *DebugLabelSuffix; // Defaults to ":"
/// GlobalPrefix - If this is set to a non-empty string, it is prepended
/// onto all global symbols. This is often used for "_" or ".".
const char *GlobalPrefix; // Defaults to ""
/// If this is set to anything other than '\0', it is prepended
/// onto all global symbols. This is often used for '_'.
char GlobalPrefix; // Defaults to '\0'
/// PrivateGlobalPrefix - This prefix is used for globals like constant
/// pool entries that are completely private to the .s file and should not
@ -428,7 +428,7 @@ namespace llvm {
return DebugLabelSuffix;
}
const char *getGlobalPrefix() const {
char getGlobalPrefix() const {
return GlobalPrefix;
}
const char *getPrivateGlobalPrefix() const {

View File

@ -41,7 +41,7 @@ MCAsmInfo::MCAsmInfo() {
CommentString = "#";
LabelSuffix = ":";
DebugLabelSuffix = ":";
GlobalPrefix = "";
GlobalPrefix = '\0';
PrivateGlobalPrefix = ".";
LinkerPrivateGlobalPrefix = "";
InlineAsmStart = "APP";

View File

@ -18,7 +18,7 @@ using namespace llvm;
void MCAsmInfoCOFF::anchor() { }
MCAsmInfoCOFF::MCAsmInfoCOFF() {
GlobalPrefix = "_";
GlobalPrefix = '_';
// MingW 4.5 and later support .comm with log2 alignment, but .lcomm uses byte
// alignment.
COMMDirectiveAlignmentIsInBytes = false;

View File

@ -23,7 +23,7 @@ void MCAsmInfoDarwin::anchor() { }
MCAsmInfoDarwin::MCAsmInfoDarwin() {
// Common settings for all Darwin targets.
// Syntax:
GlobalPrefix = "_";
GlobalPrefix = '_';
PrivateGlobalPrefix = "L";
LinkerPrivateGlobalPrefix = "l";
HasSingleParameterDotFile = false;

View File

@ -47,14 +47,9 @@ void Mangler::getNameWithPrefix(SmallVectorImpl<char> &OutName,
}
const char *Prefix = MAI->getGlobalPrefix();
if (Prefix[0] == 0)
; // Common noop, no prefix.
else if (Prefix[1] == 0)
OutName.push_back(Prefix[0]); // Common, one character prefix.
else
// Arbitrary length prefix.
OutName.append(Prefix, Prefix+strlen(Prefix));
char Prefix = MAI->getGlobalPrefix();
if (Prefix != '\0')
OutName.push_back(Prefix);
}
// If this is a simple string that doesn't need escaping, just append it.

View File

@ -128,7 +128,7 @@ void X86MCAsmInfoMicrosoft::anchor() { }
X86MCAsmInfoMicrosoft::X86MCAsmInfoMicrosoft(const Triple &Triple) {
if (Triple.getArch() == Triple::x86_64) {
GlobalPrefix = "";
GlobalPrefix = '\0';
PrivateGlobalPrefix = ".L";
}
@ -143,7 +143,7 @@ void X86MCAsmInfoGNUCOFF::anchor() { }
X86MCAsmInfoGNUCOFF::X86MCAsmInfoGNUCOFF(const Triple &Triple) {
if (Triple.getArch() == Triple::x86_64) {
GlobalPrefix = "";
GlobalPrefix = '\0';
PrivateGlobalPrefix = ".L";
}