digitalmars.D.bugs - [Issue 3482] New: dmd: template.c:4017: Identifier* TemplateInstance::genIdent(): Assertion `0' failed.
- d-bugmail puremagic.com (31/31) Nov 06 2009 http://d.puremagic.com/issues/show_bug.cgi?id=3482
- d-bugmail puremagic.com (24/24) Nov 06 2009 http://d.puremagic.com/issues/show_bug.cgi?id=3482
- d-bugmail puremagic.com (13/13) Nov 07 2009 http://d.puremagic.com/issues/show_bug.cgi?id=3482
- d-bugmail puremagic.com (7/7) Nov 07 2009 http://d.puremagic.com/issues/show_bug.cgi?id=3482
- d-bugmail puremagic.com (6/6) Nov 07 2009 http://d.puremagic.com/issues/show_bug.cgi?id=3482
http://d.puremagic.com/issues/show_bug.cgi?id=3482 Summary: dmd: template.c:4017: Identifier* TemplateInstance::genIdent(): Assertion `0' failed. Product: D Version: 1.051 Platform: Other OS/Version: All Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: nobody puremagic.com ReportedBy: nfxjfg gmail.com The following (invalid) code produces an ICE: void foo(T...)() { return ""; } void main() { foo!(int, char)(); } dmd: template.c:4017: Identifier* TemplateInstance::genIdent(): Assertion `0' failed. The 'return "";' is invalid code, because it's inside a function with void as return type. (That's a recent change to dmd.) Apparently, instead of printing a proper error message, something goes wrong. Interestingly, the example above works when you change it to 'foo!(int)();', and dmd will print what looks like a proper error message. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Nov 06 2009
http://d.puremagic.com/issues/show_bug.cgi?id=3482 Don <clugdbug yahoo.com.au> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |clugdbug yahoo.com.au Summary|ICE(template.c:4017): |ICE(template.c:4017): |Identifier* |instantiating invalid tuple |TemplateInstance::genIdent( |template. D1 only. |): Assertion `0' failed. | Severity|normal |regression This is a regression between 1.036 and 1.041. It's nothing to do with return values: any error inside a tuple template will do it: void foo(T...)() { bug; } void main() { foo!(int, char)(); } On DMD1.041, this produced: Assertion failure: 'i < parameters->dim' on line 796 in file 'template.c' -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Nov 06 2009
http://d.puremagic.com/issues/show_bug.cgi?id=3482 Robert Clipsham <robert octarineparrot.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |robert octarineparrot.com Resolution| |DUPLICATE 07:54:22 PST --- *** This issue has been marked as a duplicate of issue 1144 *** -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Nov 07 2009
http://d.puremagic.com/issues/show_bug.cgi?id=3482 What? issue 1144 is marked as fixed, but this bug is triggered in the newest release, even if this is just the symptom of another known bug as Don said. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Nov 07 2009
http://d.puremagic.com/issues/show_bug.cgi?id=3482 *** This issue has been marked as a duplicate of issue 2229 *** -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Nov 07 2009