annotate test/union2.d @ 91:3f949c6e2e9d trunk

[svn r95] added support for mains like: T main(string[] args) fixed a bug with slicing a pointer that is an argument with no storage
author lindquist
date Wed, 07 Nov 2007 04:52:56 +0100
parents b706170e24a9
children 61615fa85940
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 union2;
b706170e24a9 [svn r77] Fixed foreach on slice.
lindquist
parents:
diff changeset
2
b706170e24a9 [svn r77] Fixed foreach on slice.
lindquist
parents:
diff changeset
3 pragma(LLVM_internal, "notypeinfo")
b706170e24a9 [svn r77] Fixed foreach on slice.
lindquist
parents:
diff changeset
4 union U
b706170e24a9 [svn r77] Fixed foreach on slice.
lindquist
parents:
diff changeset
5 {
b706170e24a9 [svn r77] Fixed foreach on slice.
lindquist
parents:
diff changeset
6 float f;
b706170e24a9 [svn r77] Fixed foreach on slice.
lindquist
parents:
diff changeset
7 long l;
b706170e24a9 [svn r77] Fixed foreach on slice.
lindquist
parents:
diff changeset
8 }
b706170e24a9 [svn r77] Fixed foreach on slice.
lindquist
parents:
diff changeset
9
b706170e24a9 [svn r77] Fixed foreach on slice.
lindquist
parents:
diff changeset
10 U u;
b706170e24a9 [svn r77] Fixed foreach on slice.
lindquist
parents:
diff changeset
11
b706170e24a9 [svn r77] Fixed foreach on slice.
lindquist
parents:
diff changeset
12 void main()
b706170e24a9 [svn r77] Fixed foreach on slice.
lindquist
parents:
diff changeset
13 {
b706170e24a9 [svn r77] Fixed foreach on slice.
lindquist
parents:
diff changeset
14 assert(u.f !<>= 0);
b706170e24a9 [svn r77] Fixed foreach on slice.
lindquist
parents:
diff changeset
15 uint* p = 1 + cast(uint*)&u.l;
b706170e24a9 [svn r77] Fixed foreach on slice.
lindquist
parents:
diff changeset
16 assert(*p == 0);
b706170e24a9 [svn r77] Fixed foreach on slice.
lindquist
parents:
diff changeset
17 }