Advertising

------- Comment #5 from [EMAIL PROTECTED] 2008-11-21 05:32 -------
(In reply to comment #4)
> It seems that it's simply failing to initialise y correctly. Changing main to
When I looked at the assembly, I think (can't remember now) that y was
initialised, but the array initialisation was overwriting the initialisation of
y.
A note that the values you put into the array i affects the value of y. try the
second struct below, which might give you
C:\temp>dmd test.d
C:\temp>test.exe
1065353216
on windows.
Removing the initialisation from const array does "fix" it though, so this
works:
struct S1
{
float a[10] = [1,1,1,1,1,1,1,1,1,1];
int y=5;
}
but this does not:
struct S1
{
const float[10] i = [1,1,1,1,1,1,1,1,1,1];
float a[10] = i;
int y=5;
}
--