diff options
author | Bram Moolenaar <Bram@vim.org> | 2021-02-14 16:34:59 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2021-02-14 16:34:59 +0100 |
commit | 4afa77419fb6e9ed194f8a3cf84dac7cda70deb4 (patch) | |
tree | 550080262f69dca56d4d0ffdabde1640ea1312a3 /src | |
parent | 6281815eccc3ded54960f7798833ceb39561b9a0 (diff) | |
download | vim-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.
Diffstat (limited to 'src')
-rw-r--r-- | src/version.c | 2 | ||||
-rw-r--r-- | src/vim9compile.c | 16 |
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; } |