From 7b5d548c6de43cf801bdec62a2ee9b724e0f5f99 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=91=D0=BE=D0=BD=D0=B4=D0=B0=D1=80=D0=B5=D0=B2=20=D0=98?= =?UTF-8?q?=D0=B2=D0=B0=D0=BD?= Date: Fri, 29 Sep 2017 18:34:48 +0200 Subject: [PATCH] bug fix #499 --- NETGenerator/NETGenerator.cs | 5 ++++- TestSuite/goto1.pas | 10 ++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 TestSuite/goto1.pas diff --git a/NETGenerator/NETGenerator.cs b/NETGenerator/NETGenerator.cs index 7f483b7d2..1772faf0e 100644 --- a/NETGenerator/NETGenerator.cs +++ b/NETGenerator/NETGenerator.cs @@ -5655,7 +5655,10 @@ namespace PascalABCCompiler.NETGenerator public override void visit(IGotoStatementNode value) { Label lab = helper.GetLabel(value.label, il); - il.Emit(OpCodes.Br, lab); + if (safe_block) + il.Emit(OpCodes.Leave, lab); + else + il.Emit(OpCodes.Br, lab); } private Stack