digitalmars.D.bugs - [Issue 621] New: When inside a loop, if you call break inside a try block the finally block is never executed
- d-bugmail puremagic.com (35/35) Nov 30 2006 http://d.puremagic.com/issues/show_bug.cgi?id=621
- d-bugmail puremagic.com (10/10) Nov 30 2006 http://d.puremagic.com/issues/show_bug.cgi?id=621
- d-bugmail puremagic.com (9/9) Dec 30 2006 http://d.puremagic.com/issues/show_bug.cgi?id=621
- d-bugmail puremagic.com (4/4) Jan 09 2007 http://d.puremagic.com/issues/show_bug.cgi?id=621
- d-bugmail puremagic.com (9/9) Jan 27 2007 http://d.puremagic.com/issues/show_bug.cgi?id=621
http://d.puremagic.com/issues/show_bug.cgi?id=621 Summary: When inside a loop, if you call break inside a try block the finally block is never executed Product: D Version: 0.175 Platform: PC OS/Version: Linux Status: NEW Severity: critical Priority: P1 Component: DMD AssignedTo: bugzilla digitalmars.com ReportedBy: juanjo comellas.com.ar This bug happens only on Linux. I've verified that it works with DMD on Windows. Here's a sample program that shows the bug: import std.stdio; int main(char[][] args) { while (true) { try { writefln("one"); break; } finally { // ERROR: This block is not executed writefln("two"); } } writefln("three"); return 0; } --
Nov 30 2006
http://d.puremagic.com/issues/show_bug.cgi?id=621 The program should show the following output: one two three But on Linux you get: one three --
Nov 30 2006
http://d.puremagic.com/issues/show_bug.cgi?id=621 Added to DStress as http://dstress.kuehne.cn/run/b/break_12_A.d http://dstress.kuehne.cn/run/b/break_12_B.d see also: http://dstress.kuehne.cn/run/goto_10.d http://dstress.kuehne.cn/run/goto_11.d --
Dec 30 2006
http://d.puremagic.com/issues/show_bug.cgi?id=621 bugzilla digitalmars.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED Fixed DMD 1.001 --
Jan 27 2007