From 0a57f662fa6f15916caa564312a162ddb3c04883 Mon Sep 17 00:00:00 2001 From: Araq <rumpf_a@web.de> Date: Mon, 20 Sep 2010 22:33:23 +0200 Subject: bugfix: finally sections are executed before return/break --- tests/accept/run/spec.csv | 4 +++- tests/accept/run/tfinally.nim | 11 ++++++++--- 2 files changed, 11 insertions(+), 4 deletions(-) (limited to 'tests/accept/run') diff --git a/tests/accept/run/spec.csv b/tests/accept/run/spec.csv index ec98fa70e..66eb7eb6a 100755 --- a/tests/accept/run/spec.csv +++ b/tests/accept/run/spec.csv @@ -19,7 +19,9 @@ tconstr2.nim;69 tcopy.nim;TEMP=C:\Programs\xyz\bin tcurrncy.nim;25 texplicitgeneric1.nim;Key: 12 value: 12Key: 13 value: 13 Key: A value: 12 Key: B value: 13 -tfinally.nim;came here +tfinally.nim;came here 3 +tfinally2.nim;ABCD +tfinally3.nim;false tfloat1.nim;Error: unhandled exception: FPU operation caused an overflow [EFloatOverflow] tfloat2.nim;Error: unhandled exception: FPU operation caused a NaN result [EFloatInvalidOp] tformat.nim;Hi Andreas! How do you feel, Rumpf? diff --git a/tests/accept/run/tfinally.nim b/tests/accept/run/tfinally.nim index df6397125..034653b2b 100755 --- a/tests/accept/run/tfinally.nim +++ b/tests/accept/run/tfinally.nim @@ -2,9 +2,14 @@ proc main: int = try: - return 1 + try: + return 1 + finally: + stdout.write("came ") + return 2 finally: - echo "came here" + stdout.write("here ") + return 3 -discard main() #OUT came here +echo main() #OUT came here 1 -- cgit 1.4.1-2-gfad0