Handle recursive variable definitions directly. This gives us better error
[oota-llvm.git] / test / MC / AsmParser / labels.s
1 // RUN: llvm-mc -triple i686-apple-darwin10 %s | FileCheck %s
2
3         .data
4 // CHECK: a:
5 a:
6         .long 0
7 // CHECK: b:
8 "b":
9         .long 0
10 // CHECK: a$b:
11 "a$b":
12         .long 0
13
14         .text
15 foo:
16 // CHECK: addl $24, a$b(%eax)
17         addl $24, "a$b"(%eax)
18 // CHECK: addl $24, a$b+10(%eax)
19         addl $24, ("a$b" + 10)(%eax)
20
21 // CHECK: b$c = 10
22 "b$c" = 10
23 // CHECK: addl $10, %eax
24         addl $"b$c", %eax
25
26 // CHECK: "a 0" = 11
27         .set "a 0", 11
28
29 // CHECK: .long 11
30         .long "a 0"
31
32 // XXCHCK: .section "a 1,a 2"
33 //.section "a 1", "a 2"
34
35 // CHECK: .globl "a 3"
36         .globl "a 3"
37
38 // CHECK: .desc "a 5",1
39         .desc "a 5", 1
40
41 // CHECK: .comm "a 6",1
42         .comm "a 6", 1
43
44 // CHECK: .zerofill __DATA,__bss,"a 7",1,0
45         .lcomm "a 7", 1
46
47 // FIXME: We don't bother to support .lsym.
48
49 // CHECX: .lsym "a 8",1
50 //        .lsym "a 8", 1
51
52 // CHECK: "a 9" = a-b
53         .set "a 9", a - b
54
55 // CHECK: .long "a 9"
56         .long "a 9"