view tests/mini/classes5.d @ 809:69a5e4a6fc0f

Changed some hardcoded offset/alignment for classes in DMD, broke offsets for 64bits. Changed ClassInfo generation to no longer access the default initializer of ClassInfo, fixes problems with index mismatch.
author Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
date Sun, 30 Nov 2008 20:22:09 +0100
parents 1bb99290e03a
children
line wrap: on
line source

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

struct S
{
    long l;
}

class C
{
    C c;
    S s;
}

void main()
{
    C c = new C;
    long* lp = void;
    {c.s.l = 64;}
    {assert(c.s.l == 64);}
    {lp = &c.s.l;}
    {assert(*lp == 64);}
    printf("classes5 success\n");
}