summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2021-12-21 09:42:09 +0000
committerBram Moolenaar <Bram@vim.org>2021-12-21 09:42:09 +0000
commit0d807107b66e0d30d4f338c272962af5714c400e (patch)
tree08f92991f2306d674e5bf4f9993ee666fda2b71d
parent6f79e614b25caebd35cf0d82b6f3b7e0733849ec (diff)
downloadvim-git-0d807107b66e0d30d4f338c272962af5714c400e.tar.gz
patch 8.2.3865: Vim9: compiler complains about using "try" as a struct memberv8.2.3865
Problem: Vim9: compiler complains about using "try" as a struct member. Solution: Rename "try" to "tryref".
-rw-r--r--src/version.c2
-rw-r--r--src/vim9.h4
-rw-r--r--src/vim9cmds.c22
-rw-r--r--src/vim9execute.c8
-rw-r--r--src/vim9instr.c2
5 files changed, 20 insertions, 18 deletions
diff --git a/src/version.c b/src/version.c
index bbb21576e..90b35d388 100644
--- a/src/version.c
+++ b/src/version.c
@@ -750,6 +750,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 3865,
+/**/
3864,
/**/
3863,
diff --git a/src/vim9.h b/src/vim9.h
index 8a243ba7e..a79ffb5af 100644
--- a/src/vim9.h
+++ b/src/vim9.h
@@ -112,7 +112,7 @@ typedef enum {
// loop
ISN_FOR, // get next item from a list, uses isn_arg.forloop
- ISN_TRY, // add entry to ec_trystack, uses isn_arg.try
+ ISN_TRY, // add entry to ec_trystack, uses isn_arg.tryref
ISN_THROW, // pop value of stack, store in v:exception
ISN_PUSHEXC, // push v:exception
ISN_CATCH, // drop v:exception
@@ -429,7 +429,7 @@ struct isn_S {
jump_T jump;
jumparg_T jumparg;
forloop_T forloop;
- try_T try;
+ try_T tryref;
trycont_T trycont;
cbfunc_T bfunc;
cdfunc_T dfunc;
diff --git a/src/vim9cmds.c b/src/vim9cmds.c
index fe9ead275..6d8935a9c 100644
--- a/src/vim9cmds.c
+++ b/src/vim9cmds.c
@@ -1290,8 +1290,8 @@ compile_try(char_u *arg, cctx_T *cctx)
try_scope->se_u.se_try.ts_try_label = instr->ga_len;
if ((isn = generate_instr(cctx, ISN_TRY)) == NULL)
return NULL;
- isn->isn_arg.try.try_ref = ALLOC_CLEAR_ONE(tryref_T);
- if (isn->isn_arg.try.try_ref == NULL)
+ isn->isn_arg.tryref.try_ref = ALLOC_CLEAR_ONE(tryref_T);
+ if (isn->isn_arg.tryref.try_ref == NULL)
return NULL;
}
@@ -1352,8 +1352,8 @@ compile_catch(char_u *arg, cctx_T *cctx UNUSED)
// End :try or :catch scope: set value in ISN_TRY instruction
isn = ((isn_T *)instr->ga_data) + scope->se_u.se_try.ts_try_label;
- if (isn->isn_arg.try.try_ref->try_catch == 0)
- isn->isn_arg.try.try_ref->try_catch = instr->ga_len;
+ if (isn->isn_arg.tryref.try_ref->try_catch == 0)
+ isn->isn_arg.tryref.try_ref->try_catch = instr->ga_len;
if (scope->se_u.se_try.ts_catch_label != 0)
{
// Previous catch without match jumps here
@@ -1452,7 +1452,7 @@ compile_finally(char_u *arg, cctx_T *cctx)
{
// End :catch or :finally scope: set value in ISN_TRY instruction
isn = ((isn_T *)instr->ga_data) + scope->se_u.se_try.ts_try_label;
- if (isn->isn_arg.try.try_ref->try_finally != 0)
+ if (isn->isn_arg.tryref.try_ref->try_finally != 0)
{
emsg(_(e_finally_dup));
return NULL;
@@ -1479,9 +1479,9 @@ compile_finally(char_u *arg, cctx_T *cctx)
this_instr, cctx);
// If there is no :catch then an exception jumps to :finally.
- if (isn->isn_arg.try.try_ref->try_catch == 0)
- isn->isn_arg.try.try_ref->try_catch = this_instr;
- isn->isn_arg.try.try_ref->try_finally = this_instr;
+ if (isn->isn_arg.tryref.try_ref->try_catch == 0)
+ isn->isn_arg.tryref.try_ref->try_catch = this_instr;
+ isn->isn_arg.tryref.try_ref->try_finally = this_instr;
if (scope->se_u.se_try.ts_catch_label != 0)
{
// Previous catch without match jumps here
@@ -1528,8 +1528,8 @@ compile_endtry(char_u *arg, cctx_T *cctx)
try_isn = ((isn_T *)instr->ga_data) + scope->se_u.se_try.ts_try_label;
if (cctx->ctx_skip != SKIP_YES)
{
- if (try_isn->isn_arg.try.try_ref->try_catch == 0
- && try_isn->isn_arg.try.try_ref->try_finally == 0)
+ if (try_isn->isn_arg.tryref.try_ref->try_catch == 0
+ && try_isn->isn_arg.tryref.try_ref->try_finally == 0)
{
emsg(_(e_missing_catch_or_finally));
return NULL;
@@ -1564,7 +1564,7 @@ compile_endtry(char_u *arg, cctx_T *cctx)
{
// End :catch or :finally scope: set instruction index in ISN_TRY
// instruction
- try_isn->isn_arg.try.try_ref->try_endtry = instr->ga_len;
+ try_isn->isn_arg.tryref.try_ref->try_endtry = instr->ga_len;
if (cctx->ctx_skip != SKIP_YES
&& generate_instr(cctx, ISN_ENDTRY) == NULL)
return NULL;
diff --git a/src/vim9execute.c b/src/vim9execute.c
index 43b7e6fda..74851121b 100644
--- a/src/vim9execute.c
+++ b/src/vim9execute.c
@@ -3517,11 +3517,11 @@ exec_instructions(ectx_T *ectx)
trycmd->tcd_frame_idx = ectx->ec_frame_idx;
trycmd->tcd_stack_len = ectx->ec_stack.ga_len;
trycmd->tcd_catch_idx =
- iptr->isn_arg.try.try_ref->try_catch;
+ iptr->isn_arg.tryref.try_ref->try_catch;
trycmd->tcd_finally_idx =
- iptr->isn_arg.try.try_ref->try_finally;
+ iptr->isn_arg.tryref.try_ref->try_finally;
trycmd->tcd_endtry_idx =
- iptr->isn_arg.try.try_ref->try_endtry;
+ iptr->isn_arg.tryref.try_ref->try_endtry;
}
break;
@@ -5670,7 +5670,7 @@ list_instructions(char *pfx, isn_T *instr, int instr_count, ufunc_T *ufunc)
case ISN_TRY:
{
- try_T *try = &iptr->isn_arg.try;
+ try_T *try = &iptr->isn_arg.tryref;
if (try->try_ref->try_finally == 0)
smsg("%s%4d TRY catch -> %d, endtry -> %d",
diff --git a/src/vim9instr.c b/src/vim9instr.c
index d82efe94e..48c90dc44 100644
--- a/src/vim9instr.c
+++ b/src/vim9instr.c
@@ -2088,7 +2088,7 @@ delete_instr(isn_T *isn)
break;
case ISN_TRY:
- vim_free(isn->isn_arg.try.try_ref);
+ vim_free(isn->isn_arg.tryref.try_ref);
break;
case ISN_CEXPR_CORE: