Inlining Code Test

Nick Voronin elfy.nv at gmail.com
Fri Dec 17 18:41:08 PST 2010


On Sat, 18 Dec 2010 04:17:46 +0300, Don <nospam at nospam.com> wrote:

> Interestingly, since I filed that bug, DMD for MacOSX was created, which  
>   ensures that the stack stays aligned in the way I described! So the  
> DMD backend is perfectly capable of doing it now.

I added some examples to that bugreport. Just in case :)

>> btw, is there no explicit alignment for variables in D at all?
>> align(8) double d; compiles if d is global, but it does nothing.
>
> That's a regression. Large globals are always aligned to a 16-byte  
> boundary (see changelog for 2.007)
> However this code:
>
> import core.stdc.stdio: printf;
>
> int a;
> double[4] d;
>
> void main() {
>      printf("%u %u\n", (cast(size_t)&a) % 8, (cast(size_t)&d) % 8);
> }
> shows that it stopped doing that somewhere between 2.027 and 2.030.

Thanks. Filed it as http://d.puremagic.com/issues/show_bug.cgi?id=5355


-- 
Using Opera's revolutionary email client: http://www.opera.com/mail/


More information about the Digitalmars-d mailing list