Thread overview | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
|
September 25, 2009 [Issue 3344] New: Internal error: e2ir.c 644 by a strange return statement | ||||
---|---|---|---|---|
| ||||
http://d.puremagic.com/issues/show_bug.cgi?id=3344 Summary: Internal error: e2ir.c 644 by a strange return statement Product: D Version: 2.032 Platform: Other OS/Version: Windows Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: nobody@puremagic.com ReportedBy: rayerd.wiz@gmail.com --- Comment #0 from Haruki Shigemori <rayerd.wiz@gmail.com> 2009-09-25 05:31:50 PDT --- >type main.d void f(T)(){} void main() { return f; } >dmd main f(T) Internal error: e2ir.c 644 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
September 25, 2009 [Issue 3344] ICE(e2ir.c) returning a void function from main() | ||||
---|---|---|---|---|
| ||||
Posted in reply to Haruki Shigemori | http://d.puremagic.com/issues/show_bug.cgi?id=3344 Don <clugdbug@yahoo.com.au> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |ice-on-valid-code CC| |clugdbug@yahoo.com.au Version|2.032 |1.00 Summary|Internal error: e2ir.c 644 |ICE(e2ir.c) returning a |by a strange return |void function from main() |statement | --- Comment #1 from Don <clugdbug@yahoo.com.au> 2009-09-25 05:38:45 PDT --- Not a D2 bug. Fails even in DMD 0.165. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
September 29, 2009 [Issue 3344] ICE(e2ir.c) returning an invalid function from main() | ||||
---|---|---|---|---|
| ||||
Posted in reply to Haruki Shigemori | http://d.puremagic.com/issues/show_bug.cgi?id=3344 Don <clugdbug@yahoo.com.au> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords|ice-on-valid-code |ice-on-invalid-code, patch Summary|ICE(e2ir.c) returning a |ICE(e2ir.c) returning an |void function from main() |invalid function from | |main() --- Comment #2 from Don <clugdbug@yahoo.com.au> 2009-09-29 01:24:49 PDT --- This is clearly invalid code. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
September 29, 2009 [Issue 3344] ICE(e2ir.c) returning an invalid function from main() | ||||
---|---|---|---|---|
| ||||
Posted in reply to Haruki Shigemori | http://d.puremagic.com/issues/show_bug.cgi?id=3344 --- Comment #3 from Don <clugdbug@yahoo.com.au> 2009-09-29 01:24:55 PDT --- This is happening because when return exp; is changed into exp; return;, the semantic pass never gets run on the expression. ------- PATCH: iin statement.c, around line 3464, in Statement *ReturnStatement::semantic(Scope *sc) ===== /* Replace: * return exp; * with: * exp; return; */ Statement *s = new ExpStatement(loc, exp); + s->semantic(sc); ========== CAUTION: This patch also disallows code like " void foo() { return 7; }" This shows up several bugs in Phobos and in the DMD test suite. If there's a reason why such bug-prone code should continue to be accepted, a more complicated patch will be required. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
October 13, 2009 [Issue 3344] ICE(e2ir.c) returning an invalid function from main() | ||||
---|---|---|---|---|
| ||||
Posted in reply to Haruki Shigemori | http://d.puremagic.com/issues/show_bug.cgi?id=3344 Walter Bright <bugzilla@digitalmars.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |bugzilla@digitalmars.com Resolution| |FIXED --- Comment #4 from Walter Bright <bugzilla@digitalmars.com> 2009-10-13 13:48:24 PDT --- Fixed dmd 1.049 and 2.034 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
Copyright © 1999-2021 by the D Language Foundation