digitalmars.D.bugs - [Issue 4768] New: Regression(1.056): wrong code with forward declaration of enum
- d-bugmail puremagic.com (29/29) Aug 29 2010 http://d.puremagic.com/issues/show_bug.cgi?id=4768
- d-bugmail puremagic.com (23/23) Sep 13 2010 http://d.puremagic.com/issues/show_bug.cgi?id=4768
- d-bugmail puremagic.com (12/12) Sep 21 2010 http://d.puremagic.com/issues/show_bug.cgi?id=4768
http://d.puremagic.com/issues/show_bug.cgi?id=4768 Summary: Regression(1.056): wrong code with forward declaration of enum Product: D Version: D1 Platform: Other OS/Version: Windows Status: NEW Keywords: wrong-code Severity: regression Priority: P2 Component: DMD AssignedTo: nobody puremagic.com ReportedBy: clugdbug yahoo.com.au This is the D1 version of bug 4516. Rejected as 'forward reference error' up to D1.053. Worked correctly in 1.054 and 1.055. Wrong code in 1.056 and later. Works if the definition of B is moved above A. struct A { B b; } enum B { Z = 2 } void main() { A x; assert(x.b == 2); } -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Aug 29 2010
http://d.puremagic.com/issues/show_bug.cgi?id=4768 Don <clugdbug yahoo.com.au> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch mtype.c, line 4110. Basically the same patch as bug 4516. int TypeEnum::isZeroInit(Loc loc) { + if (!sym->isdone && sym->scope) + { // Enum is forward referenced. We need to resolve the whole thing. + sym->semantic(NULL); + } + if (!sym->isdone) + { + error(loc, "enum %s is forward referenced", sym->toChars()); + return 0; + } return (sym->defaultval == 0); } -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Sep 13 2010
http://d.puremagic.com/issues/show_bug.cgi?id=4768 Walter Bright <bugzilla digitalmars.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |bugzilla digitalmars.com Resolution| |FIXED 19:21:45 PDT --- http://www.dsource.org/projects/dmd/changeset/682 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Sep 21 2010