On Monday 07 January 2013, 12:17:41, Stephen Paul Weber wrote: > > > >So, it may be the way that the internal autoconf check works for > >cross-compiling violates an assumption about how that macro works. > > Indeed. <http://stackoverflow.com/a/14200277/8611> confirms that the way > this macro works for cros-compiling will not work for floating point types.
Apart from the fact that it is not an integer constant expression (note: clang doesn't mind that, it generates a warning with -pedantic and needs -pedantic- errors to produce an error; gcc-4.6.2 produces an error by default), it wouldn't test anything meaningful if it were. It declares static int test_array [1 - 2 * !(something)]; and something is (otherthing >= 0), where otherthing is of the form a == b Now, the result of a comparison is either 0 or 1, so (otherthing >= 0) is always true (1), and !(something) is 0. Thus conftest.c:119:12: error: size of array 'test_array' is negative is very suspicious. > > I think my vote would be to restructure the checks such that non-integral > types are specially handled. The purpose of the test was to check whether two types have the same size, if I recall correctly? _______________________________________________ Cvs-ghc mailing list Cvs-ghc@haskell.org http://www.haskell.org/mailman/listinfo/cvs-ghc