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}"