0
0
mirror of https://github.com/vim/vim.git synced 2025-07-26 11:04:33 -04:00

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.
This commit is contained in:
Bram Moolenaar 2021-02-14 16:34:59 +01:00
parent 6281815ecc
commit 4afa77419f
2 changed files with 12 additions and 6 deletions

View File

@ -750,6 +750,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
2516,
/**/
2515,
/**/

View File

@ -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;
}