Home | History | Annotate | Download | only in AsmParser
      1 // RUN: not llvm-mc -triple i386-apple-darwin10 %s 2> %t.err | FileCheck %s
      2 // RUN: FileCheck --check-prefix=CHECK-ERRORS %s < %t.err
      3 
      4 .macro .test0
      5 .macrobody0
      6 .endmacro
      7 .macro .test1
      8 .test0
      9 .endmacro
     10 
     11 .test1
     12 // CHECK-ERRORS: <instantiation>:1:1: error: unknown directive
     13 // CHECK-ERRORS-NEXT: macrobody0
     14 // CHECK-ERRORS-NEXT: ^
     15 // CHECK-ERRORS: <instantiation>:1:1: note: while in macro instantiation
     16 // CHECK-ERRORS-NEXT: .test0
     17 // CHECK-ERRORS-NEXT: ^
     18 // CHECK-ERRORS: 11:1: note: while in macro instantiation
     19 // CHECK-ERRORS-NEXT: .test1
     20 // CHECK-ERRORS-NEXT: ^
     21 
     22 .macro test2
     23 .byte $0
     24 .endmacro
     25 // CHECK: .byte 10
     26 test2 10
     27 
     28 .macro test3
     29 .globl "$0 $1 $2 $$3 $n"
     30 .endmacro
     31 
     32 // CHECK: .globl "1 23  $3 2"
     33 test3 1, 2 3
     34 
     35 // CHECK: .globl	"1 (23)  $3 2"
     36 test3 1, (2 3)
     37 
     38 // CHECK: .globl "12  $3 1"
     39 test3 1 2
     40 
     41 .macro test4
     42 .globl "$0 -- $1"
     43 .endmacro
     44 
     45 // CHECK: .globl  "(ab)(,)) -- (cd)"
     46 test4 (a b)(,)),(cd)
     47 
     48 // CHECK: .globl  "(ab)(,)) -- (cd)"
     49 test4 (a b)(,)),(cd)
     50 
     51 .macro test5 _a
     52 .globl "\_a"
     53 .endm
     54 
     55 // CHECK: .globl zed1
     56 test5 zed1
     57 
     58 .macro test6 $a
     59 .globl "\$a"
     60 .endm
     61 
     62 // CHECK: .globl zed2
     63 test6 zed2
     64 
     65 .macro test7 .a
     66 .globl "\.a"
     67 .endm
     68 
     69 // CHECK: .globl zed3
     70 test7 zed3
     71 
     72 .macro test8 _a, _b, _c
     73 .globl "\_a,\_b,\_c"
     74 .endmacro
     75 
     76 .macro test9 _a _b _c
     77 .globl "\_a \_b \_c"
     78 .endmacro
     79 
     80 // CHECK: .globl  "a,b,c"
     81 test8 a, b, c
     82 // CHECK: .globl  "%1,%2,%3"
     83 test8 %1, %2, %3 #a comment
     84 // CHECK: .globl "x-y,z,1"
     85 test8 x - y, z, 1
     86 // CHECK: .globl  "1 2 3"
     87 test9 1, 2,3
     88 
     89 // CHECK: .globl "1,23,"
     90 test8 1,2 3
     91 
     92 // CHECK: .globl "12,3,"
     93 test8 1 2, 3
     94