1# RUN: llvm-mc -triple i386-unknown-unknown %s 2> %t.err | FileCheck %s
2# RUN: FileCheck --check-prefix=CHECK-WARNINGS %s < %t.err
3# RUN: not llvm-mc -triple i386-unknown-unknown -filetype=obj -o %t.o %s 2> %t.err2
4# RUN: FileCheck --check-prefix=OBJ-ERRS %s < %t.err2
5
6# CHECK: TEST0:
7# CHECK: .fill 1, 1, 0xa
8TEST0:
9        .fill 1, 1, 10
10
11# CHECK: TEST1:
12# CHECK: .fill 2, 2, 0x3
13TEST1:
14        .fill 2, 2, 3
15
16# CHECK: TEST2:
17# CHECK: .fill 1, 8, 0x4
18TEST2:
19        .fill 1, 8, 4
20
21# CHECK: TEST3
22# CHECK: .fill 4
23TEST3:
24	.fill 4
25
26# CHECK: TEST4
27# CHECK: .fill 4, 2
28TEST4:
29	.fill 4, 2
30
31# CHECK: TEST5
32# CHECK: .fill 4, 3, 0x2
33TEST5:
34	.fill 4, 3, 2
35
36# CHECK: TEST6
37# CHECK: .fill 1, 8, 0x2
38# CHECK-WARNINGS: '.fill' directive with size greater than 8 has been truncated to 8
39TEST6:
40	.fill 1, 9, 2
41
42# CHECK: TEST7
43# CHECK: .fill 1, 8, 0x0
44# CHECK-WARNINGS: '.fill' directive pattern has been truncated to 32-bits
45TEST7:
46	.fill 1, 8, 1<<32
47
48# CHECK: TEST8
49# CHECK: .fill -1, 8, 0x1
50# OBJ-ERRS: '.fill' directive with negative repeat count has no effect
51TEST8:
52	.fill -1, 8, 1
53
54# CHECK-WARNINGS: '.fill' directive with negative size has no effect
55TEST9:
56	.fill 1, -1, 1
57
58# CHECK: TEST10
59# CHECK: .fill 1, 3, 0x12345678
60TEST10:
61	.fill 1, 3, 0x12345678
62
63# CHECK: TEST11
64# CHECK: .fill TEST11-TEST10, 1, 0x0
65TEST11:
66  .fill TEST11 - TEST10
67
68# CHECK: TEST12
69# CHECK: .fill TEST11-TEST12, 4, 0x12345678
70# OBJ-ERRS: '.fill' directive with negative repeat count has no effect
71TEST12:
72	.fill TEST11 - TEST12, 4, 0x12345678
73
74# CHECK: TEST13
75# CHECK: .fill (TEST11-TEST12)+i, 4, 0x12345678
76# OBJ-ERRS: [[@LINE+2]]:8: error: expected assembly-time absolute expression
77TEST13:
78	.fill TEST11 - TEST12+i, 4, 0x12345678
79
80