> > Is there a reason your target is defining double in an unuseful and > incompatible way rather than doing hard-single and soft-double? If you > have any control over the choice of ABI, I think the latter makes a > lot more sense. > I can see a few arguments for float==double, but haven't actually done that for our target yet. A common error is to write 1.0 instead of 1.0f, where the former sometimes pulls in the soft double support. Integer arguments to libm functions promote to double but I would prefer promote to 32 bit float. Arguments to variadic functions promote to double. Again I would prefer 32 bit float. Leaving long double as 64 bit, unlike in the question, means no loss of functionality relative to double == long double. Cheers Jon >