D issues are now tracked on GitHub. This Bugzilla instance remains as a read-only archive.
Issue 8126 - Internal corruption in DMD when built with MSVC++ (unless my version was just messed up...)
Summary: Internal corruption in DMD when built with MSVC++ (unless my version was just...
Status: RESOLVED LATER
Alias: None
Product: D
Classification: Unclassified
Component: dmd (show other issues)
Version: D2
Hardware: x86 Windows
: P2 critical
Assignee: No Owner
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-05-20 17:13 UTC by dlang+issues
Modified: 2012-05-20 22:10 UTC (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this issue.
Description dlang+issues 2012-05-20 17:13:23 UTC
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 Walter Bright 2012-05-20 22:06:48 UTC
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 dlang+issues 2012-05-20 22:10:39 UTC
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.