2010/8/21 Paul Brook <p...@codesourcery.com>: >> I have run into variable alignment issues, which turned out to be >> caused by forward declaration w/o the aligned attribute repeated. > >> Could someone explain this please? If it's a bug to not include the >> aligned attribute in the forward declaration, would it be hard to add >> a warning for that? Also the difference between 4.4.4 and 4.5.1 is >> interesting. > > PR45112. See also http://gcc.gnu.org/ml/gcc-patches/2010-08/msg00283.html
Thanks a lot for info. If I got the discussion right, it's ok for the definition to use more strict alignment than the declaration. And a declaration without the aligned attribute implies alignment of __alignof__(type)? So in testcase #3 the alignment of 16 is coming from some other optimization and the fixed bug was preventing the definition for making it go down to 8. Anyway, I think a warning in the case when the aligned attribute of the definition cannot be satisfied because of some earlier declaration would be a good idea. -- Best Regards Piotr Jaroszyński