discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: c/10360: __alignof__(double) answer 8


From: Frederic De Jaeger
Subject: Re: c/10360: __alignof__(double) answer 8
Date: 09 Apr 2003 23:59:58 +0200
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2

rth> Synopsis: __alignof__(double) answer 8
rth> State-Changed-From-To: open->closed
rth> State-Changed-By: rth
rth> State-Changed-When: Wed Apr  9 17:29:53 2003
rth> State-Changed-Why:
rth>     Not a bug.  __alignof__ returns the *preferred* alignment.
rth>     You're seeing other SVr4 ABI rules concerning structures.

Thus, why gcc does not align fields with respect to this *preferred*
alignment?
How can I compute the address of a field in a record?

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.
because I don't know, statically, the type of the record from which I
need to compute offsets.  

The type information comes from the @encode directive of
objective-C (ie:  it's a characters string that describe a type).
Actually, we are using "objc_alignof_type" (from the objective-c API)
and we expect it to return the alignment used by the compiler (and not
the *preferred* alignment).

Thanks for your help,


       Frederic De Jaeger




reply via email to

[Prev in Thread] Current Thread [Next in Thread]