OSDN Git Service

[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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@337398 91177308-0d34-0410-b5e6-96231b3b80d8

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

index 68e6e94..39a7608 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 4f8ed7c..7bc20f7 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