------- Comment #2 from  2009-03-20 09:14 -------
(In reply to comment #1)
> I'll put it in, but there's a problem if the compiler does any constant 
> folding
> on the values - they'll get converted to quiet NaNs.

I know. I don't think it's too unreasonable: once you've done a calculation on
it, it's no longer uninitialized. The only way it could get constant-folded is
if you've explicitly entered 'real.init'. So you'd have to be doing something
(Negation still preserves signallingness, through the ancient code in DMD; and
there, you're just setting the sign bit).

Since it only SNANs automatically get converted to QNANs when no traps are
enabled, and since no-one expects traps to be enabled at compile time, it's
quite defensible, I think.


Reply via email to