annotate nocompile/delete_02.d @ 1619:bebc7472a832

Fix #7.
author Christian Kamm <kamm incasoftware de>
date Sat, 07 Nov 2009 18:55:30 +0100
parents 592f9ae41ba5
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
516
592f9ae41ba5 post DMD-0.122 review [1+2/n]
thomask
parents:
diff changeset
1 // $HeadURL$
592f9ae41ba5 post DMD-0.122 review [1+2/n]
thomask
parents:
diff changeset
2 // $Date$
592f9ae41ba5 post DMD-0.122 review [1+2/n]
thomask
parents:
diff changeset
3 // $Author$
592f9ae41ba5 post DMD-0.122 review [1+2/n]
thomask
parents:
diff changeset
4
592f9ae41ba5 post DMD-0.122 review [1+2/n]
thomask
parents:
diff changeset
5 // @WARNING@ direct usage of Phobos's GC
592f9ae41ba5 post DMD-0.122 review [1+2/n]
thomask
parents:
diff changeset
6
592f9ae41ba5 post DMD-0.122 review [1+2/n]
thomask
parents:
diff changeset
7 // __DSTRESS_ELINE__ 26
592f9ae41ba5 post DMD-0.122 review [1+2/n]
thomask
parents:
diff changeset
8
592f9ae41ba5 post DMD-0.122 review [1+2/n]
thomask
parents:
diff changeset
9 module dstress.nocompile.delete_02;
592f9ae41ba5 post DMD-0.122 review [1+2/n]
thomask
parents:
diff changeset
10
592f9ae41ba5 post DMD-0.122 review [1+2/n]
thomask
parents:
diff changeset
11 import std.gc;
592f9ae41ba5 post DMD-0.122 review [1+2/n]
thomask
parents:
diff changeset
12
592f9ae41ba5 post DMD-0.122 review [1+2/n]
thomask
parents:
diff changeset
13 int status;
592f9ae41ba5 post DMD-0.122 review [1+2/n]
thomask
parents:
diff changeset
14
592f9ae41ba5 post DMD-0.122 review [1+2/n]
thomask
parents:
diff changeset
15 struct MyStruct{
592f9ae41ba5 post DMD-0.122 review [1+2/n]
thomask
parents:
diff changeset
16 int i;
592f9ae41ba5 post DMD-0.122 review [1+2/n]
thomask
parents:
diff changeset
17
592f9ae41ba5 post DMD-0.122 review [1+2/n]
thomask
parents:
diff changeset
18 delete(void* p){
592f9ae41ba5 post DMD-0.122 review [1+2/n]
thomask
parents:
diff changeset
19 assert(status==0);
592f9ae41ba5 post DMD-0.122 review [1+2/n]
thomask
parents:
diff changeset
20 status--;
592f9ae41ba5 post DMD-0.122 review [1+2/n]
thomask
parents:
diff changeset
21 }
592f9ae41ba5 post DMD-0.122 review [1+2/n]
thomask
parents:
diff changeset
22 }
592f9ae41ba5 post DMD-0.122 review [1+2/n]
thomask
parents:
diff changeset
23
592f9ae41ba5 post DMD-0.122 review [1+2/n]
thomask
parents:
diff changeset
24 void test(){
592f9ae41ba5 post DMD-0.122 review [1+2/n]
thomask
parents:
diff changeset
25 MyStruct t;
592f9ae41ba5 post DMD-0.122 review [1+2/n]
thomask
parents:
diff changeset
26 delete t;
592f9ae41ba5 post DMD-0.122 review [1+2/n]
thomask
parents:
diff changeset
27 }
592f9ae41ba5 post DMD-0.122 review [1+2/n]
thomask
parents:
diff changeset
28
592f9ae41ba5 post DMD-0.122 review [1+2/n]
thomask
parents:
diff changeset
29 int main(){
592f9ae41ba5 post DMD-0.122 review [1+2/n]
thomask
parents:
diff changeset
30 test();
592f9ae41ba5 post DMD-0.122 review [1+2/n]
thomask
parents:
diff changeset
31 std.gc.fullCollect();
592f9ae41ba5 post DMD-0.122 review [1+2/n]
thomask
parents:
diff changeset
32 std.gc.minimize();
592f9ae41ba5 post DMD-0.122 review [1+2/n]
thomask
parents:
diff changeset
33 assert(status==-1);
592f9ae41ba5 post DMD-0.122 review [1+2/n]
thomask
parents:
diff changeset
34 return 0;
592f9ae41ba5 post DMD-0.122 review [1+2/n]
thomask
parents:
diff changeset
35 }