From: Dale Johannesen <[EMAIL PROTECTED]>
   Date: Thu, 21 Jul 2005 16:56:01 -0700

   On x86 currently the alignments of double and long long are linked:
   they are either 4 or 8 depending on whether -malign-double is set.
   This follows the documentation of -malign-double.  But it's wrong for
   what we want the Darwin ABI to be:  the default should be that double
   is 4 bytes and long long is 8 bytes.

I have a strong suspicion there is a reason why the two are linked,
and that that reason is FORTRAN.  A lot of FORTRAN code assumes
EQUIVALENCE of floating-point and integer types of equal size.  Such
code will in all likelyhood break if those types have different
alignment.  For x86 this means that int/float and long long/double
will have to have the same alignment.

If my suspicion is right, I hope this still can be changed.  Otherwise
I'm sure a lot of Apple's customers doing scientific computing will be
rather pissed off.

Mark

Reply via email to