This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Forward declarations and variable alignment weirdness


2010/8/21 Paul Brook <paul@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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]