MC: Overhaul handling of .lcomm
[oota-llvm.git] / test / MC / AsmParser / macros.s
1 // RUN: not llvm-mc -triple x86_64-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 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 .macro test4
35 .globl "$0 -- $1"
36 .endmacro
37
38 // CHECK: .globl        "ab)(,) -- (cd)"
39 test4 a b)(,),(cd)
40
41 .macro test5 _a
42 .globl "\_a"
43 .endm
44
45 test5 zed1
46 // CHECK: .globl zed1
47
48 .macro test6 $a
49 .globl "\$a"
50 .endm
51
52 test6 zed2
53 // CHECK: .globl zed2
54
55 .macro test7 .a
56 .globl "\.a"
57 .endm
58
59 test7 zed3
60 // CHECK: .globl zed3