Bug 8126 – Internal corruption in DMD when built with MSVC++ (unless my version was just messed up...)
Status
RESOLVED
Resolution
LATER
Severity
critical
Priority
P2
Component
dmd
Product
D
Version
D2
Platform
x86
OS
Windows
Creation time
2012-05-20T17:13:00Z
Last change time
2012-05-20T22:10:39Z
Assigned to
nobody
Creator
wfunction
Comments
Comment #0 by wfunction — 2012-05-20T17:13:23Z
When I try to compile the code below:
import std.algorithm, std.file;
void main() { foo(copy); }
with a version 2.60 beta of DMD that I built with MSVC, I get back gibberish:
Error: undefined identifier foo
À+?hŸà‘¿;¢ð: Error: no overload matches for copy(Range1,Range2) if (isInputRange!(Range1) && isOutputRange!(Range2,ElementType!(Range1)))
It doesn't happen with the version of DMD that you build with DMC, though.
I think it's a buffer overflow bug, unless my version just messed up...
Comment #1 by bugzilla — 2012-05-20T22:06:48Z
Why is this marked critical?
Although people have submitted patches to support MSVC compilation of DMD, and those patches have been incorporated, testing of this build is not done and is not officially supported.
In general, if you want to work with an MSVC built version of DMD, you'll need to be willing to chase down any failures in it. I'll be happy to accept pull requests to fix them.
Comment #2 by wfunction — 2012-05-20T22:10:39Z
I marked it as critical since it indicated a likely (buffer overflow?) bug in DMD... didn't know it wasn't supported though. Thanks for the info.