xref: /llvm-project/llvm/test/MC/ARM/directive_parsing.s (revision e416515115337648ae6e694db22fe4d8196e6155)
1// RUN: not llvm-mc -triple armv7--none-eabi %s 2>&1 | FileCheck %s
2// RUN: not llvm-mc -triple armv7--none-eabi %s 2>&1 | grep "error:" | count 33
3
4// CHECK: [[@LINE+1]]:10: error: unexpected token
5	.word 0 $
6// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
7	.word 0 @ EOL COMMENT
8// CHECK: [[@LINE+1]]:11: error: unexpected token
9	.short 0 $
10// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
11	.short 0 @ EOL COMMENT
12// CHECK: [[@LINE+1]]:11: error: unexpected token
13	.hword 0 $
14// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
15	.hword 0 @ EOL COMMENT
16
17  .arch armv7-a
18// CHECK: :[[#@LINE+1]]:9: error: expected newline
19	.thumb $
20// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
21	.thumb @ EOL COMMENT
22
23// CHECK: :[[#@LINE+1]]:7: error: expected newline
24	.arm $
25// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
26	.arm @ EOL COMMENT
27// CHECK: :[[#@LINE+1]]:14: error: expected newline
28	.thumb_func $
29// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
30	.thumb_func @ EOL COMMENT
31// CHECK: :[[#@LINE+1]]:11: error: expected newline
32	.code 16 $
33// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
34	.code 16 @ EOL COMMENTS
35// CHECK: :[[#@LINE+1]]:18: error: expected newline
36	.syntax unified $
37// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
38	.syntax unified @ EOL COMMENT
39	fred .req r5
40// CHECK: :[[#@LINE+1]]:14: error: expected newline
41	.unreq fred $
42// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
43	.unreq fred @ EOL COMMENTS
44
45// CHECK: :[[#@LINE+1]]:18: error: expected newline
46        .fnstart $
47// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
48	.fnstart @ EOL COMMENT
49// CHECK: :[[#@LINE+1]]:23: error: expected newline
50        .cantunwind   $
51// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
52	.cantunwind   @ EOL COMMENT
53
54
55// CHECK: :[[#@LINE+1]]:18: error: expected newline
56        .fnend   $
57// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
58	.fnend   @ EOL COMMENT
59
60	.fnstart
61// CHECK: :[[#@LINE+1]]:43: error: expected newline
62        .personality __gxx_personality_v0 $
63// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
64        .personality __gxx_personality_v0 @ EOL COMMENET
65
66// CHECK: [[#@LINE+1]]:28: error: expected newline
67        .setfp  fp, sp, #0 $
68// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
69        .setfp  fp, sp, #0 @ EOL COMMENT
70
71
72// CHECK: :[[#@LINE+1]]:17: error: expected newline
73        .pad #0 $
74// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
75        .pad #0 @ EOL COMMENT
76
77// CHECK: :[[#@LINE+1]]:20: error: expected newline
78        .save {r0} $
79// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
80        .save {r0} @ EOL COMMENT
81
82// CHECK: :[[#@LINE+1]]:21: error: expected newline
83        .vsave {d0} $
84// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
85        .vsave {d0} @ EOL COMMENT
86
87
88// CHECK: :[[#@LINE+1]]:22: error: expected newline
89        .handlerdata $
90// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
91        .handlerdata @ EOL COMMENT
92
93	.fnend
94
95// CHECK: :[[#@LINE+1]]:9: error: expected newline
96	.ltorg $
97// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
98	.ltorg @ EOL COMMENT
99// CHECK: :[[#@LINE+1]]:8: error: expected newline
100	.pool $
101// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
102	.pool @ EOL COMMENT
103// CHECK: :[[#@LINE+1]]:8: error: expected newline
104	.even $
105// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
106	.even	 @ EOL COMMENT
107	.fnstart
108// CHECK: :[[#@LINE+1]]:22: error: expected newline
109	.personalityindex 0 $
110// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
111	.personalityindex 0 @ EOL COMMENT
112	.fnend
113
114	.fnstart
115// CHECK: [[@LINE+1]]:19: error: unexpected token
116	.unwind_raw 0, 0 $
117// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
118	.unwind_raw 0, 0 @ EOL COMMENT
119
120// CHECK: :[[#@LINE+1]]:12: error: expected newline
121	.movsp r0 $
122// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
123	.movsp r1 @ EOL COMMENT
124	.fnend
125
126// CHECK: :[[#@LINE+1]]:21: error: expected newline
127	.arch_extension mp $
128// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
129	.arch_extension mp @ EOL COMMENT
130
131// CHECK: :[[#@LINE+1]]:21: error: expected newline
132	.arch_extension mp $
133// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
134	.arch_extension mp @ EOL COMMENT
135
136        .type arm_func,%function
137arm_func:
138        nop
139// CHECK: :[[#@LINE+1]]:45: error: expected newline
140        .thumb_set alias_arm_func, arm_func $
141// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
142        .thumb_set alias_arm_func, arm_func @ EOL COMMENT
143
144// CHECK: :[[#@LINE+1]]:23: error: expected newline
145	.eabi_attribute 0, 0 $
146// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
147	.eabi_attribute 0, 0 @ EOL COMMENT
148
149.arm
150// CHECK: [[@LINE+1]]:10: error: unexpected token
151	.inst	2 $
152// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
153	.inst	2 @ EOL COMMENT
154.thumb
155// CHECK: [[@LINE+1]]:12: error: unexpected token
156	.inst.n 2 $
157// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
158	.inst.n 2 @ EOL COMMENT
159// CHECK: [[@LINE+1]]:12: error: unexpected token
160	.inst.w 4 $
161// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
162	.inst.w 4 @ EOL COMMENT
163// CHECK: [[@LINE+1]]:21: error: unexpected token
164	.object_arch armv7 $
165// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
166	.object_arch armv7 @ EOL COMMENT
167// CHECK: :[[#@LINE+1]]:23: error: expected newline
168	.tlsdescseq variable $
169// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
170	.tlsdescseq variable @ EOL COMMENT
171