]> granicus.if.org Git - vim/commitdiff
patch 9.0.1358: compilation error with some compilers v9.0.1358
authorBram Moolenaar <Bram@vim.org>
Mon, 27 Feb 2023 08:07:14 +0000 (08:07 +0000)
committerBram Moolenaar <Bram@vim.org>
Mon, 27 Feb 2023 08:07:14 +0000 (08:07 +0000)
Problem:    Compilation error with some compilers.
Solution:   Avoid using "class" as member name.

src/version.c
src/vim9.h
src/vim9execute.c
src/vim9instr.c

index a85b81cc8462cb72cf38ca081c42761395db5dfa..855aa34377e7179f3150f5693540536a3c5cd216 100644 (file)
@@ -695,6 +695,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1358,
 /**/
     1357,
 /**/
index d9b25dae5b478624dc4529a6d69865feac434db1..48751ce43257869df27e44083ec5adf4e6e63c10 100644 (file)
@@ -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;
index 90594ef92507494746ea05877034fa1ab6883920..bc4a1fcc08b8819945d5eacd1d1add60d4d8a8b3 100644 (file)
@@ -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);
index 4f228e4aa712ccf54019a5e5bc278c3d153b9d07..e2cdc3a78a423ea3dd495c03d57bcf0a609c6788 100644 (file)
@@ -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: