Revert "Re-commit r192758 - MC: quote tricky symbol names in asm output"

This caused the clang-native-mingw32-win7 buildbot to break.

The assembler was complaining about the following lines that were showing up
in the asm for CrashRecoveryContext.cpp:

  movl  $"__ZL16ExceptionHandlerP19_EXCEPTION_POINTERS@4", 4(%eax)
  calll "_AddVectoredExceptionHandler@8"
  .def   "__ZL16ExceptionHandlerP19_EXCEPTION_POINTERS@4";
  "__ZL16ExceptionHandlerP19_EXCEPTION_POINTERS@4":
  calll "_RemoveVectoredExceptionHandler@4"

Reverting for now.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192940 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Hans Wennborg
2013-10-18 02:14:40 +00:00
parent 1c165b8ee3
commit ab887bf52c
9 changed files with 25 additions and 67 deletions
+1 -20
View File
@@ -39,22 +39,6 @@ void MCSectionCOFF::setSelection(int Selection,
Characteristics |= COFF::IMAGE_SCN_LNK_COMDAT;
}
static bool isAcceptableSectionNameChar(char C) {
return (C >= 'a' && C <= 'z') ||
(C >= 'A' && C <= 'Z') ||
(C >= '0' && C <= '9') ||
C == '_' || C == '$' || C == '.';
}
/// NameNeedsQuoting - Return true if the identifier \p Str needs quotes to be
/// syntactically correct.
static bool sectionNameNeedsQuoting(StringRef Name) {
for (unsigned i = 0, e = Name.size(); i != e; ++i)
if (!isAcceptableSectionNameChar(Name[i]))
return true;
return false;
}
void MCSectionCOFF::PrintSwitchToSection(const MCAsmInfo &MAI,
raw_ostream &OS,
const MCExpr *Subsection) const {
@@ -65,10 +49,7 @@ void MCSectionCOFF::PrintSwitchToSection(const MCAsmInfo &MAI,
return;
}
if (sectionNameNeedsQuoting(getSectionName()))
OS << "\t.section\t" << '"' << getSectionName() << '"' << ",\"";
else
OS << "\t.section\t" << getSectionName() << ",\"";
OS << "\t.section\t" << getSectionName() << ",\"";
if (getKind().isText())
OS << 'x';
if (getKind().isWriteable())