annotate tests/mini/union4.d @ 1134:152bd2c804d0

Update comments now that LLVM PR3861 has been fixed. However, since conditionally removing the workaround makes the ABI dependent on LLVM version, I reconsidered that. (The same revision of LDC compiling for the same target should probably produce code that follows the same ABI, right?)
author Frits van Bommel <fvbommel wxs.nl>
date Tue, 24 Mar 2009 02:46:57 +0100
parents 44f08170f4ef
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
76
9e1bd80a7e98 [svn r80] Fixed union literals
lindquist
parents:
diff changeset
1 module union4;
9e1bd80a7e98 [svn r80] Fixed union literals
lindquist
parents:
diff changeset
2
9e1bd80a7e98 [svn r80] Fixed union literals
lindquist
parents:
diff changeset
3 union U {
9e1bd80a7e98 [svn r80] Fixed union literals
lindquist
parents:
diff changeset
4 struct { float x,y,z; }
9e1bd80a7e98 [svn r80] Fixed union literals
lindquist
parents:
diff changeset
5 float[3] xyz;
9e1bd80a7e98 [svn r80] Fixed union literals
lindquist
parents:
diff changeset
6 }
9e1bd80a7e98 [svn r80] Fixed union literals
lindquist
parents:
diff changeset
7
9e1bd80a7e98 [svn r80] Fixed union literals
lindquist
parents:
diff changeset
8 void main() {
9e1bd80a7e98 [svn r80] Fixed union literals
lindquist
parents:
diff changeset
9 const float[3] a = [1f,2,3];
9e1bd80a7e98 [svn r80] Fixed union literals
lindquist
parents:
diff changeset
10 U u = U(1,2,3);
9e1bd80a7e98 [svn r80] Fixed union literals
lindquist
parents:
diff changeset
11 assert(u.xyz == a);
9e1bd80a7e98 [svn r80] Fixed union literals
lindquist
parents:
diff changeset
12 assert(u.x == 1);
9e1bd80a7e98 [svn r80] Fixed union literals
lindquist
parents:
diff changeset
13 assert(u.y == 2);
9e1bd80a7e98 [svn r80] Fixed union literals
lindquist
parents:
diff changeset
14 assert(u.z == 3);
9e1bd80a7e98 [svn r80] Fixed union literals
lindquist
parents:
diff changeset
15 }