view tests/mini/bug24.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 1bb99290e03a
children
line wrap: on
line source

module bug24;
extern(C) int printf(char*, ...);

struct S
{
    long l;
    float f;
}

void main()
{
    S s = S(3L,2f);
    delegate {
        S t = S(4L, 1f);
        delegate {
            s.l += t.l;
            s.f += t.f;
        }();
    }();
    printf("%lu %f\n", s.l, s.f);
    assert(s.l == 7 && s.f == 3);
}