summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--llvm/lib/MC/MCParser/AsmParser.cpp3
-rw-r--r--llvm/test/MC/AsmParser/equ.s3
2 files changed, 5 insertions, 1 deletions
diff --git a/llvm/lib/MC/MCParser/AsmParser.cpp b/llvm/lib/MC/MCParser/AsmParser.cpp
index 7fe4f9e669d..7ebe7b538a2 100644
--- a/llvm/lib/MC/MCParser/AsmParser.cpp
+++ b/llvm/lib/MC/MCParser/AsmParser.cpp
@@ -973,6 +973,9 @@ bool AsmParser::parsePrimaryExpr(const MCExpr *&Res, SMLoc &EndLoc) {
// This is a symbol reference.
StringRef SymbolName = Identifier;
+ if (SymbolName.empty())
+ return true;
+
MCSymbolRefExpr::VariantKind Variant = MCSymbolRefExpr::VK_None;
// Lookup the symbol variant if used.
diff --git a/llvm/test/MC/AsmParser/equ.s b/llvm/test/MC/AsmParser/equ.s
index 568f58fa129..fc5d5310305 100644
--- a/llvm/test/MC/AsmParser/equ.s
+++ b/llvm/test/MC/AsmParser/equ.s
@@ -5,5 +5,6 @@
.set a, 1
.equ a, 2
.equiv a, 3
+.set b, ""
// CHECK: error: redefinition of 'a'
-
+// CHECK: error: missing expression in '.set' directive
OpenPOWER on IntegriCloud