8046fa34fcf40e5846c6ef2405712764cffe69d8
[ghc.git] / testsuite / tests / typecheck / should_compile / all.T
1 # Args to vtc are: extra compile flags
2
3 def f( name, opts ):
4   opts.extra_hc_opts = '-fno-warn-incomplete-patterns'
5
6 setTestOpts(f)
7
8 test('tc001', normal, compile, [''])
9 test('tc002', normal, compile, [''])
10 test('tc003', normal, compile, [''])
11 test('tc004', normal, compile, [''])
12 test('tc005', normal, compile, [''])
13 test('tc006', normal, compile, [''])
14 test('tc007', normal, compile, [''])
15 test('tc008', normal, compile, [''])
16 test('tc009', normal, compile, [''])
17 test('tc010', normal, compile, [''])
18 test('tc011', normal, compile, [''])
19 test('tc012', normal, compile, [''])
20 test('tc013', normal, compile, [''])
21 test('tc014', normal, compile, [''])
22 test('tc015', normal, compile, [''])
23 test('tc016', normal, compile, [''])
24 test('tc017', normal, compile, [''])
25 test('tc018', normal, compile, [''])
26 test('tc019', normal, compile, [''])
27 test('tc020', normal, compile, [''])
28 test('tc021', normal, compile, [''])
29 test('tc022', normal, compile, [''])
30 test('tc023', normal, compile, [''])
31 test('tc024', normal, compile, [''])
32 test('tc025', normal, compile, [''])
33 test('tc026', normal, compile, [''])
34 test('tc027', normal, compile, [''])
35 test('tc028', normal, compile, [''])
36 test('tc029', normal, compile, [''])
37 test('tc030', normal, compile, [''])
38 test('tc031', normal, compile, [''])
39 test('tc032', normal, compile, [''])
40 test('tc033', normal, compile, [''])
41 test('tc034', normal, compile, [''])
42 test('tc035', normal, compile, [''])
43 test('tc036', normal, compile, [''])
44 test('tc037', normal, compile, [''])
45 test('tc038', normal, compile, [''])
46 test('tc039', normal, compile, [''])
47 test('tc040', normal, compile, [''])
48 test('tc041', normal, compile, [''])
49 test('tc042', normal, compile, [''])
50 test('tc043', normal, compile, [''])
51 test('tc044', normal, compile, [''])
52 test('tc045', normal, compile, [''])
53 test('tc046', normal, compile, [''])
54 test('tc047', normal, compile, [''])
55 test('tc048', normal, compile, [''])
56 test('tc049', normal, compile, [''])
57 test('tc050', normal, compile, [''])
58 test('tc051', normal, compile, [''])
59 test('tc052', normal, compile, [''])
60 test('tc053', normal, compile, [''])
61 test('tc054', normal, compile, [''])
62 test('tc055', normal, compile, [''])
63 test('tc056', normal, compile, [''])
64 test('tc057', normal, compile, [''])
65 test('tc058', normal, compile, [''])
66 test('tc059', normal, compile, [''])
67 test('tc060', normal, compile, [''])
68 test('tc061', normal, compile, [''])
69 test('tc062', normal, compile, [''])
70 test('tc063', normal, compile, [''])
71 test('tc064', normal, compile, [''])
72 test('tc065', normal, compile, [''])
73 test('tc066', normal, compile, [''])
74 test('tc067', normal, compile, [''])
75 test('tc068', normal, compile, [''])
76 test('tc069', normal, compile, [''])
77 test('tc070', normal, compile, [''])
78 test('tc073', normal, compile, [''])
79 test('tc074', normal, compile, [''])
80 test('tc076', normal, compile, [''])
81 test('tc077', normal, compile, [''])
82 test('tc078', normal, compile, [''])
83 test('tc079', normal, compile, [''])
84 test('tc080', normal, compile, [''])
85 test('tc081', normal, compile, [''])
86 test('tc082', normal, compile, [''])
87 test('tc084', normal, compile, [''])
88 test('tc085', normal, compile, [''])
89 test('tc086', normal, compile, [''])
90 test('tc087', normal, compile, [''])
91 test('tc088', normal, compile, [''])
92 test('tc089', normal, compile, [''])
93 test('tc090', normal, compile, [''])
94 test('tc091', normal, compile, [''])
95 test('tc092', normal, compile, [''])
96 test('tc093', normal, compile, [''])
97 test('tc094', normal, compile, [''])
98 test('tc095', normal, compile, [''])
99 test('tc096', normal, compile, [''])
100 test('tc097', normal, compile, [''])
101 test('tc098', normal, compile, [''])
102 test('tc099', normal, compile, [''])
103 test('tc100', normal, compile, [''])
104 test('tc101', normal, compile, [''])
105 test('tc102', normal, compile, [''])
106 # tc103 free
107 test('tc104', normal, compile, [''])
108 test('tc105', normal, compile, [''])
109 test('tc106', normal, compile, [''])
110 test('tc107', normal, compile, [''])
111 test('tc108', normal, compile, [''])
112 test('tc109', normal, compile, [''])
113 test('tc111', normal, compile, [''])
114 test('tc112', normal, compile, [''])
115 test('tc113', normal, compile, [''])
116 test('tc114', normal, compile, [''])
117 test('tc115', normal, compile, [''])
118 test('tc116', normal, compile, [''])
119 test('tc117', normal, compile, [''])
120 test('tc118', normal, compile, [''])
121 test('tc119', normal, compile, [''])
122 test('tc120', normal, compile, [''])
123 test('tc121', normal, compile, [''])
124 test('tc122', normal, compile, [''])
125 test('tc123', normal, compile, [''])
126 test('tc124', normal, compile, [''])
127 test('tc125', normal, compile, [''])
128 test('tc126', normal, compile, [''])
129 test('tc127', normal, compile, [''])
130 test('tc128', normal, compile, [''])
131 test('tc129', normal, compile, [''])
132 test('tc130', normal, compile, [''])
133 test('tc131', normal, compile, [''])
134 test('tc132', normal, compile, [''])
135 test('tc133', normal, compile, [''])
136
137 # tc134 tested result type signatures, which aren't supported any more
138 # test('tc134', normal, compile_fail, [''])
139
140 test('tc135', normal, compile, [''])
141 test('tc136', normal, compile, [''])
142 test('tc137', normal, compile, [''])
143 test('tc140', normal, compile, [''])
144 test('tc141', normal, compile_fail, [''])
145 test('tc142', normal, compile, [''])
146 test('tc143', normal, compile, [''])
147 test('tc144', normal, compile, [''])
148 test('tc145', normal, compile, [''])
149 test('tc146', normal, compile, [''])
150 test('tc147', normal, compile, [''])
151 test('tc148', normal, compile, [''])
152 test('tc149', normal, compile, [''])
153 test('tc150', normal, compile, [''])
154 test('tc151', normal, compile, [''])
155 test('tc152', normal, compile, [''])
156 test('tc153', normal, compile, [''])
157 test('tc154', normal, compile, [''])
158 test('tc155', normal, compile, [''])
159 test('tc156', normal, compile, [''])
160 test('tc157', normal, compile, [''])
161 test('tc158', normal, compile, [''])
162 test('tc159', normal, compile_and_run, [''])
163 test('tc160', normal, compile, [''])
164 test('tc161', normal, compile, [''])
165 test('tc162', normal, compile, [''])
166 test('tc163', normal, compile, [''])
167 test('tc164', normal, compile, [''])
168 test('tc165', expect_broken_for(10181, ['optasm', 'optllvm']), compile, [''])
169 test('tc166', normal, compile, [''])
170 test('tc167', normal, compile_fail, [''])
171 test('tc168', normal, compile_fail, [''])
172 test('tc169', normal, compile, [''])
173
174 test('tc170',
175      extra_clean(['Tc170_Aux.hi', 'Tc170_Aux.o']),
176      run_command,
177      ['$MAKE -s --no-print-directory tc170'])
178
179 test('tc171', normal, compile, [''])
180 test('tc172', normal, compile, [''])
181
182 # The point about this test is that it compiles Tc173a and Tc173b *separately*
183 test('tc173',
184      extra_clean(['Tc173a.hi', 'Tc173a.o', 'Tc173b.hi', 'Tc173b.o']),
185      run_command,
186      ['$MAKE -s --no-print-directory tc173'])
187
188 test('tc174', normal, compile, [''])
189 test('tc175', normal, compile, [''])
190 test('tc176', normal, compile, [''])
191 test('tc177', normal, compile, [''])
192 test('tc178', normal, compile, [''])
193 test('tc179', normal, compile, [''])
194 test('tc180', normal, compile, [''])
195 test('tc181', normal, compile, [''])
196 test('tc182', normal, compile, [''])
197 test('tc183', reqlib('mtl'), compile, [''])
198 test('tc184', normal, compile, [''])
199 test('tc185', normal, compile, [''])
200 test('tc186', normal, compile, [''])
201 test('tc187', normal, compile, [''])
202 test('tc188', normal, compile, [''])
203 test('tc189', normal, compile, [''])
204 test('tc190', normal, compile, [''])
205 test('tc191', reqlib('syb'), compile, [''])
206 test('tc192', normal, compile, [''])
207 test('tc193', normal, compile, [''])
208 test('tc194', normal, compile, [''])
209 test('tc195', normal, compile, [''])
210 test('tc196', normal, compile, [''])
211 test('tc197', normal, compile, [''])
212 test('tc198', normal, compile, [''])
213 test('tc199', normal, compile, [''])
214 test('tc200', normal, compile, [''])
215 test('tc201', normal, compile, [''])
216 test('tc202', normal, compile, [''])
217 test('tc203', normal, compile, [''])
218 test('tc204', normal, compile, [''])
219 test('tc205', normal, compile, [''])
220 test('tc206', normal, compile, [''])
221 test('tc207', normal, compile, [''])
222 test('tc208', normal, compile, [''])
223 test('tc209', normal, compile, [''])
224 test('tc210', normal, compile, [''])
225 test('tc211', normal, compile_fail, [''])
226 test('tc212', normal, compile, [''])
227 test('tc213', normal, compile, [''])
228 test('tc214', normal, compile, [''])
229 test('tc215', normal, compile, [''])
230
231 # This one is very delicate, but I don't think the result really matters
232 test('tc216', normal, compile, [''])
233
234 test('tc217', reqlib('mtl'), compile, [''])
235 test('tc218', normal, compile, [''])
236 test('tc219', normal, compile, [''])
237 test('tc220', [reqlib('mtl'), reqlib('syb')], compile, [''])
238 test('tc221', normal, compile, [''])
239 test('tc222', normal, compile, [''])
240 test('tc223', reqlib('mtl'), compile, [''])
241 test('tc224', normal, compile, [''])
242 test('tc225', normal, compile, [''])
243 test('tc226', normal, compile, [''])
244 test('tc227', normal, compile, [''])
245 test('tc228', normal, compile, [''])
246 test('tc229', normal, compile, [''])
247 test('tc230', normal, compile, [''])
248 test('tc231', normal, compile, [''])
249 test('tc232', reqlib('mtl'), compile, [''])
250 test('tc233', normal, compile, [''])
251 test('tc234', normal, compile, [''])
252 test('tc235', normal, compile, [''])
253 test('tc236', normal, compile, [''])
254 test('tc237', normal, compile, [''])
255 test('tc238', normal, compile, [''])
256
257 test('tc239', extra_clean(['Tc239_Help.hi', 'Tc239_Help.o']),
258      multimod_compile, ['tc239', '-v0'])
259
260 test('tc240', normal, compile, [''])
261 test('tc241', normal, compile, [''])
262 test('tc242', normal, compile, [''])
263 test('tc243', normal, compile, [''])
264 test('tc244', normal, compile, [''])
265 test('tc245',
266      extra_clean(['Tc245_A.hi', 'Tc245_A.o', 'tc245.hi', 'tc245.o']),
267      run_command,
268      ['$MAKE -s --no-print-directory tc245'])
269 test('tc246', normal, compile, [''])
270 test('tc247', normal, compile, [''])
271 test('tc248', normal, compile, [''])
272
273 test('FD1', normal, compile_fail, [''])
274 test('FD2', normal, compile_fail, [''])
275 test('FD3', normal, compile_fail, [''])
276 test('FD4', normal, compile, [''])
277
278 test('faxen', normal, compile, [''])
279 test('T1495', normal, compile, [''])
280 test('T2045', normal, compile, [''])   # Needs -fhpc
281 test('T2478', normal, compile, [''])
282 test('T2433', extra_clean(['T2433_Help.hi', 'T2433_Help.o']),
283      multimod_compile, ['T2433', '-v0'])
284 test('T2494', normal, compile_fail, [''])
285 test('T2494-2', normal, compile, [''])
286 test('T2497', normal, compile, [''])
287
288
289 # Omitting temporarily
290 test('syn-perf', normal, compile, ['-freduction-depth=30'])
291 test('syn-perf2', normal, compile, [''])
292
293 test('LoopOfTheDay1', normal, compile, [''])
294 test('LoopOfTheDay2', normal, compile, [''])
295 test('LoopOfTheDay3', normal, compile, [''])
296
297 test('T1470', normal, compile, [''])
298 test('T2572', normal, compile, [''])
299 test('T2735', normal, compile, [''])
300 test('T2799', normal, compile, [''])
301 test('T3219', normal, compile, [''])
302 test('T3342', normal, compile, [''])
303 test('T3346', normal, compile, [''])
304 test('T3409', normal, compile, [''])
305 test('T3955', normal, compile, [''])
306 test('PolyRec', normal, compile, [''])
307 test('twins', normal, compile, [''])
308
309 test('T2412',
310      extra_clean(['T2412.hi-boot', 'T2412.o-boot',
311                   'T2412A.hi', 'T2412A.o',
312                   'T2412.hi', 'T2412.o']),
313      run_command,
314      ['$MAKE --no-print-directory -s T2412'])
315
316 test('T2846', normal, compile, [''])
317 test('T4284', normal, compile, [''])
318 test('T2683', normal, compile, [''])
319 test('T3696', normal, compile, [''])
320 test('T1123', normal, compile, [''])
321 test('T3692', normal, compile, [''])
322 test('T700',  normal, compile, [''])
323 test('T4361', normal, compile, [''])
324 test('T4355', reqlib('mtl'), compile, [''])
325 test('T1634', normal, compile, [''])
326 test('T4401', normal, compile, [''])
327 test('T4404', normal, compile, ['-Wall'])
328 test('HasKey', normal, compile, [''])
329 test('T4418', normal, compile, [''])
330 test('T4444', normal, compile, [''])
331 test('T4498', normal, compile, [''])
332 test('T4524', normal, compile, [''])
333 test('T4917', normal, compile, [''])
334
335 test('T4912', extra_clean(['T4912a.hi', 'T4912a.o']),
336      multimod_compile, ['T4912', '-v0'])
337
338 test('T4952', normal, compile, [''])
339 test('T4969', normal, compile, [''])
340 test('T5120', normal, compile, [''])
341 test('mc18', normal, compile, [''])
342 test('tc249', normal, compile, [''])
343 test('tc250', normal, compile, [''])
344 test('tc251', extra_clean(['Tc251_Help.hi', 'Tc251_Help.o']),
345               multi_compile, ['tc251', [('Tc251_Help.hs', '')], '-v0'])
346 test('tc252', normal, compile, [''])
347 test('tc253', normal, compile, [''])
348 test('tc254', normal, compile, [''])
349 test('tc255', normal, compile, [''])
350 test('tc256', normal, compile, [''])
351 test('tc257', normal, compile, [''])
352 test('tc258', normal, compile, [''])
353 test('tc259', normal, compile, [''])
354 test('tc260', normal, compile, [''])
355 test('tc261', normal, compile, [''])
356 test('tc262', normal, compile, [''])
357 test('tc263',
358     extra_clean(['Tc263_Help.o','Tc263_Help.hi']),
359     multimod_compile, ['tc263','-v0'])
360 test('tc264', normal, multimod_compile, ['tc264.hsig', '-sig-of "ShouldCompile is base:Data.STRef"'])
361 test('tc265', compile_timeout_multiplier(0.01), compile, [''])
362
363 test('GivenOverlapping', normal, compile, [''])
364 test('GivenTypeSynonym', normal, compile, [''])
365 test('T3018', normal, compile, [''])
366 test('T5032', normal, compile, [''])
367 test('T2357', normal, compile, [''])
368 test('T5481', normal, compile_fail, [''])
369 test('T3743', normal, compile, [''])
370 test('T5490', normal, compile, [''])
371 test('T5514', normal, compile, [''])
372 test('T5581', normal, compile, [''])
373 test('T5655', normal, compile, [''])
374 test('T5643', normal, compile, [''])
375 test('T5595', normal, compile, [''])
376 test('T5676', normal, compile, [''])
377 test('T4310', normal, compile, [''])
378 test('T3108', normal, compile, [''])
379
380 test('T5792',normal,run_command,
381      ['$MAKE -s --no-print-directory T5792'])
382
383 test('PolytypeDecomp', normal, compile, [''])
384 test('T6011', normal, compile, [''])
385 test('T6055', normal, compile, [''])
386 test('DfltProb1', normal, compile, ['-O'])
387 # Add -O for DfltProb1 to expose Trac #11291
388 test('DfltProb2', normal, compile, [''])
389 test('T6134', normal, compile, [''])
390 test('T6018', extra_clean(['T6018.hi' , 'T6018.o'
391                           ,'T6018A.hi', 'T6018A.o'])
392             , multimod_compile, ['T6018', ''])
393 test('TcLambdaCase', [], compile, [''])
394 test('T7147', normal, compile, [''])
395 test('T7171',normal,run_command,
396      ['$MAKE -s --no-print-directory T7171'])
397 test('T7173', normal, compile, [''])
398 test('T7196', normal, compile, [''])
399 test('T7050', normal, compile, ['-O'])
400 test('T7312', normal, compile, [''])
401 test('T7384', normal, compile, [''])
402 test('T7451', normal, compile, [''])
403 test('holes', normal, compile, ['-fdefer-type-errors'])
404 test('holes2', normal, compile, ['-fdefer-type-errors'])
405 test('holes3', normal, compile_fail, [''])
406 test('T7408', normal, compile, [''])
407 test('UnboxStrictPrimitiveFields', normal, compile, [''])
408 test('T7541', normal, compile, [''])
409 test('T7562', normal, compile, [''])
410 test('T7641', normal, compile, [''])
411 test('T7827', normal, compile, [''])
412 test('T7875', normal, compile, [''])
413 test('T7268', normal, compile, [''])
414 test('T7888', normal, compile, [''])
415 test('T7891', normal, compile, [''])
416 test('T7903', normal, compile, [''])
417 test('TcTypeNatSimple', normal, compile, [''])
418 test('TcCoercibleCompile', [], compile, [''])
419 test('T8392', normal, compile, [''])
420 test('T8474', normal, compile, [''])
421 test('T8563', normal, compile, [''])
422 test('T8565', normal, compile, [''])
423 test('T8644', normal, compile, [''])
424 test('TcStaticPointers01', [], compile, [''])
425 test('TcStaticPointers02', [], compile, [''])
426 test('T8762', normal, compile, [''])
427 test('MutRec', normal, compile, [''])
428 test('T8856', normal, compile, [''])
429 test('T9569a', normal, compile, [''])
430 test('T9117', normal, compile, [''])
431 test('T9117_2', normal, compile, [''])
432 test('T9117_3', normal, compile, [''])
433 test('T9708', expect_broken(9708), compile, [''])
434 test('T9404', normal, compile, [''])
435 test('T9404b', normal, compile, [''])
436 test('T7220', normal, compile, [''])
437 test('T7220a', normal, compile_fail, [''])
438 test('T9151', normal, compile, [''])
439 test('T9497a', normal, compile, ['-fdefer-typed-holes'])
440 test('T9497b', normal, compile, ['-fdefer-typed-holes -fno-warn-typed-holes'])
441 test('T9497c', normal, compile, ['-fdefer-type-errors -fno-warn-typed-holes'])
442 test('T7643', normal, compile, [''])
443 test('T9834', normal, compile, [''])
444 test('T9892', normal, compile, [''])
445 test('T9939', normal, compile, ['-Wredundant-constraints'])
446 test('T9973', normal, compile, [''])
447 test('T9971', normal, compile, [''])
448 test('T10031', normal, compile, [''])
449 test('T10184', expect_broken(10184), compile, [''])
450 test('T10072', normal, compile_fail, [''])
451 test('T10100', normal, compile, [''])
452 test('T10156', normal, compile, [''])
453 test('T10177', normal, compile, [''])
454 test('T10185', expect_broken(10185), compile, [''])
455 test('T10195', normal, compile, [''])
456 test('T10109', normal, compile, [''])
457 test('T10283', normal, compile, [''])
458 test('TcCustomSolverSuper', normal, compile, [''])
459 test('T10335', normal, compile, [''])
460 test('Improvement', normal, compile, [''])
461 test('T10009', normal, compile, [''])
462 test('T10390', normal, compile, [''])
463 test('T8555', normal, compile, [''])
464 test('T8799', normal, compile, [''])
465 test('T10432', normal, compile, [''])
466 test('T10423', normal, compile, [''])
467 test('T10489', unless(compiler_debugged(), skip), compile, [''])
468 test('T10348', normal, compile, [''])
469 test('T10494', normal, compile, [''])
470 test('T10493', normal, compile, [''])
471 test('T10428', normal, compile, [''])
472 test('RepArrow', normal, compile, [''])
473 test('T10562', normal, compile, [''])
474 test('T10564', normal, compile, [''])
475 test('Vta1', normal, compile, [''])
476 test('Vta2', normal, compile, [''])
477 test('PushHRIf', normal, compile, [''])
478 test('T10632', normal, compile, ['-Wredundant-constraints'])
479 test('T10642', normal, compile, [''])
480 test('T10744', normal, compile, [''])
481 test('update-existential', normal, compile, [''])
482 test('T10347', expect_broken(10347), compile, [''])
483 test('T11056', normal, compile, [''])
484 test('T10770a', expect_broken(10770), compile, [''])
485 test('T10770b', expect_broken(10770), compile, [''])
486 test('T10935', normal, compile, [''])
487 test('T10971a', normal, compile, [''])
488 test('T11237', normal, compile, [''])
489 test('T10592', normal, compile, [''])
490 test('T11305', normal, compile, [''])
491 test('T11254', normal, compile, [''])
492 test('T11379', normal, compile, [''])
493 test('T11462',
494      [extra_clean(['T11462_Plugin.hi', 'T11462_Plugin.o']),
495       unless(have_dynamic(), expect_broken(10301))],
496      multi_compile,
497      ['', [('T11462_Plugin.hs', '-package ghc'),
498            ('T11462.hs', '')],
499       '-dynamic'])
500 test('T11480', normal, compile, [''])
501 test('RebindHR', normal, compile, [''])
502 test('RebindNegate', normal, compile, [''])
503 test('T11319', expect_broken(11319), compile, [''])
504 test('T11397', normal, compile, [''])
505 test('T11458', normal, compile, [''])
506 test('T11524', normal, compile, [''])
507 test('T11552', normal, compile, [''])
508 test('T11246', normal, compile, [''])
509 test('T11608', normal, compile, [''])
510 test('T11401', normal, compile, [''])
511 test('T11699', normal, compile, [''])
512 test('T11512', normal, compile, [''])
513 test('T11754', normal, compile, [''])
514 test('T11811', normal, compile, [''])
515 test('T11793', normal, compile, [''])