# HG changeset patch # User Bram Moolenaar # Date 1677485704 -3600 # Node ID 76fd08a4ae1df8c4e8c1a4cb7f2566c23faad79d # Parent e9b5d9ebeb1fa291c0b13a4722ad1252c3a2fe2a patch 9.0.1358: compilation error with some compilers Commit: https://github.com/vim/vim/commit/30a844771554d28f1a88a256e6088dbb252228c1 Author: Bram Moolenaar Date: Mon Feb 27 08:07:14 2023 +0000 patch 9.0.1358: compilation error with some compilers Problem: Compilation error with some compilers. Solution: Avoid using "class" as member name. diff --git a/src/version.c b/src/version.c --- 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 --- 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 --- 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 *inst 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 --- a/src/vim9instr.c +++ b/src/vim9instr.c @@ -678,7 +678,7 @@ generate_PUSHCLASS(cctx_T *cctx, class_T 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: