Mercurial > vim
comparison src/vim9compile.c @ 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 | 5e5780e3f75d |
children | 09bde146adcb |
comparison
equal
deleted
inserted
replaced
23947:e99448a2d0a9 | 23948:9854b4c6d5e6 |
---|---|
7717 } | 7717 } |
7718 } | 7718 } |
7719 | 7719 |
7720 compile_endblock(cctx); | 7720 compile_endblock(cctx); |
7721 | 7721 |
7722 if (try_isn->isn_arg.try.try_finally == 0) | 7722 if (cctx->ctx_skip != SKIP_YES) |
7723 // No :finally encountered, use the try_finaly field to point to | 7723 { |
7724 // ENDTRY, so that TRYCONT can jump there. | 7724 if (try_isn->isn_arg.try.try_finally == 0) |
7725 try_isn->isn_arg.try.try_finally = cctx->ctx_instr.ga_len; | 7725 // No :finally encountered, use the try_finaly field to point to |
7726 | 7726 // ENDTRY, so that TRYCONT can jump there. |
7727 if (cctx->ctx_skip != SKIP_YES && generate_instr(cctx, ISN_ENDTRY) == NULL) | 7727 try_isn->isn_arg.try.try_finally = instr->ga_len; |
7728 return NULL; | 7728 |
7729 if (cctx->ctx_skip != SKIP_YES | |
7730 && generate_instr(cctx, ISN_ENDTRY) == NULL) | |
7731 return NULL; | |
7729 #ifdef FEAT_PROFILE | 7732 #ifdef FEAT_PROFILE |
7730 if (cctx->ctx_profiling) | 7733 if (cctx->ctx_profiling) |
7731 generate_instr(cctx, ISN_PROF_START); | 7734 generate_instr(cctx, ISN_PROF_START); |
7732 #endif | 7735 #endif |
7736 } | |
7733 return arg; | 7737 return arg; |
7734 } | 7738 } |
7735 | 7739 |
7736 /* | 7740 /* |
7737 * compile "throw {expr}" | 7741 * compile "throw {expr}" |