changeset 23948:9854b4c6d5e6 v8.2.2516

patch 8.2.2516: test failure on s390 Commit: https://github.com/vim/vim/commit/4afa77419fb6e9ed194f8a3cf84dac7cda70deb4 Author: Bram Moolenaar <Bram@vim.org> Date: Sun Feb 14 16:34:59 2021 +0100 patch 8.2.2516: test failure on s390 Problem: Test failure on s390. (analyses by James McCoy) Solution: Only set the try_finally label when not skipping.
author Bram Moolenaar <Bram@vim.org>
date Sun, 14 Feb 2021 16:45:03 +0100
parents e99448a2d0a9
children 151224bd41f7
files src/version.c src/vim9compile.c
diffstat 2 files changed, 13 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    2516,
+/**/
     2515,
 /**/
     2514,
--- a/src/vim9compile.c
+++ b/src/vim9compile.c
@@ -7719,17 +7719,21 @@ compile_endtry(char_u *arg, cctx_T *cctx
 
     compile_endblock(cctx);
 
-    if (try_isn->isn_arg.try.try_finally == 0)
-	// No :finally encountered, use the try_finaly field to point to
-	// ENDTRY, so that TRYCONT can jump there.
-	try_isn->isn_arg.try.try_finally = cctx->ctx_instr.ga_len;
-
-    if (cctx->ctx_skip != SKIP_YES && generate_instr(cctx, ISN_ENDTRY) == NULL)
-	return NULL;
+    if (cctx->ctx_skip != SKIP_YES)
+    {
+	if (try_isn->isn_arg.try.try_finally == 0)
+	    // No :finally encountered, use the try_finaly field to point to
+	    // ENDTRY, so that TRYCONT can jump there.
+	    try_isn->isn_arg.try.try_finally = instr->ga_len;
+
+	if (cctx->ctx_skip != SKIP_YES
+				   && generate_instr(cctx, ISN_ENDTRY) == NULL)
+	    return NULL;
 #ifdef FEAT_PROFILE
 	if (cctx->ctx_profiling)
 	    generate_instr(cctx, ISN_PROF_START);
 #endif
+    }
     return arg;
 }