On 7/4/2014 5:06 AM, Daniel Murphy wrote:
"Walter Bright"  wrote in message news:lp26l3$qlk$1...@digitalmars.com...

Per the D spec, 'real' will be the longest type supported by the native 
hardware.

So if you were targeting a processor with only soft-float real would be
undefined?  Fixing the widths of the integers was a great idea, and we really
should have done the same with the floating point types.  We could easily have a
library alias for what real currently means.

Again, I expect the implementor for Platform X to be able to make a solid judgement on what to do for that platform that makes the most sense.


Not only that, a marquee feature of D is interoperability with C. We'd need an
AWFULLY good reason to throw that under the bus.
Unfortunately it's a useless definition for portable interop with C++.  real
needs to always match the size and mangling of long double unless you want to
stick workarounds all over the bindings.  We have related problems with
char/char/char and long/longlong/size_t,

Such problems disappear when common sense is applied.


but luckily relatively few interfaces actually use long double.

I really do not understand what the big problem is. It's trivial to interface with C code on Linux that accepts long doubles on all platforms D currently supports.

Reply via email to