[LLVMdev] Print Global Prefix Issue
Jan Tlatlik
jtlatlik at techfak.uni-bielefeld.de
Sat Mar 30 08:39:46 PDT 2013
On 03/30/2013 12:42 AM, Jan Tlatlik wrote:
>> Hey,
>>
>> I have an odd problem with printing prefixed global symbols in my
>> AsmPrinter.
>>
>> In my MCAsmInfo subclass implementation, I set
>>
>> GlobalPrefix = "%";
>>
>>
>> because my assembler needs this to avoid name collisions.
>> Now, whenever a global symbol (be it a label, mbb operand ,etc.) gets
>> printed, it is encapsulated in quotes.
>> With other chars than '%' everything is okay...
>>
>> I also explicitly set AllowQuotesInName = false (which should be the
>> default).
>>
Okay, I managed to find out that in MCSymbol all symbol names with chars
containting not one of the following get quoted (independently of the
AllowQuotesInName setting):
static bool isAcceptableChar(char C) {
if ((C < 'a' || C > 'z') &&
(C < 'A' || C > 'Z') &&
(C < '0' || C > '9') &&
C != '_' && C != '$' && C != '.' && C != '@')
return false;
return true;
}
If I add C!='%' there, it works fine for me. But, isn't there any way to
do this in a target-only manner, like overriding that existing
implementation in a subclass?
Jan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130330/55673cb9/attachment.html>
More information about the llvm-dev
mailing list