1 // RUN: not llvm-mc -triple i386-unknown-unknown %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 test2 10 26 27 .macro test3 28 .globl "$0 $1 $2 $$3 $n" 29 .endmacro 30 31 // CHECK: .globl "1 (23) $3 2" 32 test3 1, (2 3) 33 34 // CHECK: .globl "1 2 $3 2" 35 test3 1 2 36 37 .macro test4 38 .globl "$0 -- $1" 39 .endmacro 40 41 // CHECK: .globl "(ab)(,)) -- (cd)" 42 test4 (a b)(,)),(cd) 43 44 // CHECK: .globl "(ab)(,)) -- (cd)" 45 test4 (a b)(,)),(cd) 46 47 .macro test5 _a 48 .globl "\_a" 49 .endm 50 51 // CHECK: .globl zed1 52 test5 zed1 53 54 .macro test6 $a 55 .globl "\$a" 56 .endm 57 58 // CHECK: .globl zed2 59 test6 zed2 60 61 .macro test7 .a 62 .globl "\.a" 63 .endm 64 65 // CHECK: .globl zed3 66 test7 zed3 67 68 .macro test8 _a, _b, _c 69 .globl "\_a,\_b,\_c" 70 .endmacro 71 72 .macro test9 _a _b _c 73 .globl "\_a \_b \_c" 74 .endmacro 75 76 // CHECK: .globl "a,b,c" 77 test8 a, b, c 78 // CHECK: .globl "%1,%2,%3" 79 test8 %1 %2 %3 #a comment 80 // CHECK: .globl "x-y,z,1" 81 test8 x - y z 1 82 // CHECK: .globl "1 2 3" 83 test9 1, 2,3 84 85 test8 1,2 3 86 // CHECK-ERRORS: error: macro argument '_c' is missing 87 // CHECK-ERRORS-NEXT: test8 1,2 3 88 // CHECK-ERRORS-NEXT: ^ 89 90 test8 1 2, 3 91 // CHECK-ERRORS: error: expected ' ' for macro argument separator 92 // CHECK-ERRORS-NEXT:test8 1 2, 3 93 // CHECK-ERRORS-NEXT: ^ 94