mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-28 19:31:58 +00:00
If the llvm name contains an unprintable character, don't print it in
the global comment. This prevents printing things like: ... # foo bar when the name is "foo\nbar". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47170 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
705da96697
commit
3502d0dac3
@ -138,6 +138,15 @@ bool X86SharedAsmPrinter::doInitialization(Module &M) {
|
||||
return Result;
|
||||
}
|
||||
|
||||
/// PrintUnamedNameSafely - Print out the printable characters in the name.
|
||||
/// Don't print things like \n or \0.
|
||||
static void PrintUnamedNameSafely(const Value *V, std::ostream &OS) {
|
||||
for (const char *Name = V->getNameStart(), *E = Name+V->getNameLen();
|
||||
Name != E; ++Name)
|
||||
if (isprint(*Name))
|
||||
OS << *Name;
|
||||
}
|
||||
|
||||
bool X86SharedAsmPrinter::doFinalization(Module &M) {
|
||||
// Note: this code is not shared by the Intel printer as it is too different
|
||||
// from how MASM does things. When making changes here don't forget to look
|
||||
@ -218,7 +227,9 @@ bool X86SharedAsmPrinter::doFinalization(Module &M) {
|
||||
if (TAI->getCOMMDirectiveTakesAlignment())
|
||||
O << "," << (TAI->getAlignmentIsInBytes() ? (1 << Align) : Align);
|
||||
}
|
||||
O << "\t\t" << TAI->getCommentString() << " " << I->getName() << "\n";
|
||||
O << "\t\t" << TAI->getCommentString() << " ";
|
||||
PrintUnamedNameSafely(I, O);
|
||||
O << "\n";
|
||||
continue;
|
||||
}
|
||||
}
|
||||
@ -319,8 +330,9 @@ bool X86SharedAsmPrinter::doFinalization(Module &M) {
|
||||
}
|
||||
|
||||
EmitAlignment(Align, I);
|
||||
O << name << ":\t\t\t\t" << TAI->getCommentString() << " " << I->getName()
|
||||
<< "\n";
|
||||
O << name << ":\t\t\t\t" << TAI->getCommentString() << " ";
|
||||
PrintUnamedNameSafely(I, O);
|
||||
O << "\n";
|
||||
if (TAI->hasDotTypeDotSizeDirective())
|
||||
O << "\t.size\t" << name << ", " << Size << "\n";
|
||||
// If the initializer is a extern weak symbol, remember to emit the weak
|
||||
|
Loading…
Reference in New Issue
Block a user