From: Nirav Dave Date: Wed, 18 Jul 2018 16:17:03 +0000 (+0000) Subject: [MC] Fix nested macro body parsing X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=106f868ca6314eca4c576a941cd7546003fc284f;p=llvm [MC] Fix nested macro body parsing Add missing .rep case in nestlevel checking for macro body parsing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@337398 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/MC/MCParser/AsmParser.cpp b/lib/MC/MCParser/AsmParser.cpp index 68e6e94a492..39a760826d9 100644 --- a/lib/MC/MCParser/AsmParser.cpp +++ b/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/test/MC/AsmParser/directive_rept.s b/test/MC/AsmParser/directive_rept.s index 4f8ed7c0b80..7bc20f7ea15 100644 --- a/test/MC/AsmParser/directive_rept.s +++ b/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