c/10360: __alignof__(double) answer 8

Richard Henderson rth@redhat.com
Wed Apr 9 22:41:00 GMT 2003


On Wed, Apr 09, 2003 at 11:59:58PM +0200, Frederic De Jaeger wrote:
> Thus, why gcc does not align fields with respect to this *preferred*
> alignment?

Because the ABI says not to.

> How can I compute the address of a field in a record?

offsetof.

> I need to do this uniformly on all the types.  That means I cannot use
> the trick : 
>  offset = (char *)&foo.bla - (char *)&foo.
> or the "offsetof" macro.

Tough luck then.

> ... and we expect it to return the alignment used by the compiler (and not
> the *preferred* alignment).

A meaningless number.  Because "the alignment used by the compiler"
is going to depend on the context in which it is used.


r~



More information about the Gcc-bugs mailing list