annotate tests/mini/union1.d @ 490:f8c979770af3

Fixed a critical bug in the runtime, where _d_allocmemoryT would mark the memory block as having pointers (for scanning) opposite of what it should. So pointers would not be seen and freed. Should fix a bunch of regressions with AAs.
author Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
date Sun, 10 Aug 2008 17:28:01 +0200
parents 44f08170f4ef
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
73
b706170e24a9 [svn r77] Fixed foreach on slice.
lindquist
parents:
diff changeset
1 module union1;
b706170e24a9 [svn r77] Fixed foreach on slice.
lindquist
parents:
diff changeset
2
b706170e24a9 [svn r77] Fixed foreach on slice.
lindquist
parents:
diff changeset
3 union U
b706170e24a9 [svn r77] Fixed foreach on slice.
lindquist
parents:
diff changeset
4 {
b706170e24a9 [svn r77] Fixed foreach on slice.
lindquist
parents:
diff changeset
5 float f;
b706170e24a9 [svn r77] Fixed foreach on slice.
lindquist
parents:
diff changeset
6 int i;
b706170e24a9 [svn r77] Fixed foreach on slice.
lindquist
parents:
diff changeset
7 }
b706170e24a9 [svn r77] Fixed foreach on slice.
lindquist
parents:
diff changeset
8
b706170e24a9 [svn r77] Fixed foreach on slice.
lindquist
parents:
diff changeset
9 void main()
b706170e24a9 [svn r77] Fixed foreach on slice.
lindquist
parents:
diff changeset
10 {
b706170e24a9 [svn r77] Fixed foreach on slice.
lindquist
parents:
diff changeset
11 float f = 2;
b706170e24a9 [svn r77] Fixed foreach on slice.
lindquist
parents:
diff changeset
12 U u = U(f);
b706170e24a9 [svn r77] Fixed foreach on slice.
lindquist
parents:
diff changeset
13 assert(u.i == *cast(int*)&f);
b706170e24a9 [svn r77] Fixed foreach on slice.
lindquist
parents:
diff changeset
14 }