On Jul 22, 2005, at 12:42 PM, Andrew Pinski wrote:
struct X { int A; double B; };
This is modified by things like ADJUST_FIELD_ALIGN and
ROUND_TYPE_ALIGN. As such, I don't think there is a way to get this
alignment in a target-independent way. Does that sound right?
You want the alignment of B in that struct in source code and not
in GCC?
If so you want to do:
struct X { int A; double B; };
int f(void){struct X b; return __alignof__(b.B);}
Nope, I'm trying to use this in target-independent GCC code, not
source code. The reason I can't do something like the above (which
amounts to looking at TYPE_ALIGN or DECL_ALIGN) is that I don't
*know* all the ways that double can be used, and how the target will
change its alignment. IOW, I'm looking for
give_me_the_minimum_alignment(double), which, on darwin, because of
the above, is 4 bytes.
As RTH pointed out, it appears that there is no interesting minimum
that I can get.
Thanks all,
-Chris