diff tests/mini/packed1.d @ 445:cc40db549aea

Changed the handling of variadic intrinsics a bit. Removed the -fp80 option and made real be 80bit floats on X86, this is what the D spec really says it should be and fixes a bunch of issues. Changed the handling of parameter attributes to a bit more generalized approach. Added sext/zext attributes for byte/short/ubyte/ushort parameters, fixes #60 . Parameter attribs now properly set for intrinsic calls if necessary. Made the tango.math.Math patch less intrusive. Fixed/added some mini tests.
author Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
date Fri, 01 Aug 2008 17:59:58 +0200
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/mini/packed1.d	Fri Aug 01 17:59:58 2008 +0200
@@ -0,0 +1,24 @@
+module mini.packed1;
+
+extern(C) int printf(char*, ...);
+
+align(1)
+struct PackedStruct
+{
+    ubyte ub;
+    float f;
+    long l;
+    short s;
+    ubyte ub2;
+    short s2;
+}
+
+void main()
+{
+    PackedStruct[2] a = void;
+    void* begin = a.ptr;
+    void* end = &a[1];
+    ptrdiff_t sz = end - begin;
+    printf("size = 18 = %u = %u\n", PackedStruct.sizeof, sz);
+    assert(sz == 18);
+}
\ No newline at end of file