Ralf Wildenhues wrote: > Thanks. Note this still doesn't cope with -qalign, nor would I bet > money that AIX won't ever use 8 byte alignment for 4 byte types (or > similar).
Such an alignment rule would mean that in a struct { int x; int y; int z; } or struct { float x; float y; float z; } half of the memory is wasted. Since 4-byte types are predominant, it sounds quite unlikely that ABI designers could devise such a thing for a general-purpose machine. (For a DSP it's different.) > But since we (well, I ;-) still don't know what the bug is, and I > don't have access to AIX 3.2.5 to check, I can't really judge whether... The comment says that it's a "bug with enums constants defined as offsetof values". > ...AC_CHECK_ALIGNOF needs to be adjusted for this. Since AC_CHECK_ALIGNOF uses _AC_COMPUTE_INT, and _AC_COMPUTE_INT doesn't use the value in an 'enum' (it uses it only in comparisons, array bounds and 'long'/'unsigned long' variables), there is no problem. Bruno