dmd 1.053 and 2.037 release

Don nospam at nospam.com
Mon Dec 7 03:55:19 PST 2009


Don wrote:
> Lars T. Kyllingstad wrote:
>> Walter Bright wrote:
>>> Probably the biggest thing is opDispatch!
>>>
>>> http://www.digitalmars.com/d/1.0/changelog.html
>>> http://ftp.digitalmars.com/dmd.1.053.zip
>>>
>>>
>>> http://www.digitalmars.com/d/2.0/changelog.html
>>> http://ftp.digitalmars.com/dmd.2.037.zip
>>>
>>> Many thanks to the numerous people who contributed to this update.
>>
>>
>> Thanks, guys! This is a pretty awesome release. :) I especially like 
>> that opPow made it in, and also the changes to std.math look very useful.
>>
>> I have one question regarding the latter: What exactly is supposed to 
>> happen when I run the example in the FloatingPointControl 
>> documentation? Is the program supposed to crash with some informative 
>> error message, or do I have to do something to catch the exception? 
>> Currently, nothing out of the ordinary happens when I run it on my 
>> computer -- y just becomes NaN when x is NaN.
> 
> Aargh, the example's wrong. DMD optimizes the assignment into a blit. 
> Try setting y = x*2.
I take that back. The example is correct. This code...
-----
import std.math;

void main()
{
     real x;
     FloatingPointControl fpctrl;
     fpctrl.enableExceptions(FloatingPointControl.severeExceptions);
     double y = x*3.0;
}
----
results in:
object.Error: Invalid Floating Point Operation

However, it seems that the compiler is no longer creating variables of 
type double and float as signalling NaNs. That's a bug.



More information about the Digitalmars-d-announce mailing list