Bug 6778 – Internal error on parsing functions with arguments on which opOpAssign is invoked

Status
RESOLVED
Resolution
WORKSFORME
Severity
critical
Priority
P2
Component
dmd
Product
D
Version
D2
Platform
x86_64
OS
Linux
Creation time
2011-10-07T04:44:00Z
Last change time
2012-04-28T01:56:59Z
Assigned to
nobody
Creator
armin.kazmi

Attachments

IDFilenameSummaryContent-TypeSize
1036test.dTest sample fileapplication/octet-stream370

Comments

Comment #0 by armin.kazmi — 2011-10-07T04:44:17Z
The following code sample fails in all cases: import std.stdio; void main() { class test { this(double t) { } }; struct testStruct { this(double t) { } }; double b = 2; double c = 4; void funcTest(double t) { } //testStruct( b /= c ); // <-- Internal error: backend/cg87.c 202 when pulled in //new test( b /= c ); // <-- Internal error: backend/cg87.c 202 when pulled in funcTest(b *= c); // <-- Internal error: backend/cg87.c 202 writefln("b = %1$s", b); }
Comment #1 by armin.kazmi — 2011-10-07T04:44:43Z
Created attachment 1036 Test sample file
Comment #2 by bugzilla — 2012-04-28T01:56:59Z
This works without error on dmd 2.060 latest, on Linux with -m32 and -m64.