summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2023-02-27 08:07:14 +0000
committerBram Moolenaar <Bram@vim.org>2023-02-27 08:07:14 +0000
commit30a844771554d28f1a88a256e6088dbb252228c1 (patch)
treedfeedb4a2cd9ca080b6b1f4403fc2b910670b288
parentc4e1b86cb0d88fa5ec1141d3c600e026dcc1bc21 (diff)
patch 9.0.1358: compilation error with some compilersv9.0.1358
Problem: Compilation error with some compilers. Solution: Avoid using "class" as member name.
-rw-r--r--src/version.c2
-rw-r--r--src/vim9.h4
-rw-r--r--src/vim9execute.c6
-rw-r--r--src/vim9instr.c4
4 files changed, 9 insertions, 7 deletions
diff --git a/src/version.c b/src/version.c
index a85b81cc84..855aa34377 100644
--- a/src/version.c
+++ b/src/version.c
@@ -696,6 +696,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1358,
+/**/
1357,
/**/
1356,
diff --git a/src/vim9.h b/src/vim9.h
index d9b25dae5b..48751ce432 100644
--- a/src/vim9.h
+++ b/src/vim9.h
@@ -102,7 +102,7 @@ typedef enum {
ISN_PUSHCHANNEL, // push NULL channel
ISN_PUSHJOB, // push NULL job
ISN_PUSHOBJ, // push NULL object
- ISN_PUSHCLASS, // push class, uses isn_arg.class
+ ISN_PUSHCLASS, // push class, uses isn_arg.classarg
ISN_NEWLIST, // push list from stack items, size is isn_arg.number
// -1 for null_list
ISN_NEWDICT, // push dict from stack items, size is isn_arg.number
@@ -520,7 +520,7 @@ struct isn_S {
channel_T *channel;
job_T *job;
partial_T *partial;
- class_T *class;
+ class_T *classarg;
jump_T jump;
jumparg_T jumparg;
forloop_T forloop;
diff --git a/src/vim9execute.c b/src/vim9execute.c
index 90594ef925..bc4a1fcc08 100644
--- a/src/vim9execute.c
+++ b/src/vim9execute.c
@@ -4071,7 +4071,7 @@ exec_instructions(ectx_T *ectx)
break;
case ISN_PUSHCLASS:
tv->v_type = VAR_CLASS;
- tv->vval.v_class = iptr->isn_arg.class;
+ tv->vval.v_class = iptr->isn_arg.classarg;
break;
default:
tv->v_type = VAR_STRING;
@@ -6676,8 +6676,8 @@ list_instructions(char *pfx, isn_T *instr, int instr_count, ufunc_T *ufunc)
break;
case ISN_PUSHCLASS:
smsg("%s%4d PUSHCLASS %s", pfx, current,
- iptr->isn_arg.class == NULL ? "null"
- : (char *)iptr->isn_arg.class->class_name);
+ iptr->isn_arg.classarg == NULL ? "null"
+ : (char *)iptr->isn_arg.classarg->class_name);
break;
case ISN_PUSHEXC:
smsg("%s%4d PUSH v:exception", pfx, current);
diff --git a/src/vim9instr.c b/src/vim9instr.c
index 4f228e4aa7..e2cdc3a78a 100644
--- a/src/vim9instr.c
+++ b/src/vim9instr.c
@@ -678,7 +678,7 @@ generate_PUSHCLASS(cctx_T *cctx, class_T *class)
class == NULL ? &t_any : &class->class_type);
if (isn == NULL)
return FAIL;
- isn->isn_arg.class = class;
+ isn->isn_arg.classarg = class;
if (class != NULL)
++class->class_refcount;
return OK;
@@ -2509,7 +2509,7 @@ delete_instr(isn_T *isn)
break;
case ISN_PUSHCLASS:
- class_unref(isn->isn_arg.class);
+ class_unref(isn->isn_arg.classarg);
break;
case ISN_UCALL: