summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2021-02-14 16:34:59 +0100
committerBram Moolenaar <Bram@vim.org>2021-02-14 16:34:59 +0100
commit4afa77419fb6e9ed194f8a3cf84dac7cda70deb4 (patch)
tree550080262f69dca56d4d0ffdabde1640ea1312a3
parent6281815eccc3ded54960f7798833ceb39561b9a0 (diff)
downloadvim-git-4afa77419fb6e9ed194f8a3cf84dac7cda70deb4.tar.gz
patch 8.2.2516: test failure on s390v8.2.2516
Problem: Test failure on s390. (analyses by James McCoy) Solution: Only set the try_finally label when not skipping.
-rw-r--r--src/version.c2
-rw-r--r--src/vim9compile.c16
2 files changed, 12 insertions, 6 deletions
diff --git a/src/version.c b/src/version.c
index f856d83a5..c3b73a58a 100644
--- 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,
diff --git a/src/vim9compile.c b/src/vim9compile.c
index 5742123c0..6d0a74882 100644
--- 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)
+ {
+ 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;
+ 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;
}