view tests/mini/classes12.d @ 811:8e6135be6999

Fixed ModuleInfo generation to no longer use the ModuleInfo class' default initializer for types/defaults, it's unsafe as initializers don't necesarily match the "formal" type. There might be explicit padding. Changed -g switch to emit DW_LANG_D debug info, make demangling work with a patched GDB, still more work to do for full support of D's Dwarf extensions. Added getNullValue helper method.
author Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
date Mon, 01 Dec 2008 02:10:16 +0100
parents 1bb99290e03a
children
line wrap: on
line source

class C
{
    int a;
    union
    {
        int i;
        double d;
    }
    int z;
}

void func()
{
    scope c = new C;
    access1(c);
    assert(c.i == 42);
    access2(c);
    assert(c.d == 2.5);
}

void access1(C c)
{
    c.i = 42;
}

void access2(C c)
{
    c.d = 2.5;
}

void main()
{
    func();
}