diff options
| author | Weiming Zhao <weimingz@codeaurora.org> | 2016-12-01 18:00:36 +0000 |
|---|---|---|
| committer | Weiming Zhao <weimingz@codeaurora.org> | 2016-12-01 18:00:36 +0000 |
| commit | cf26d563901ac705a9115d620a5dea4944f77977 (patch) | |
| tree | 0397cea7d7748fdabcb74f465a223bd9a5d18397 /llvm | |
| parent | dc6b8ca879fbaa7a39afda52b064e931149cbd8b (diff) | |
| download | bcm5719-llvm-cf26d563901ac705a9115d620a5dea4944f77977.tar.gz bcm5719-llvm-cf26d563901ac705a9115d620a5dea4944f77977.zip | |
[AsmParser] Diagnose empty symbol for .set directive
Summary: Diagnose empty symbol to avoid hitting assertion in MCContext::getOrCreateSymbol
Reviewers: eli.friedman, rengolin
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D26728
llvm-svn: 288390
Diffstat (limited to 'llvm')
| -rw-r--r-- | llvm/lib/MC/MCParser/AsmParser.cpp | 3 | ||||
| -rw-r--r-- | llvm/test/MC/AsmParser/equ.s | 3 |
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 |

