On 3 July 2014 14:51, Joseph Rushton Wakeling via Digitalmars-d <[email protected]> wrote: > On Thursday, 3 July 2014 at 11:21:34 UTC, Iain Buclaw via Digitalmars-d > wrote: >> >> The spec should be clearer on that. The language should respect the long >> double ABI of the platform it is targeting >> - so if the compiler is targeting a real=96bit system, but >> the max supported on the chip is 128bit, the compiler should >> *still* map real to the 96bit long doubles, unless explicitly >> told otherwise on the command-line. > > > This would be a change in the standard, no? "The long double ABI of the > target platform" is not necessarily the same as the current definition of > real as the largest hardware-supported floating-point type. > > I can't help but feel that this is another case where the definition of real > in the D spec, and its practical use in the implementation, have wound up in > conflict because of assumptions made relative to x86, where it's simply a > nice coincidence that the largets hardware-supported FP and the long double > type happen to be the same.
It's also a handy coincidence that for many platforms the targets largest supported FP and *double* type happen to be the same too.
