On 1/16/2012 8:59 AM, Manu wrote:
(also the float array is
unaligned).

Currently, it is 4 byte aligned. But the compiler could align freestanding static arrays on 16 bytes without breaking anything. It just cannot align:

   struct S
   {
        int a;
        float[4] b;
   }

b on a 16 byte boundary, as that would break the ABI. Even worse,

   struct S
   {
       int a;
       char[16] s;
   }

can't be aligned on 16 bytes as that is a common "small string optimization".

Reply via email to