Am 14.12.2011 08:05, schrieb Walter Bright: > Highlights are use of XMM floating point registers in 64 bit targets, > and now supporting OS X 64 as a target. > > http://www.digitalmars.com/d/2.0/changelog.html > http://ftp.digitalmars.com/dmd.2.057.zip > > A lot of people put a ton of effort into making this D's best release > ever. Thanks!
I have a strange crash of the new dmd 2.057 compiler. I am running the compiler from inside VisualD. In debug mode the code compiles fine. In release mode the compiler crashes and Windows starts the Just-In-Time-Debugger saying that there is an unhandled exception inside dmd.exe. as a side note: the same code did compile with 2.056 ! When I try to find the source of the error it gets really funky strange: int main(string[] argv) { writeln("Hello D-World!"); auto i = uniform(0, 15); // line A auto c = 0; if (c++ < c) // line B writeln("Why did they call it c++"); // line C //writeln(bench!(doStringTest)); // line D //writeln(bench!(doBench1)); // line E //writeln(bench!(doBench2)); // line F //writeln(bench!(doBench3)); // line G // main1(argv); // line I // return 0; // line J //} // line K //int main1(string[] argv) // line L //{ // line M ... much more code } - the code above crashes - when I comment out line A it compiles - when I leave A comment out B and C - dmd gets into an endless loop ( I waited several minutes for the process to terminate) - when I leave A and uncomment I to M it compiles - when I uncomment A to G it compiles - when I uncomment A to F it crashes now I tried the following: int main(string[] argv) { writeln("Hello D-World!"); auto i = uniform(0, 15); // line A auto c = 0; if (c++ < c) // line B writeln("Why did they call it c++"); // line C //writeln(bench!(doStringTest)); // line D //writeln(bench!(doBench1)); // line E //writeln(bench!(doBench2)); // line F //writeln(bench!(doBench3)); // line G main1(argv); // line I return 0; // line J } // line K int main1(string[] argv) // line L { // line M ... much more code } - as soon as I uncomment line G it compiles with any combination of line D to F uncommented - when line G is commented out any combination of line D to F uncommented crashes. - when I comment out line "I" any other combination compiles I really would like to find a minimal stripped down version of the code, but as soon as I try to find it, the behavior changes.