This is the mail archive of the gcc-prs@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: c/10360: __alignof__(double) answer 8


The following reply was made to PR c/10360; it has been noted by GNATS.

From: Richard Henderson <rth at redhat dot com>
To: Frederic De Jaeger <dejaeger at free dot fr>
Cc: rth at gcc dot gnu dot org, discuss-gnustep at gnu dot org, gcc-bugs at gcc dot gnu dot org,
   gcc-prs at gcc dot gnu dot org, nobody at gcc dot gnu dot org, richard at brainstorm dot co dot uk,
   thoran at free dot fr, gcc-gnats at gcc dot gnu dot org
Subject: Re: c/10360: __alignof__(double) answer 8
Date: Wed, 9 Apr 2003 15:40:39 -0700

 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~


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