view test/structs3.d @ 27:92408a3a2bac trunk

[svn r31] * Fixed returning through hidden pointer was unable to report back the return value * Fixed removed some litter instructions sometimes produced by constructor calls
author lindquist
date Thu, 04 Oct 2007 11:39:53 +0200
parents 5e69b77a5c51
children
line wrap: on
line source

module structs3;

struct S
{
    char c;
    float f;
}

struct T
{
    S s;
    long l;
}

void main()
{
    T t;
    float f = void;
    float* fp = void;
    {f = t.s.f;}
    {t.s.f = 0.0;}
    {fp = &t.s.f;}
    {*fp = 1.0;}
    {assert(t.s.f == 1.0);}
    {assert(*(&t.s.f) == 1.0);}
    {t.s.c = 'a';}
    {assert(t.s.c == 'a');}
    {t.l = 64;}
    {assert(t.l == 64);}
}