diff options
author | Nirav Dave <niravd@google.com> | 2018-07-18 16:17:03 +0000 |
---|---|---|
committer | Nirav Dave <niravd@google.com> | 2018-07-18 16:17:03 +0000 |
commit | e24fcd5382f2f445192b1824dda5a6b032bbe663 (patch) | |
tree | 72c7580c33417eac15e1b6f09f97dbbb8507d525 /llvm | |
parent | a633e9dbdefda14d405a47d0a6f0450d5768f4ad (diff) | |
download | bcm5719-llvm-e24fcd5382f2f445192b1824dda5a6b032bbe663.tar.gz bcm5719-llvm-e24fcd5382f2f445192b1824dda5a6b032bbe663.zip |
[MC] Fix nested macro body parsing
Add missing .rep case in nestlevel checking for macro body parsing.
llvm-svn: 337398
Diffstat (limited to 'llvm')
-rw-r--r-- | llvm/lib/MC/MCParser/AsmParser.cpp | 3 | ||||
-rw-r--r-- | llvm/test/MC/AsmParser/directive_rept.s | 13 |
2 files changed, 15 insertions, 1 deletions
diff --git a/llvm/lib/MC/MCParser/AsmParser.cpp b/llvm/lib/MC/MCParser/AsmParser.cpp index 68e6e94a492..39a760826d9 100644 --- a/llvm/lib/MC/MCParser/AsmParser.cpp +++ b/llvm/lib/MC/MCParser/AsmParser.cpp @@ -5317,7 +5317,8 @@ MCAsmMacro *AsmParser::parseMacroLikeBody(SMLoc DirectiveLoc) { } if (Lexer.is(AsmToken::Identifier) && - (getTok().getIdentifier() == ".rept" || + (getTok().getIdentifier() == ".rep" || + getTok().getIdentifier() == ".rept" || getTok().getIdentifier() == ".irp" || getTok().getIdentifier() == ".irpc")) { ++NestLevel; diff --git a/llvm/test/MC/AsmParser/directive_rept.s b/llvm/test/MC/AsmParser/directive_rept.s index 4f8ed7c0b80..7bc20f7ea15 100644 --- a/llvm/test/MC/AsmParser/directive_rept.s +++ b/llvm/test/MC/AsmParser/directive_rept.s @@ -28,3 +28,16 @@ half_a_dozen_daffodils: # CHECK: .long 3674148113 # CHECK: .long 3674148113 + +nested_reps: + .rep 2 + .rep 2 + .long 0xdeadbeef + .endr + .endr + +# CHECK-LABEL: nested_reps +# CHECK: .long 3735928559 +# CHECK: .long 3735928559 +# CHECK: .long 3735928559 +# CHECK: .long 3735928559 |