digitalmars.D.bugs - [Issue 4516] New: forward declaration of enum not supported
- d-bugmail puremagic.com (24/24) Jul 27 2010 http://d.puremagic.com/issues/show_bug.cgi?id=4516
- d-bugmail puremagic.com (11/13) Jul 27 2010 http://d.puremagic.com/issues/show_bug.cgi?id=4516
- d-bugmail puremagic.com (13/18) Jul 27 2010 http://d.puremagic.com/issues/show_bug.cgi?id=4516
- d-bugmail puremagic.com (10/10) Jul 27 2010 http://d.puremagic.com/issues/show_bug.cgi?id=4516
- d-bugmail puremagic.com (6/6) Jul 28 2010 http://d.puremagic.com/issues/show_bug.cgi?id=4516
- d-bugmail puremagic.com (36/36) Aug 06 2010 http://d.puremagic.com/issues/show_bug.cgi?id=4516
- d-bugmail puremagic.com (13/13) Aug 08 2010 http://d.puremagic.com/issues/show_bug.cgi?id=4516
- d-bugmail puremagic.com (12/12) Aug 30 2010 http://d.puremagic.com/issues/show_bug.cgi?id=4516
- d-bugmail puremagic.com (10/10) Aug 30 2010 http://d.puremagic.com/issues/show_bug.cgi?id=4516
http://d.puremagic.com/issues/show_bug.cgi?id=4516 Summary: forward declaration of enum not supported Product: D Version: D2 Platform: Other OS/Version: All Status: NEW Keywords: rejects-valid Severity: normal Priority: P2 Component: DMD AssignedTo: nobody puremagic.com ReportedBy: braddr puremagic.com --- module foo; struct A { B b; } enum B { Z } $ dmd -c foo.d foo.d(3): Error: enum B is forward referenced (flagging as D2 only since I haven't tested with D1 -- quite possibly broken with both) -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jul 27 2010
http://d.puremagic.com/issues/show_bug.cgi?id=4516 Leandro Lucarella <llucax gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |llucax gmail.com PDT ---(flagging as D2 only since I haven't tested with D1 -- quite possibly broken with both)Nope, D2-only (at least svn r584 works). -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jul 27 2010
http://d.puremagic.com/issues/show_bug.cgi?id=4516 Don <clugdbug yahoo.com.au> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |clugdbug yahoo.com.auIt failed up to D1.053. It works in D1.054 and later. Interestingly it also worked in D2.038 and 2.039 ONLY (released with 1.054), it had failed in 2.037 and earlier, but failed again starting with 2.040. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------(flagging as D2 only since I haven't tested with D1 -- quite possibly broken with both)Nope, D2-only (at least svn r584 works).
Jul 27 2010
http://d.puremagic.com/issues/show_bug.cgi?id=4516 Stewart Gordon <smjg iname.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |smjg iname.com Blocks| |340 Severity|normal |regression -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jul 27 2010
http://d.puremagic.com/issues/show_bug.cgi?id=4516 11:41:50 PDT --- See bug 1160 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jul 28 2010
http://d.puremagic.com/issues/show_bug.cgi?id=4516 Don <clugdbug yahoo.com.au> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch Summary|forward declaration of enum |Regression(2.040): forward |not supported |declaration of enum not | |supported The fix to bug 1160 was what originally fixed it (in toBasetype(), do full semantic on the enum type when forward referenced); the fix to bug 3723 broke it again (in toBasetype(), only do semantic on the type, not on the full enum). In this situation, it does actually does the need the full semantic to be run. Although this test case passes in D1, I'm not convinced that D1 is correct (it doesn't check for forward references at all). ---- PATCH: mtype.c, line 6340. int TypeEnum::isZeroInit(Loc loc) { + if (!sym->defaultval && sym->scope) + { // Enum is forward referenced. We need to resolve the whole thing. + sym->semantic(NULL); + } if (!sym->defaultval) { #ifdef DEBUG printf("3: "); #endif error(loc, "enum %s is forward referenced", sym->toChars()); return 0; } return sym->defaultval->isBool(FALSE); } -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Aug 06 2010
http://d.puremagic.com/issues/show_bug.cgi?id=4516 Walter Bright <bugzilla digitalmars.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |bugzilla digitalmars.com Version|D2 |D1 20:51:50 PDT --- You're right that D1 doesn't check for it, as defaultVal is just an integer. I'll apply your fix for D2, but leave the bug open for D1. http://www.dsource.org/projects/dmd/changeset/605 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Aug 08 2010
http://d.puremagic.com/issues/show_bug.cgi?id=4516 Don <clugdbug yahoo.com.au> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED I have moved the D1 version of this bug into the newly created bug 4768. Both symptoms and solution are different for D1. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Aug 30 2010
http://d.puremagic.com/issues/show_bug.cgi?id=4516 Stewart Gordon <smjg iname.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Version|D1 |D2 But you left this one filed as a D1 bug. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Aug 30 2010