annotate tests/mini/norun_debug11.d @ 1318:bac742d3a72d

Make sure this testcase keeps crashing with -O3. Recent optimization improvements made LLVM realize the store-to-null was unavoidable, so it deleted all of main() and replaced it with 'unreachable'. Because the body of main() no longer even contained a return instruction, calling it caused random code to be ran instead. This happened to be the code that links in the ModuleInfo on my machine, which then returned "successfully".
author Frits van Bommel <fvbommel wxs.nl>
date Sat, 09 May 2009 00:55:47 +0200
parents 24ea9bf5f8b7
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
416
24ea9bf5f8b7 testing the new mini test runner features.
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents:
diff changeset
1 module mini.norun_debug11;
24ea9bf5f8b7 testing the new mini test runner features.
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents:
diff changeset
2
24ea9bf5f8b7 testing the new mini test runner features.
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents:
diff changeset
3 class C
24ea9bf5f8b7 testing the new mini test runner features.
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents:
diff changeset
4 {
24ea9bf5f8b7 testing the new mini test runner features.
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents:
diff changeset
5 }
24ea9bf5f8b7 testing the new mini test runner features.
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents:
diff changeset
6
24ea9bf5f8b7 testing the new mini test runner features.
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents:
diff changeset
7 class D : C
24ea9bf5f8b7 testing the new mini test runner features.
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents:
diff changeset
8 {
24ea9bf5f8b7 testing the new mini test runner features.
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents:
diff changeset
9 int i = 42;
24ea9bf5f8b7 testing the new mini test runner features.
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents:
diff changeset
10 }
24ea9bf5f8b7 testing the new mini test runner features.
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents:
diff changeset
11
24ea9bf5f8b7 testing the new mini test runner features.
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents:
diff changeset
12 class E : D
24ea9bf5f8b7 testing the new mini test runner features.
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents:
diff changeset
13 {
24ea9bf5f8b7 testing the new mini test runner features.
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents:
diff changeset
14 float fp = 3.14f;
24ea9bf5f8b7 testing the new mini test runner features.
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents:
diff changeset
15 }
24ea9bf5f8b7 testing the new mini test runner features.
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents:
diff changeset
16
24ea9bf5f8b7 testing the new mini test runner features.
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents:
diff changeset
17 class F : E
24ea9bf5f8b7 testing the new mini test runner features.
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents:
diff changeset
18 {
24ea9bf5f8b7 testing the new mini test runner features.
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents:
diff changeset
19 F f;
24ea9bf5f8b7 testing the new mini test runner features.
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents:
diff changeset
20 }
24ea9bf5f8b7 testing the new mini test runner features.
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents:
diff changeset
21
24ea9bf5f8b7 testing the new mini test runner features.
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents:
diff changeset
22 void main()
24ea9bf5f8b7 testing the new mini test runner features.
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents:
diff changeset
23 {
24ea9bf5f8b7 testing the new mini test runner features.
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents:
diff changeset
24 auto c = new C;
24ea9bf5f8b7 testing the new mini test runner features.
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents:
diff changeset
25 auto d = new D;
24ea9bf5f8b7 testing the new mini test runner features.
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents:
diff changeset
26 auto e = new E;
24ea9bf5f8b7 testing the new mini test runner features.
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents:
diff changeset
27 auto f = new F;
24ea9bf5f8b7 testing the new mini test runner features.
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents:
diff changeset
28
24ea9bf5f8b7 testing the new mini test runner features.
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents:
diff changeset
29 auto ci = c.classinfo;
24ea9bf5f8b7 testing the new mini test runner features.
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents:
diff changeset
30
1318
bac742d3a72d Make sure this testcase keeps crashing with -O3.
Frits van Bommel <fvbommel wxs.nl>
parents: 416
diff changeset
31 int* fail = cast(int*) 1;
416
24ea9bf5f8b7 testing the new mini test runner features.
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents:
diff changeset
32 *fail = 0;
24ea9bf5f8b7 testing the new mini test runner features.
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents:
diff changeset
33 }