digitalmars.D - problem compiling with optimizations enabled
- darkstalker (34/34) Mar 31 2012 I have the following source:
- bearophile (35/36) Mar 31 2012 Congratulations, it's another compiler bug.
- Walter Bright (3/8) Mar 31 2012 Any internal error messages are compiler bugs. Please add it to bugzilla...
- bearophile (4/4) Mar 31 2012 On Saturday, 31 March 2012 at 23:35:41 UTC, darkstalker wrote:
I have the following source: --- import std.stdio; string ascii = " .:;+=xX$&"; void main() { for (idouble i = -2i; i <= 2i; i += .125i) { for (double r = -2; r <= 2; r += .0625) { auto c = r + i; auto z = 0 + 0i; int iter; do { z = z * z + c; if (z.re * z.re + z.im * z.im > 4) break; ++iter; } while (iter < ascii.length - 1); write(ascii[iter]); } writeln(); } } --- It compiles and works normally, unless i turn in optimizations: --- $ dmd -O program.d Internal error: backend/gloop.c 3400 --- Is this a bug? or something wrong in my code? compiler: DMD64 D Compiler v2.058 (64 bit) OS: gentoo linux x86_64
Mar 31 2012
darkstalker:Is this a bug? or something wrong in my code?Congratulations, it's another compiler bug. On Windows 32 bit this code behaves in another way, it doesn't crash: import std.stdio; void main() { for (idouble j = -2i; j <= 2i; j += 0.125i) { for (double r = -2; r <= 2; r += 0.0625) { cdouble c = r + j; writeln(c.re, " ", c.im); } } } Without -O: -2 -2 -1.9375 -2 -1.875 -2 -1.8125 -2 -1.75 -2 ... 1.75 2 1.8125 2 1.875 2 1.9375 2 2 2 With -O: -0 -9.88131e-324 -0 -9.88131e-324 -0 -9.88131e-324 -0 -9.88131e-324 -0 -9.88131e-324 -0 -9.88131e-324 -0 -9.88131e-324 ... Bye, bearophile
Mar 31 2012
On 3/31/2012 4:35 PM, darkstalker wrote:--- $ dmd -O program.d Internal error: backend/gloop.c 3400 --- Is this a bug? or something wrong in my code?Any internal error messages are compiler bugs. Please add it to bugzilla: http://d.puremagic.com/issues/enter_bug.cgi?product=D
Mar 31 2012
On Saturday, 31 March 2012 at 23:35:41 UTC, darkstalker wrote: And I have already seen the image in that gravatar somewhere. Bye, bearophile
Mar 31 2012