xref: /llvm-project/llvm/test/MC/AsmParser/macro-rept.s (revision 7b4dfec8936f54145297fd2f14bf95a2b8c95f5f)
1# RUN: rm -rf %t && split-file %s %t && cd %t
2# RUN: llvm-mc -triple=x86_64 a.s | FileCheck %s
3
4#--- a.s
5.rept 2
6    .long 1
7.endr
8# 3 "a.s"
9## Test line marker after .endr \n.
10
11.rept 3
12.rept 2
13    .long 0
14.endr
15.endr # comment after .endr
16.long 42
17
18# CHECK:      .long 1
19# CHECK-NEXT: .long 1
20
21# CHECK:      .long 0
22# CHECK-NEXT: .long 0
23# CHECK-NEXT: .long 0
24# CHECK-NEXT: .long 0
25# CHECK-NEXT: .long 0
26# CHECK-NEXT: .long 0
27# CHECK-NEXT: .long 42
28
29# RUN: not llvm-mc -triple=x86_64 err1.s 2>&1 | FileCheck %s --check-prefix=ERR1
30# ERR1: .s:1:6: error: unmatched '.endr' directive
31#--- err1.s
32.endr
33
34# RUN: not llvm-mc -triple=x86_64 err2.s 2>&1 | FileCheck %s --check-prefix=ERR2
35# ERR2: .s:1:1: error: no matching '.endr' in definition
36#--- err2.s
37.rept 3
38.long
39
40# RUN: not llvm-mc -triple=x86_64 err3.s 2>&1 | FileCheck %s --check-prefix=ERR3
41# ERR3: .s:3:7: error: expected newline
42#--- err3.s
43.rept 1
44.long 0
45.endr ab
46