http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57908

Yann Droneaud <yann at droneaud dot fr> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |UNCONFIRMED
         Resolution|INVALID                     |---

--- Comment #5 from Yann Droneaud <yann at droneaud dot fr> ---
(In reply to Yann Droneaud from comment #4)
> (In reply to Andrew Pinski from comment #2)
> > Your test program is not fully testing things correctly.
> >      kind         name              address   size   alignment   required
> > >   object |       u8_5 |     0x7fffefdd4810 |    3 |        16 |        1
> > >   object |       u8_6 |     0x7fffefdd4800 |    2 |      2048 |        1
> > >   object |       u8_7 |     0x7fffefdd47ff |    1 |         1 |        1
> > 
> > Shows why.  There are two variables right next to each other but the
> > alignment recorded is 2048 but that was just accidental.  The alignment of
> > u8_6 is 16 due to the next variable at 10.
> 
> Have you noticed that u8_7 is an array of 1 element only ?
> Array of 1 element (bytes) only are not aligned on 16 bytes boundary.
> Array of 2 bytes and greater get aligned on 16 bytes boundary.
> 
> Should I show another test case ?

     kind         name              address   size   alignment   required

     type |    uint8_t |                N/A |    1 |       N/A |        1 
     type | uint8_t[2] |                N/A |    2 |       N/A |        1 

   Arrays                                                                
   object |       u8_0 |     0x7fff7671e25f |    1 |         1 |        1
   object |       u8_1 |     0x7fff7671e250 |    3 |        16 |        1
   object |       u8_2 |     0x7fff7671e240 |    7 |        64 |        1
   object |       u8_3 |     0x7fff7671e230 |    5 |        16 |        1
   object |       u8_4 |     0x7fff7671e220 |    2 |        32 |        1
   object |       u8_5 |     0x7fff7671e21f |    1 |         1 |        1
   object |       u8_6 |     0x7fff7671e210 |    3 |        16 |        1
   object |       u8_7 |     0x7fff7671e200 |    5 |       512 |        1
   object |       u8_8 |     0x7fff7671e1f0 |    7 |        16 |        1
   object |       u8_9 |     0x7fff7671e1e0 |    2 |        32 |        1
   object |      u8_10 |     0x7fff7671e1d0 |   11 |        16 |        1
   object |      u8_11 |     0x7fff7671e1c0 |    3 |        64 |        1
   object |      u8_12 |     0x7fff7671e1b0 |   13 |        16 |        1
   object |      u8_13 |     0x7fff7671e1a0 |    2 |        32 |        1
   object |      u8_14 |     0x7fff7671e19f |    1 |         1 |        1
   object |      u8_15 |     0x7fff7671e190 |    2 |        16 |        1

Reply via email to