Set strictness correctly for JoinIds
[ghc.git] / testsuite / tests / simplCore / should_compile / all.T
1 test('simpl001', normal, compile, [''])
2 test('simpl002', normal, compile, [''])
3 test('simpl003', normal, compile, [''])
4 test('simpl004', normal, compile, [''])
5 test('simpl005', normal, compile, [''])
6
7 # Missing:
8 # test('simpl006', normal, compile, [''])
9
10 test('simpl007', normal, compile, [''])
11 # Missing: simpl008
12 test('simpl009', normal, compile, [''])
13 test('simpl010', normal, compile, [''])
14 test('simpl011', normal, compile, [''])
15 test('simpl012', normal, compile, [''])
16 test('simpl013', normal, compile, [''])
17 test('simpl014', normal, compile, [''])
18 test('simpl016', normal, compile, ['-dsuppress-uniques'])
19 test('simpl017', normal, compile_fail, [''])
20 test('simpl018', normal, compile, [''])
21 test('simpl019', normal, compile, [''])
22 test('simpl020', [extra_files(['Simpl020_A.hs'])], multimod_compile, ['simpl020', '-v0'])
23
24 test('simpl-T1370', normal, compile, [''])
25 test('T2520', normal, compile, [''])
26
27 test('spec001', when(fast(), skip), compile, [''])
28 test('spec002', normal, compile, [''])
29 test('spec003', normal, compile, [''])
30
31 test('rule1', normal, compile, [''])
32 test('rule2', only_ways(['optasm']), compile, ['-dsuppress-uniques'])
33 test('T7162', normal, compile, [''])
34
35 test('dfun-loop', normal, compile, [''])
36 test('strict-float', normal, compile, [''])
37 test('T3118', normal, compile, [''])
38 test('T4203', normal, compile, [''])
39
40 # With -prof -fvia-C, this test makes gcc go out to lunch, and the
41 # testsuite driver times out.
42 test('T3016', when(fast(), skip), compile, [''])
43
44 test('T1647', normal, compile, ['-fdicts-strict -dcore-lint'])
45
46 test('T3234',
47      normal,
48      run_command,
49      ['$MAKE -s --no-print-directory T3234'])
50
51 test('T3717', only_ways(['optasm']),
52               compile,
53               ['-ddump-simpl -dsuppress-uniques'])
54
55 test('spec-inline', only_ways(['optasm']),
56                     compile,
57                     ['-O2 -ddump-simpl -dsuppress-uniques'])
58 test('T4908', only_ways(['optasm']),
59               compile,
60               ['-O2 -ddump-simpl -dsuppress-uniques'])
61
62 test('T4930', only_ways(['optasm']),
63               compile,
64               ['-O -ddump-simpl -dsuppress-uniques'])
65
66 test('T3055', [], run_command, ['$MAKE -s --no-print-directory T3055'])
67
68 test('T4306',
69      normal,
70      run_command,
71      ['$MAKE -s --no-print-directory T4306'])
72
73 test('T4201',
74      normal,
75      run_command,
76      ['$MAKE -s --no-print-directory T4201'])
77
78 test('T3772',
79 #      only_ways(['optasm']),
80      extra_clean(['T3772_A.hi', 'T3772_A.o']),
81      run_command, ['$MAKE -s --no-print-directory T3772'])
82
83 test('EvalTest',
84      normal,
85      run_command,
86      ['$MAKE -s --no-print-directory EvalTest'])
87
88 test('T3831', normal, compile, [''])
89 test('T4345', normal, compile, [''])
90 test('T4398', normal, compile, ['-dsuppress-uniques'])
91
92 test('T4903', [], run_command, ['$MAKE -s --no-print-directory T4903'])
93
94 test('T4918', [], run_command, ['$MAKE -s --no-print-directory T4918'])
95
96 # This test flips too and fro about whether it passes
97 # I'm not sure why it is so delicate, but it greps the
98 # result of -ddump-simpl, which is never advertised to
99 # be very stable
100 test('T4945',
101      normal,
102      run_command,
103      ['$MAKE -s --no-print-directory T4945'])
104
105 test('T4957',
106      normal,
107      run_command,
108      ['$MAKE -s --no-print-directory T4957'])
109
110 test('T5168',
111      normal,
112      run_command,
113      ['$MAKE -s --no-print-directory T5168'])
114
115 test('T5329', normal, compile, [''])
116 test('T5303', normal, compile, [''])   # Coercion-optimisation test
117 test('T5342', normal, compile, [''])   # Lint error with -prof
118 test('T5359a', normal, compile, [''])  # Lint error with -O (OccurAnal)
119 test('T5359b', normal, compile, [''])  # Lint error with -O (OccurAnal)
120 test('T5458', normal, compile, [''])
121 test('simpl021', [extra_files(['Simpl021A.hs', 'Simpl021B.hs'])], run_command, ['$MAKE -s --no-print-directory simpl021'])
122 test('T5327', normal, run_command, ['$MAKE -s --no-print-directory T5327'])
123 test('T5615', normal, run_command, ['$MAKE -s --no-print-directory T5615'])
124 test('T5623', normal, run_command, ['$MAKE -s --no-print-directory T5623'])
125 test('T13155', normal, run_command, ['$MAKE -s --no-print-directory T13155'])
126 test('T5658b',
127      normal,
128      run_command,
129      ['$MAKE -s --no-print-directory T5658b'])
130 test('T5776',
131      normal,
132      run_command,
133      ['$MAKE -s --no-print-directory T5776'])
134 test('T4138', [], run_command, ['$MAKE -s --no-print-directory T4138'])
135 test('T7088', normal, compile, [''])
136 test('T6082-RULE', normal, compile, [''])
137 test('T7165', [], run_command, ['$MAKE -s --no-print-directory T7165'])
138 test('T7287', normal, compile, [''])
139 test('T7360', only_ways(['optasm']), compile, ['-ddump-simpl -dsuppress-uniques'])
140 test('T5366',
141      normal,
142      run_command,
143      ['$MAKE -s --no-print-directory T5366'])
144 test('T7796', [], run_command, ['$MAKE -s --no-print-directory T7796'])
145 test('T5550', omit_ways(prof_ways), compile, [''])
146 test('T7865', normal, run_command, ['$MAKE -s --no-print-directory T7865'])
147 test('T7785', only_ways(['optasm']), compile, ['-ddump-rules'])
148 test('T7702',
149      [extra_files(['T7702plugin']),
150       pre_cmd('$MAKE -s --no-print-directory -C T7702plugin package.T7702 TOP={top}'),
151       # we say 18mb peak allocated +/- 70% because other compiler flags have
152       # a large effect on allocation which is hard to separate from the
153       # allocation done by the plugin... but a regression allocates > 90mb
154       compiler_stats_num_field('peak_megabytes_allocated',
155           [(wordsize(32), 18, 70), (wordsize(64), 18, 70)])
156      ],
157      compile,
158      ['-v0 -package-db T7702plugin/pkg.T7702/local.package.conf -fplugin T7702Plugin -package T7702plugin ' + config.plugin_way_flags])
159
160 # we omit profasm because it doesn't bring much to the table but
161 # introduces its share of complexity, as the test as it is fails with
162 # profasm:
163 # T7944.hs:7:1: fatal:
164 #     Cannot load -prof objects when GHC is built with -dynamic
165 #     To fix this, either:
166 #       (1) Use -fexternal-interpreter, or
167 #       (2) Build the program twice: once with -dynamic, and then
168 #           with -prof using -osuf to set a different object file suffix.
169 test('T7944', omit_ways(['profasm']), compile, ['-O2'])
170 test('T7995',
171      # RULE doesn't seem to fire unless optimizations are turned on.
172      # This seems reasonable, so I've required it for the test. -- EZY 20130720
173      only_ways(['optasm']),
174      run_command,
175      ['$MAKE -s --no-print-directory T7995'])
176
177 test('T8196', normal, compile, [''])
178 test('T8221b', normal, compile, [''])
179 test('T8221', [], run_command, ['$MAKE -s --no-print-directory T8221'])
180 test('T8274', normal, run_command, ['$MAKE -s --no-print-directory T8274'])
181 test('T8329', only_ways(['optasm']), multimod_compile, ['T8329','-v0 -O'])
182 test('T5996',
183      normal,
184      run_command,
185      ['$MAKE -s --no-print-directory T5996'])
186 test('T8537', normal, compile, [''])
187 test('T8832',
188      normal,
189      run_command,
190      ['$MAKE -s --no-print-directory T8832 T8832_WORDSIZE_OPTS=' +
191       ('-DT8832_WORDSIZE_64' if wordsize(64) else '')])
192 test('T8848', normal,
193      run_command,
194      ['$MAKE -s --no-print-directory T8848'])
195 test('T8848a', only_ways(['optasm']), compile, ['-ddump-rules'])
196 test('T8331', only_ways(['optasm']), compile, ['-ddump-rules'])
197 test('T6056', only_ways(['optasm']), multimod_compile, ['T6056', '-v0 -ddump-rule-firings'])
198 test('T9400', only_ways(['optasm']), compile, ['-O0 -ddump-simpl -dsuppress-uniques'])
199 test('T9441a', [only_ways(['optasm']), check_errmsg(r'f1 = f2') ], compile, ['-ddump-simpl'])
200 test('T9441b', [only_ways(['optasm']), check_errmsg(r'Rec {') ], compile, ['-ddump-simpl'])
201 test('T9441c', [only_ways(['optasm']), check_errmsg(r'Rec {') ], compile, ['-ddump-simpl'])
202 test('T9583', only_ways(['optasm']), compile, [''])
203 test('T9565', only_ways(['optasm']), compile, [''])
204 test('T5821', only_ways(['optasm']), compile, [''])
205 test('T10176', only_ways(['optasm']), compile, [''])
206 test('T10180', only_ways(['optasm']), compile, [''])
207 test('T10602', only_ways(['optasm']), multimod_compile, ['T10602','-v0'])
208 test('T10627', only_ways(['optasm']), compile, [''])
209 test('T10181', [only_ways(['optasm'])], compile, [''])
210 test('T10083',
211      normal,
212      run_command,
213      ['$MAKE -s --no-print-directory T10083'])
214 test('T10689', normal, compile, [''])
215 test('T11155',
216      normal,
217      run_command,
218      ['$MAKE -s --no-print-directory T11155'])
219 test('T11232', normal, compile, ['-O2'])
220 test('T11562', normal, compile, ['-O2'])
221 test('T11742', normal, compile, ['-O2'])
222 test('T11644', normal, compile, ['-O2'])
223 test('T3990',
224      normal,
225      run_command,
226      ['$MAKE -s --no-print-directory T3990'])
227
228 test('T12076', [], multimod_compile, ['T12076', '-v0'])
229 test('T12076lit', normal, compile, ['-O'])
230 test('T12076sat', normal, compile, ['-O'])
231 test('T12212', normal, compile, ['-O'])
232
233 test('noinline01', only_ways(['optasm']), compile, ['-ddump-stg -dsuppress-uniques -O'])
234 test('par01', only_ways(['optasm']), compile, ['-ddump-prep -dsuppress-uniques -O2'])
235 test('T12776', normal, compile, ['-O2'])
236 test('T9509',
237      normal,
238      run_command,
239      ['$MAKE -s --no-print-directory T9509'])
240 test('T12603',
241      normal,
242      run_command,
243      ['$MAKE -s --no-print-directory T12603'])
244 test('T12877', normal, run_command, ['$MAKE -s --no-print-directory T12877'])
245 test('T13027', normal, compile, [''])
246 test('T13025',
247      normal,
248      run_command,
249      ['$MAKE -s --no-print-directory T13025'])
250 test('T13143', only_ways(['optasm']), compile, ['-O -ddump-simpl -dsuppress-uniques'])
251 test('T13156', normal, run_command, ['$MAKE -s --no-print-directory T13156'])
252 test('T11444', normal, compile, [''])
253 test('str-rules',
254      normal,
255      run_command,
256      ['$MAKE -s --no-print-directory str-rules'])
257 test('T13170', only_ways(['optasm']), compile, ['-dcore-lint'])
258 test('T13317',
259      normal,
260      run_command,
261      ['$MAKE -s --no-print-directory T13317'])
262 test('T13340', normal, run_command, ['$MAKE -s --no-print-directory T13340'])
263 test('T13338', only_ways(['optasm']), compile, ['-dcore-lint'])
264 test('T13367', normal, run_command, ['$MAKE -s --no-print-directory T13367'])
265 test('T13417', normal, compile, ['-O'])
266 test('T13413', normal, compile, [''])
267 test('T13410', normal, compile, ['-O2'])
268 test('T13468',
269      normal,
270      run_command,
271      ['$MAKE -s --no-print-directory T13468'])
272 test('T13543', only_ways(['optasm']), compile, ['-ddump-str-signatures'])
273 test('T11272',
274      normal,
275      run_command,
276      ['$MAKE -s --no-print-directory T11272'])
277 test('T12600',
278      normal,
279      run_command,
280      ['$MAKE -s --no-print-directory T12600'])
281 test('T13658',
282      [when((arch('powerpc64') or arch('powerpc64le')), expect_broken(11261))],
283      compile, ['-dcore-lint'])
284 test('T14779a',
285      [when((arch('powerpc64') or arch('powerpc64le')), expect_broken(11261))],
286      compile, ['-dcore-lint'])
287 test('T14779b',
288      [when((arch('powerpc64') or arch('powerpc64le')), expect_broken(11261))],
289      compile, ['-dcore-lint'])
290 test('T13708', normal, compile, [''])
291
292 # thunk should inline here, so check whether or not it appears in the Core
293 # (we skip profasm because it might not inline there)
294 test('T14137', [ check_errmsg(r'thunk'), omit_ways(['profasm']) ], compile, ['-dsuppress-uniques -ddump-simpl'])
295 # bar and foo should CSEd here, so check for that in the Core
296 test('T14186', [ only_ways(['optasm']), check_errmsg(r'bar = foo') ], compile, ['-ddump-simpl'])
297
298 test('T14140',
299      normal,
300      run_command,
301      ['$MAKE -s --no-print-directory T14140'])
302
303 test('T14272', normal, compile, [''])
304 test('T14270a', normal, compile, [''])
305 test('T14152', [ only_ways(['optasm']), check_errmsg(r'dead code') ], compile, ['-ddump-simpl'])
306 test('T14152a', [extra_files(['T14152.hs']), pre_cmd('cp T14152.hs T14152a.hs'),
307                  only_ways(['optasm']), check_errmsg(r'dead code') ],
308                 compile, ['-fno-exitification -ddump-simpl'])
309 test('T13990', normal, compile, ['-dcore-lint -O'])
310 test('T14650', normal, compile, ['-O2'])
311 test('T14959', normal, compile, ['-O'])
312 test('T14978',
313      normal,
314      run_command,
315      ['$MAKE -s --no-print-directory T14978'])
316 test('T15002', [ req_profiling ], compile, ['-O -fprof-auto -prof'])
317 test('T15005', normal, compile, ['-O'])
318 # we omit profiling because it affects the optimiser and makes the test fail
319 test('T15056', [extra_files(['T15056a.hs']), omit_ways(['profasm'])], multimod_compile, ['T15056', '-O -v0 -ddump-rule-firings'])
320 test('T15186', normal, multimod_compile, ['T15186', '-v0'])
321 test('T15453', normal, compile, ['-O1'])
322 test('T15517', normal, compile, ['-O0'])
323 test('T15517a', normal, compile, ['-O0'])