[MC] Fix nested macro body parsing
authorNirav Dave <niravd@google.com>
Wed, 18 Jul 2018 16:17:03 +0000 (16:17 +0000)
committerNirav Dave <niravd@google.com>
Wed, 18 Jul 2018 16:17:03 +0000 (16:17 +0000)
Add missing .rep case in nestlevel checking for macro body parsing.

llvm-svn: 337398

llvm/lib/MC/MCParser/AsmParser.cpp
llvm/test/MC/AsmParser/directive_rept.s

index 68e6e94a49249813687dbd129d4b8c9420111df0..39a760826d96df9ed42376eda8653c5dc3ca722b 100644 (file)
@@ -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;
index 4f8ed7c0b80ca72f419ce5d7c65a32d591d15630..7bc20f7ea159d9b7c6b8c70432001d7bcf0f3865 100644 (file)
@@ -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