digitalmars.D.bugs - [Issue 11977] New: Regression 2.065.b1: goto skips declaration of variable
- d-bugmail puremagic.com (34/34) Jan 23 2014 https://d.puremagic.com/issues/show_bug.cgi?id=11977
- d-bugmail puremagic.com (14/14) Jan 23 2014 https://d.puremagic.com/issues/show_bug.cgi?id=11977
https://d.puremagic.com/issues/show_bug.cgi?id=11977 Summary: Regression 2.065.b1: goto skips declaration of variable Product: D Version: D2 Platform: All OS/Version: All Status: NEW Severity: regression Priority: P2 Component: DMD AssignedTo: nobody puremagic.com ReportedBy: doob me.com This code used to compile with DMD 2.064.2: void main() { int i; switch (i) { case 1: goto Lno_consume; // Line 10 break; default: } int x; // Line 15 for (int* tp = &x, tp_end = tp + 3; tp < tp_end; ++tp) { } Lno_consume: {} } But fails to compile with 2.065.b1 wit this error message: Error: goto skips declaration of variable main.main.x at main.d(15) -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jan 23 2014
https://d.puremagic.com/issues/show_bug.cgi?id=11977 yebblies <yebblies gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |yebblies gmail.com Resolution| |INVALID As you can see, the goto clearly skips the initialization of x. Not a regression, the compiler is finally following the spec: "It is illegal for a GotoStatement to be used to skip initializations." -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jan 23 2014