annotate run/invariant_13.d @ 1576:b3e16c86558e

[Issue 1398] New: GDC doesn't generate correct code <mariusmuja@gmail.com> 2007-08-04 http://d.puremagic.com/issues/show_bug.cgi?id=1398
author thomask
date Thu, 21 Feb 2008 15:20:08 +0000
parents ec5e144583ea
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
374
f87ba6507260 added missing meta-data
thomask
parents: 59
diff changeset
1 // $HeadURL$
f87ba6507260 added missing meta-data
thomask
parents: 59
diff changeset
2 // $Date$
f87ba6507260 added missing meta-data
thomask
parents: 59
diff changeset
3 // $Author$
f87ba6507260 added missing meta-data
thomask
parents: 59
diff changeset
4
736
1e6afb94ce6d updated meta data for Torture
thomask
parents: 374
diff changeset
5 // __DSTRESS_TORTURE_BLOCK__ -release
1e6afb94ce6d updated meta data for Torture
thomask
parents: 374
diff changeset
6
374
f87ba6507260 added missing meta-data
thomask
parents: 59
diff changeset
7 module dstress.run.invariant_13;
59
96cadd0da1ae added invariant tests
thomask
parents:
diff changeset
8
96cadd0da1ae added invariant tests
thomask
parents:
diff changeset
9 class Parent{
96cadd0da1ae added invariant tests
thomask
parents:
diff changeset
10 int x;
96cadd0da1ae added invariant tests
thomask
parents:
diff changeset
11
96cadd0da1ae added invariant tests
thomask
parents:
diff changeset
12 void test(){
96cadd0da1ae added invariant tests
thomask
parents:
diff changeset
13 }
96cadd0da1ae added invariant tests
thomask
parents:
diff changeset
14
1559
ec5e144583ea D1 -> D2 : 1/N
thomask
parents: 736
diff changeset
15 invariant(){
59
96cadd0da1ae added invariant tests
thomask
parents:
diff changeset
16 // even number
1559
ec5e144583ea D1 -> D2 : 1/N
thomask
parents: 736
diff changeset
17 if(x & 1){
ec5e144583ea D1 -> D2 : 1/N
thomask
parents: 736
diff changeset
18 assert(0);
ec5e144583ea D1 -> D2 : 1/N
thomask
parents: 736
diff changeset
19 }
59
96cadd0da1ae added invariant tests
thomask
parents:
diff changeset
20 }
96cadd0da1ae added invariant tests
thomask
parents:
diff changeset
21 }
96cadd0da1ae added invariant tests
thomask
parents:
diff changeset
22
96cadd0da1ae added invariant tests
thomask
parents:
diff changeset
23 class Child : Parent{
96cadd0da1ae added invariant tests
thomask
parents:
diff changeset
24 }
96cadd0da1ae added invariant tests
thomask
parents:
diff changeset
25
96cadd0da1ae added invariant tests
thomask
parents:
diff changeset
26 class GrandChild : Child{
96cadd0da1ae added invariant tests
thomask
parents:
diff changeset
27 this(int x){
96cadd0da1ae added invariant tests
thomask
parents:
diff changeset
28 this.x=x;
96cadd0da1ae added invariant tests
thomask
parents:
diff changeset
29 }
96cadd0da1ae added invariant tests
thomask
parents:
diff changeset
30
1559
ec5e144583ea D1 -> D2 : 1/N
thomask
parents: 736
diff changeset
31 invariant(){
ec5e144583ea D1 -> D2 : 1/N
thomask
parents: 736
diff changeset
32 if(x <= 2){
ec5e144583ea D1 -> D2 : 1/N
thomask
parents: 736
diff changeset
33 assert(0);
ec5e144583ea D1 -> D2 : 1/N
thomask
parents: 736
diff changeset
34 }
59
96cadd0da1ae added invariant tests
thomask
parents:
diff changeset
35 }
96cadd0da1ae added invariant tests
thomask
parents:
diff changeset
36 }
96cadd0da1ae added invariant tests
thomask
parents:
diff changeset
37
96cadd0da1ae added invariant tests
thomask
parents:
diff changeset
38 int main(){
96cadd0da1ae added invariant tests
thomask
parents:
diff changeset
39 try{
96cadd0da1ae added invariant tests
thomask
parents:
diff changeset
40 GrandChild gc = new GrandChild(2);
96cadd0da1ae added invariant tests
thomask
parents:
diff changeset
41 }catch{
96cadd0da1ae added invariant tests
thomask
parents:
diff changeset
42 return 0;
96cadd0da1ae added invariant tests
thomask
parents:
diff changeset
43 }
96cadd0da1ae added invariant tests
thomask
parents:
diff changeset
44 assert(0);
96cadd0da1ae added invariant tests
thomask
parents:
diff changeset
45 }