Fix crash in MCExpr::print.

Symbols are no longer required to be named, but this leads to a crash here if an
unnamed symbol checks that its first character is '$'.

Change the code to first check for a name, then check its first character.

No test case i'm afraid as this is debugging code, but any test case with temp labels
and 'llc --debug --filetype=obj' would have crashed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@238579 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Pete Cooper 2015-05-29 17:19:11 +00:00
parent 8493722975
commit b2faffd63a

View File

@ -43,7 +43,7 @@ void MCExpr::print(raw_ostream &OS) const {
const MCSymbol &Sym = SRE.getSymbol();
// Parenthesize names that start with $ so that they don't look like
// absolute names.
bool UseParens = Sym.getName()[0] == '$';
bool UseParens = !Sym.getName().empty() && Sym.getName()[0] == '$';
if (UseParens)
OS << '(' << Sym << ')';
else