1; RUN: llvm-ml -filetype=s %s /Fo - /DT1=test1 /D T2=test2 /Dtest5=def /Dtest6 | FileCheck %s
2
3.code
4
5t1:
6  ret
7; CHECK-NOT: t1:
8; CHECK-LABEL: test1:
9; CHECK-NOT: t1:
10
11t2:
12  ret
13; CHECK-NOT: t2:
14; CHECK-LABEL: test2:
15; CHECK-NOT: t2:
16
17t3:
18ifdef t1
19  xor eax, eax
20endif
21  ret
22; CHECK-LABEL: t3:
23; CHECK: xor eax, eax
24; CHECK: ret
25
26t4:
27ifdef undefined
28  xor eax, eax
29elseifdef t2
30  xor ebx, ebx
31endif
32  ret
33; CHECK-LABEL: t4:
34; CHECK-NOT: xor eax, eax
35; CHECK: xor ebx, ebx
36; CHECK: ret
37
38% t5_original BYTE "&test5"
39; CHECK-LABEL: t5_original:
40; CHECK-NEXT: .byte 100
41; CHECK-NEXT: .byte 101
42; CHECK-NEXT: .byte 102
43
44test5 textequ <redef>
45
46% t5_changed BYTE "&test5"
47; CHECK-LABEL: t5_changed:
48; CHECK-NEXT: .byte 114
49; CHECK-NEXT: .byte 101
50; CHECK-NEXT: .byte 100
51; CHECK-NEXT: .byte 101
52; CHECK-NEXT: .byte 102
53
54t6:
55ifdef test6
56  xor eax, eax
57endif
58  ret
59; CHECK-LABEL: t6:
60; CHECK: xor eax, eax
61; CHECK: ret
62
63end
64