From e24fcd5382f2f445192b1824dda5a6b032bbe663 Mon Sep 17 00:00:00 2001 From: Nirav Dave Date: Wed, 18 Jul 2018 16:17:03 +0000 Subject: [PATCH] [MC] Fix nested macro body parsing Add missing .rep case in nestlevel checking for macro body parsing. llvm-svn: 337398 --- llvm/lib/MC/MCParser/AsmParser.cpp | 3 ++- llvm/test/MC/AsmParser/directive_rept.s | 13 +++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/llvm/lib/MC/MCParser/AsmParser.cpp b/llvm/lib/MC/MCParser/AsmParser.cpp index 68e6e94..39a7608 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 4f8ed7c..7bc20f7 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 -- 2.7.4