mirror of
https://github.com/xomboverlord/ldc.git
synced 2026-01-12 10:53:14 +01:00
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.
24 lines
381 B
D
24 lines
381 B
D
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);
|
|
} |