Avoid use of designated initializers to generate `irep` struct.
Since it's not supported on VC without `/std:c++latest`. That means it
doesn't work for `cxx_api` build on Windows VC.
MODIFY
.github/workflows/build.yml
.github/workflows/build.yml
@@ -125,4 +125,4 @@ jobs:
MRUBY_TARGET: appveyor
# TODO(take-cheeze): Re-enable /O2
CFLAGS: "/c /nologo /W3 /we4013 /Zi /MD /D_CRT_SECURE_NO_WARNINGS"
- CXXFLAGS: "/c /nologo /W3 /Zi /MD /EHs /D_CRT_SECURE_NO_WARNINGS /std:c++latest"
+ CXXFLAGS: "/c /nologo /W3 /Zi /MD /EHs /D_CRT_SECURE_NO_WARNINGS"

MODIFY
src/array.c
src/array.c
@@ -1311,20 +1311,20 @@ static const mrb_sym each_syms[] = {
};
static const mrb_irep each_irep = {
- .nlocals = 3,
- .nregs = 7,
- .flags = MRB_ISEQ_NO_FREE | MRB_IREP_NO_FREE,
- .iseq = each_iseq,
- .pool = NULL,
- .syms = each_syms,
- .reps = NULL,
- .lv = NULL,
- .debug_info = NULL,
- .ilen = sizeof(each_iseq),
- .plen = 0,
- .slen = sizeof(each_syms),
- .rlen = 1,
- .refcnt = 0,
+ 3, /* nlocals */
+ 7, /* nregs */
+ MRB_ISEQ_NO_FREE | MRB_IREP_NO_FREE, /* flags */
+ each_iseq, /* iseq */
+ NULL, /* pool */
+ each_syms, /* syms */
+ NULL, /* reps */
+ NULL, /* lv */
+ NULL, /* debug_info */
+ sizeof(each_iseq), /* ilen */
+ 0, /* plen */
+ sizeof(each_syms), /* slen */
+ 1, /* rlen */
+ 0, /* refcnt */
};
static void

MODIFY
src/proc.c
src/proc.c
@@ -15,20 +15,20 @@ static const mrb_code call_iseq[] = {
};
static const mrb_irep call_irep = {
- .nlocals = 0,
- .nregs = 2,
- .flags = MRB_ISEQ_NO_FREE | MRB_IREP_NO_FREE,
- .iseq = call_iseq,
- .pool = NULL,
- .syms = NULL,
- .reps = NULL,
- .lv = NULL,
- .debug_info = NULL,
- .ilen = 1,
- .plen = 0,
- .slen = 0,
- .rlen = 1,
- .refcnt = 0,
+ 0, /* nlocals */
+ 2, /* nregs */
+ MRB_ISEQ_NO_FREE | MRB_IREP_NO_FREE, /* flags */
+ call_iseq, /* iseq */
+ NULL, /* pool */
+ NULL, /* syms */
+ NULL, /* reps */
+ NULL, /* lv */
+ NULL, /* debug_info */
+ 1, /* ilen */
+ 0, /* plen */
+ 0, /* slen */
+ 1, /* rlen */
+ 0, /* refcnt */
};
struct RProc*

Avoid use of designated initializers to generate `irep` struct.

Since it's not supported on VC without `/std:c++latest`. That means it
doesn't work for `cxx_api` build on Windows VC.