# HG changeset patch # User Tassilo Philipp # Date 1643024487 -3600 # Node ID a29baee6834023768f9674977e361006886ba0d7 # Parent 3d2c5d156d78884076e12ec1fbf942f9867f013c - suite_aggrs: simplified nested struct handling given upcoming api simplification (still not in depo, though, so test is ahead) diff -r 3d2c5d156d78 -r a29baee68340 test/suite_aggrs/cases.h --- a/test/suite_aggrs/cases.h Sun Jan 23 23:20:02 2022 +0100 +++ b/test/suite_aggrs/cases.h Mon Jan 24 12:41:27 2022 +0100 @@ -1,75 +1,374 @@ -/* {ici} */ -struct A2{ i m0; c m1; i m2; }; -void f_cpA2(struct A2 *x, const struct A2 *y) { x->m0 = y->m0; x->m1 = y->m1; x->m2 = y->m2; }; -int f_cmpA2(const struct A2 *x, const struct A2 *y) { return x->m0 == y->m0 && x->m1 == y->m1 && x->m2 == y->m2; }; -DCstruct* f_newdcstA2() { DCstruct* st = dcNewStruct(3, sizeof(struct A2), 0, 1); dcStructField(st, 'i', offsetof(struct A2, m0), 1); dcStructField(st, 'c', offsetof(struct A2, m1), 1); dcStructField(st, 'i', offsetof(struct A2, m2), 1); dcCloseStruct(st); return st; }; -/* {ii} */ -struct A1{ i m0; i m1; }; -void f_cpA1(struct A1 *x, const struct A1 *y) { x->m0 = y->m0; x->m1 = y->m1; }; -int f_cmpA1(const struct A1 *x, const struct A1 *y) { return x->m0 == y->m0 && x->m1 == y->m1; }; -DCstruct* f_newdcstA1() { DCstruct* st = dcNewStruct(2, sizeof(struct A1), 0, 1); dcStructField(st, 'i', offsetof(struct A1, m0), 1); dcStructField(st, 'i', offsetof(struct A1, m1), 1); dcCloseStruct(st); return st; }; -/* {ps} */ -struct A5{ p m0; s m1; }; -void f_cpA5(struct A5 *x, const struct A5 *y) { x->m0 = y->m0; x->m1 = y->m1; }; -int f_cmpA5(const struct A5 *x, const struct A5 *y) { return x->m0 == y->m0 && x->m1 == y->m1; }; -DCstruct* f_newdcstA5() { DCstruct* st = dcNewStruct(2, sizeof(struct A5), 0, 1); dcStructField(st, 'p', offsetof(struct A5, m0), 1); dcStructField(st, 's', offsetof(struct A5, m1), 1); dcCloseStruct(st); return st; }; -/* {iiii} */ -struct A9{ i m0; i m1; i m2; i m3; }; -void f_cpA9(struct A9 *x, const struct A9 *y) { x->m0 = y->m0; x->m1 = y->m1; x->m2 = y->m2; x->m3 = y->m3; }; -int f_cmpA9(const struct A9 *x, const struct A9 *y) { return x->m0 == y->m0 && x->m1 == y->m1 && x->m2 == y->m2 && x->m3 == y->m3; }; -DCstruct* f_newdcstA9() { DCstruct* st = dcNewStruct(4, sizeof(struct A9), 0, 1); dcStructField(st, 'i', offsetof(struct A9, m0), 1); dcStructField(st, 'i', offsetof(struct A9, m1), 1); dcStructField(st, 'i', offsetof(struct A9, m2), 1); dcStructField(st, 'i', offsetof(struct A9, m3), 1); dcCloseStruct(st); return st; }; -/* {iii} */ -struct A8{ i m0; i m1; i m2; }; -void f_cpA8(struct A8 *x, const struct A8 *y) { x->m0 = y->m0; x->m1 = y->m1; x->m2 = y->m2; }; -int f_cmpA8(const struct A8 *x, const struct A8 *y) { return x->m0 == y->m0 && x->m1 == y->m1 && x->m2 == y->m2; }; -DCstruct* f_newdcstA8() { DCstruct* st = dcNewStruct(3, sizeof(struct A8), 0, 1); dcStructField(st, 'i', offsetof(struct A8, m0), 1); dcStructField(st, 'i', offsetof(struct A8, m1), 1); dcStructField(st, 'i', offsetof(struct A8, m2), 1); dcCloseStruct(st); return st; }; -/* {li} */ -struct A4{ l m0; i m1; }; -void f_cpA4(struct A4 *x, const struct A4 *y) { x->m0 = y->m0; x->m1 = y->m1; }; -int f_cmpA4(const struct A4 *x, const struct A4 *y) { return x->m0 == y->m0 && x->m1 == y->m1; }; -DCstruct* f_newdcstA4() { DCstruct* st = dcNewStruct(2, sizeof(struct A4), 0, 1); dcStructField(st, 'l', offsetof(struct A4, m0), 1); dcStructField(st, 'i', offsetof(struct A4, m1), 1); dcCloseStruct(st); return st; }; /* {} */ -struct A6{ }; -void f_cpA6(struct A6 *x, const struct A6 *y) { 1; }; -int f_cmpA6(const struct A6 *x, const struct A6 *y) { return 1; }; -DCstruct* f_newdcstA6() { DCstruct* st = dcNewStruct(0, sizeof(struct A6), 0, 1); dcCloseStruct(st); return st; }; +struct A1 { }; +void f_cpA1(struct A1 *x, const struct A1 *y) { 1; }; +int f_cmpA1(const struct A1 *x, const struct A1 *y) { return 1; }; +DCstruct* f_newdcstA1() { + DCstruct* st = dcNewStruct(0, sizeof(struct A1), 0, 1); + dcCloseStruct(st); + return st; +}; /* {i} */ -struct A7{ i m0; }; -void f_cpA7(struct A7 *x, const struct A7 *y) { x->m0 = y->m0; }; -int f_cmpA7(const struct A7 *x, const struct A7 *y) { return x->m0 == y->m0; }; -DCstruct* f_newdcstA7() { DCstruct* st = dcNewStruct(1, sizeof(struct A7), 0, 1); dcStructField(st, 'i', offsetof(struct A7, m0), 1); dcCloseStruct(st); return st; }; +struct A2 { i m0; }; +void f_cpA2(struct A2 *x, const struct A2 *y) { x->m0 = y->m0; }; +int f_cmpA2(const struct A2 *x, const struct A2 *y) { return x->m0 == y->m0; }; +DCstruct* f_newdcstA2() { + DCstruct* st = dcNewStruct(1, sizeof(struct A2), 0, 1); + dcStructField(st, 'i', offsetof(struct A2, m0), 1); + dcCloseStruct(st); + return st; +}; +/* {s} */ +struct A3 { s m0; }; +void f_cpA3(struct A3 *x, const struct A3 *y) { x->m0 = y->m0; }; +int f_cmpA3(const struct A3 *x, const struct A3 *y) { return x->m0 == y->m0; }; +DCstruct* f_newdcstA3() { + DCstruct* st = dcNewStruct(1, sizeof(struct A3), 0, 1); + dcStructField(st, 's', offsetof(struct A3, m0), 1); + dcCloseStruct(st); + return st; +}; +/* {dlclpfifpifsf} */ +struct A4 { d m0; l m1; c m2; l m3; p m4; f m5; i m6; f m7; p m8; i m9; f m10; s m11; f m12; }; +void f_cpA4(struct A4 *x, const struct A4 *y) { x->m0 = y->m0; x->m1 = y->m1; x->m2 = y->m2; x->m3 = y->m3; x->m4 = y->m4; x->m5 = y->m5; x->m6 = y->m6; x->m7 = y->m7; x->m8 = y->m8; x->m9 = y->m9; x->m10 = y->m10; x->m11 = y->m11; x->m12 = y->m12; }; +int f_cmpA4(const struct A4 *x, const struct A4 *y) { return x->m0 == y->m0 && x->m1 == y->m1 && x->m2 == y->m2 && x->m3 == y->m3 && x->m4 == y->m4 && x->m5 == y->m5 && x->m6 == y->m6 && x->m7 == y->m7 && x->m8 == y->m8 && x->m9 == y->m9 && x->m10 == y->m10 && x->m11 == y->m11 && x->m12 == y->m12; }; +DCstruct* f_newdcstA4() { + DCstruct* st = dcNewStruct(13, sizeof(struct A4), 0, 1); + dcStructField(st, 'd', offsetof(struct A4, m0), 1); + dcStructField(st, 'l', offsetof(struct A4, m1), 1); + dcStructField(st, 'c', offsetof(struct A4, m2), 1); + dcStructField(st, 'l', offsetof(struct A4, m3), 1); + dcStructField(st, 'p', offsetof(struct A4, m4), 1); + dcStructField(st, 'f', offsetof(struct A4, m5), 1); + dcStructField(st, 'i', offsetof(struct A4, m6), 1); + dcStructField(st, 'f', offsetof(struct A4, m7), 1); + dcStructField(st, 'p', offsetof(struct A4, m8), 1); + dcStructField(st, 'i', offsetof(struct A4, m9), 1); + dcStructField(st, 'f', offsetof(struct A4, m10), 1); + dcStructField(st, 's', offsetof(struct A4, m11), 1); + dcStructField(st, 'f', offsetof(struct A4, m12), 1); + dcCloseStruct(st); + return st; +}; +/* {dijpiccjpf} */ +struct A5 { d m0; i m1; j m2; p m3; i m4; c m5; c m6; j m7; p m8; f m9; }; +void f_cpA5(struct A5 *x, const struct A5 *y) { x->m0 = y->m0; x->m1 = y->m1; x->m2 = y->m2; x->m3 = y->m3; x->m4 = y->m4; x->m5 = y->m5; x->m6 = y->m6; x->m7 = y->m7; x->m8 = y->m8; x->m9 = y->m9; }; +int f_cmpA5(const struct A5 *x, const struct A5 *y) { return x->m0 == y->m0 && x->m1 == y->m1 && x->m2 == y->m2 && x->m3 == y->m3 && x->m4 == y->m4 && x->m5 == y->m5 && x->m6 == y->m6 && x->m7 == y->m7 && x->m8 == y->m8 && x->m9 == y->m9; }; +DCstruct* f_newdcstA5() { + DCstruct* st = dcNewStruct(10, sizeof(struct A5), 0, 1); + dcStructField(st, 'd', offsetof(struct A5, m0), 1); + dcStructField(st, 'i', offsetof(struct A5, m1), 1); + dcStructField(st, 'j', offsetof(struct A5, m2), 1); + dcStructField(st, 'p', offsetof(struct A5, m3), 1); + dcStructField(st, 'i', offsetof(struct A5, m4), 1); + dcStructField(st, 'c', offsetof(struct A5, m5), 1); + dcStructField(st, 'c', offsetof(struct A5, m6), 1); + dcStructField(st, 'j', offsetof(struct A5, m7), 1); + dcStructField(st, 'p', offsetof(struct A5, m8), 1); + dcStructField(st, 'f', offsetof(struct A5, m9), 1); + dcCloseStruct(st); + return st; +}; +/* {lcpfcflpsiilfsjp} */ +struct A6 { l m0; c m1; p m2; f m3; c m4; f m5; l m6; p m7; s m8; i m9; i m10; l m11; f m12; s m13; j m14; p m15; }; +void f_cpA6(struct A6 *x, const struct A6 *y) { x->m0 = y->m0; x->m1 = y->m1; x->m2 = y->m2; x->m3 = y->m3; x->m4 = y->m4; x->m5 = y->m5; x->m6 = y->m6; x->m7 = y->m7; x->m8 = y->m8; x->m9 = y->m9; x->m10 = y->m10; x->m11 = y->m11; x->m12 = y->m12; x->m13 = y->m13; x->m14 = y->m14; x->m15 = y->m15; }; +int f_cmpA6(const struct A6 *x, const struct A6 *y) { return x->m0 == y->m0 && x->m1 == y->m1 && x->m2 == y->m2 && x->m3 == y->m3 && x->m4 == y->m4 && x->m5 == y->m5 && x->m6 == y->m6 && x->m7 == y->m7 && x->m8 == y->m8 && x->m9 == y->m9 && x->m10 == y->m10 && x->m11 == y->m11 && x->m12 == y->m12 && x->m13 == y->m13 && x->m14 == y->m14 && x->m15 == y->m15; }; +DCstruct* f_newdcstA6() { + DCstruct* st = dcNewStruct(16, sizeof(struct A6), 0, 1); + dcStructField(st, 'l', offsetof(struct A6, m0), 1); + dcStructField(st, 'c', offsetof(struct A6, m1), 1); + dcStructField(st, 'p', offsetof(struct A6, m2), 1); + dcStructField(st, 'f', offsetof(struct A6, m3), 1); + dcStructField(st, 'c', offsetof(struct A6, m4), 1); + dcStructField(st, 'f', offsetof(struct A6, m5), 1); + dcStructField(st, 'l', offsetof(struct A6, m6), 1); + dcStructField(st, 'p', offsetof(struct A6, m7), 1); + dcStructField(st, 's', offsetof(struct A6, m8), 1); + dcStructField(st, 'i', offsetof(struct A6, m9), 1); + dcStructField(st, 'i', offsetof(struct A6, m10), 1); + dcStructField(st, 'l', offsetof(struct A6, m11), 1); + dcStructField(st, 'f', offsetof(struct A6, m12), 1); + dcStructField(st, 's', offsetof(struct A6, m13), 1); + dcStructField(st, 'j', offsetof(struct A6, m14), 1); + dcStructField(st, 'p', offsetof(struct A6, m15), 1); + dcCloseStruct(st); + return st; +}; +/* {jdcfcsdjjlcdjlipfji} */ +struct A7 { j m0; d m1; c m2; f m3; c m4; s m5; d m6; j m7; j m8; l m9; c m10; d m11; j m12; l m13; i m14; p m15; f m16; j m17; i m18; }; +void f_cpA7(struct A7 *x, const struct A7 *y) { x->m0 = y->m0; x->m1 = y->m1; x->m2 = y->m2; x->m3 = y->m3; x->m4 = y->m4; x->m5 = y->m5; x->m6 = y->m6; x->m7 = y->m7; x->m8 = y->m8; x->m9 = y->m9; x->m10 = y->m10; x->m11 = y->m11; x->m12 = y->m12; x->m13 = y->m13; x->m14 = y->m14; x->m15 = y->m15; x->m16 = y->m16; x->m17 = y->m17; x->m18 = y->m18; }; +int f_cmpA7(const struct A7 *x, const struct A7 *y) { return x->m0 == y->m0 && x->m1 == y->m1 && x->m2 == y->m2 && x->m3 == y->m3 && x->m4 == y->m4 && x->m5 == y->m5 && x->m6 == y->m6 && x->m7 == y->m7 && x->m8 == y->m8 && x->m9 == y->m9 && x->m10 == y->m10 && x->m11 == y->m11 && x->m12 == y->m12 && x->m13 == y->m13 && x->m14 == y->m14 && x->m15 == y->m15 && x->m16 == y->m16 && x->m17 == y->m17 && x->m18 == y->m18; }; +DCstruct* f_newdcstA7() { + DCstruct* st = dcNewStruct(19, sizeof(struct A7), 0, 1); + dcStructField(st, 'j', offsetof(struct A7, m0), 1); + dcStructField(st, 'd', offsetof(struct A7, m1), 1); + dcStructField(st, 'c', offsetof(struct A7, m2), 1); + dcStructField(st, 'f', offsetof(struct A7, m3), 1); + dcStructField(st, 'c', offsetof(struct A7, m4), 1); + dcStructField(st, 's', offsetof(struct A7, m5), 1); + dcStructField(st, 'd', offsetof(struct A7, m6), 1); + dcStructField(st, 'j', offsetof(struct A7, m7), 1); + dcStructField(st, 'j', offsetof(struct A7, m8), 1); + dcStructField(st, 'l', offsetof(struct A7, m9), 1); + dcStructField(st, 'c', offsetof(struct A7, m10), 1); + dcStructField(st, 'd', offsetof(struct A7, m11), 1); + dcStructField(st, 'j', offsetof(struct A7, m12), 1); + dcStructField(st, 'l', offsetof(struct A7, m13), 1); + dcStructField(st, 'i', offsetof(struct A7, m14), 1); + dcStructField(st, 'p', offsetof(struct A7, m15), 1); + dcStructField(st, 'f', offsetof(struct A7, m16), 1); + dcStructField(st, 'j', offsetof(struct A7, m17), 1); + dcStructField(st, 'i', offsetof(struct A7, m18), 1); + dcCloseStruct(st); + return st; +}; +/* {jjlff{jdcfcsdjjlcdjlipfji}csijld} */ +struct A8 { j m0; j m1; l m2; f m3; f m4; struct A7 m5; c m6; s m7; i m8; j m9; l m10; d m11; }; +void f_cpA8(struct A8 *x, const struct A8 *y) { x->m0 = y->m0; x->m1 = y->m1; x->m2 = y->m2; x->m3 = y->m3; x->m4 = y->m4; f_cpA7(&x->m5, &y->m5); x->m6 = y->m6; x->m7 = y->m7; x->m8 = y->m8; x->m9 = y->m9; x->m10 = y->m10; x->m11 = y->m11; }; +int f_cmpA8(const struct A8 *x, const struct A8 *y) { return x->m0 == y->m0 && x->m1 == y->m1 && x->m2 == y->m2 && x->m3 == y->m3 && x->m4 == y->m4 && f_cmpA7(&x->m5, &y->m5) && x->m6 == y->m6 && x->m7 == y->m7 && x->m8 == y->m8 && x->m9 == y->m9 && x->m10 == y->m10 && x->m11 == y->m11; }; +DCstruct* f_newdcstA8() { + DCstruct* st = dcNewStruct(12, sizeof(struct A8), 0, 1); + dcStructField(st, 'j', offsetof(struct A8, m0), 1); + dcStructField(st, 'j', offsetof(struct A8, m1), 1); + dcStructField(st, 'l', offsetof(struct A8, m2), 1); + dcStructField(st, 'f', offsetof(struct A8, m3), 1); + dcStructField(st, 'f', offsetof(struct A8, m4), 1); + dcStructField(st, DC_SIGCHAR_STRUCT, offsetof(struct A8, m5), 1, f_newdcstA7()); + dcStructField(st, 'c', offsetof(struct A8, m6), 1); + dcStructField(st, 's', offsetof(struct A8, m7), 1); + dcStructField(st, 'i', offsetof(struct A8, m8), 1); + dcStructField(st, 'j', offsetof(struct A8, m9), 1); + dcStructField(st, 'l', offsetof(struct A8, m10), 1); + dcStructField(st, 'd', offsetof(struct A8, m11), 1); + dcCloseStruct(st); + return st; +}; +/* {c} */ +struct A9 { c m0; }; +void f_cpA9(struct A9 *x, const struct A9 *y) { x->m0 = y->m0; }; +int f_cmpA9(const struct A9 *x, const struct A9 *y) { return x->m0 == y->m0; }; +DCstruct* f_newdcstA9() { + DCstruct* st = dcNewStruct(1, sizeof(struct A9), 0, 1); + dcStructField(st, 'c', offsetof(struct A9, m0), 1); + dcCloseStruct(st); + return st; +}; +/* {cjilpcp} */ +struct A10 { c m0; j m1; i m2; l m3; p m4; c m5; p m6; }; +void f_cpA10(struct A10 *x, const struct A10 *y) { x->m0 = y->m0; x->m1 = y->m1; x->m2 = y->m2; x->m3 = y->m3; x->m4 = y->m4; x->m5 = y->m5; x->m6 = y->m6; }; +int f_cmpA10(const struct A10 *x, const struct A10 *y) { return x->m0 == y->m0 && x->m1 == y->m1 && x->m2 == y->m2 && x->m3 == y->m3 && x->m4 == y->m4 && x->m5 == y->m5 && x->m6 == y->m6; }; +DCstruct* f_newdcstA10() { + DCstruct* st = dcNewStruct(7, sizeof(struct A10), 0, 1); + dcStructField(st, 'c', offsetof(struct A10, m0), 1); + dcStructField(st, 'j', offsetof(struct A10, m1), 1); + dcStructField(st, 'i', offsetof(struct A10, m2), 1); + dcStructField(st, 'l', offsetof(struct A10, m3), 1); + dcStructField(st, 'p', offsetof(struct A10, m4), 1); + dcStructField(st, 'c', offsetof(struct A10, m5), 1); + dcStructField(st, 'p', offsetof(struct A10, m6), 1); + dcCloseStruct(st); + return st; +}; +/* {ddd} */ +struct A11 { d m0; d m1; d m2; }; +void f_cpA11(struct A11 *x, const struct A11 *y) { x->m0 = y->m0; x->m1 = y->m1; x->m2 = y->m2; }; +int f_cmpA11(const struct A11 *x, const struct A11 *y) { return x->m0 == y->m0 && x->m1 == y->m1 && x->m2 == y->m2; }; +DCstruct* f_newdcstA11() { + DCstruct* st = dcNewStruct(3, sizeof(struct A11), 0, 1); + dcStructField(st, 'd', offsetof(struct A11, m0), 1); + dcStructField(st, 'd', offsetof(struct A11, m1), 1); + dcStructField(st, 'd', offsetof(struct A11, m2), 1); + dcCloseStruct(st); + return st; +}; +/* {dd} */ +struct A12 { d m0; d m1; }; +void f_cpA12(struct A12 *x, const struct A12 *y) { x->m0 = y->m0; x->m1 = y->m1; }; +int f_cmpA12(const struct A12 *x, const struct A12 *y) { return x->m0 == y->m0 && x->m1 == y->m1; }; +DCstruct* f_newdcstA12() { + DCstruct* st = dcNewStruct(2, sizeof(struct A12), 0, 1); + dcStructField(st, 'd', offsetof(struct A12, m0), 1); + dcStructField(st, 'd', offsetof(struct A12, m1), 1); + dcCloseStruct(st); + return st; +}; +/* {ii} */ +struct A13 { i m0; i m1; }; +void f_cpA13(struct A13 *x, const struct A13 *y) { x->m0 = y->m0; x->m1 = y->m1; }; +int f_cmpA13(const struct A13 *x, const struct A13 *y) { return x->m0 == y->m0 && x->m1 == y->m1; }; +DCstruct* f_newdcstA13() { + DCstruct* st = dcNewStruct(2, sizeof(struct A13), 0, 1); + dcStructField(st, 'i', offsetof(struct A13, m0), 1); + dcStructField(st, 'i', offsetof(struct A13, m1), 1); + dcCloseStruct(st); + return st; +}; +/* {ici} */ +struct A14 { i m0; c m1; i m2; }; +void f_cpA14(struct A14 *x, const struct A14 *y) { x->m0 = y->m0; x->m1 = y->m1; x->m2 = y->m2; }; +int f_cmpA14(const struct A14 *x, const struct A14 *y) { return x->m0 == y->m0 && x->m1 == y->m1 && x->m2 == y->m2; }; +DCstruct* f_newdcstA14() { + DCstruct* st = dcNewStruct(3, sizeof(struct A14), 0, 1); + dcStructField(st, 'i', offsetof(struct A14, m0), 1); + dcStructField(st, 'c', offsetof(struct A14, m1), 1); + dcStructField(st, 'i', offsetof(struct A14, m2), 1); + dcCloseStruct(st); + return st; +}; /* {il} */ -struct A3{ i m0; l m1; }; -void f_cpA3(struct A3 *x, const struct A3 *y) { x->m0 = y->m0; x->m1 = y->m1; }; -int f_cmpA3(const struct A3 *x, const struct A3 *y) { return x->m0 == y->m0 && x->m1 == y->m1; }; -DCstruct* f_newdcstA3() { DCstruct* st = dcNewStruct(2, sizeof(struct A3), 0, 1); dcStructField(st, 'i', offsetof(struct A3, m0), 1); dcStructField(st, 'l', offsetof(struct A3, m1), 1); dcCloseStruct(st); return st; }; -/* 0:viiiii{ii} */ v f0(i a1,i a2,i a3,i a4,i a5,struct A1 a6){V_i[1]=a1;V_i[2]=a2;V_i[3]=a3;V_i[4]=a4;V_i[5]=a5;f_cpA1(V_a[6],&a6);ret_v(6)} -/* 1:viiiii{ici} */ v f1(i a1,i a2,i a3,i a4,i a5,struct A2 a6){V_i[1]=a1;V_i[2]=a2;V_i[3]=a3;V_i[4]=a4;V_i[5]=a5;f_cpA2(V_a[6],&a6);ret_v(6)} -/* 2:viiiii{il} */ v f2(i a1,i a2,i a3,i a4,i a5,struct A3 a6){V_i[1]=a1;V_i[2]=a2;V_i[3]=a3;V_i[4]=a4;V_i[5]=a5;f_cpA3(V_a[6],&a6);ret_v(6)} -/* 3:vfiiiii{il} */ v f3(f a1,i a2,i a3,i a4,i a5,i a6,struct A3 a7){V_f[1]=a1;V_i[2]=a2;V_i[3]=a3;V_i[4]=a4;V_i[5]=a5;V_i[6]=a6;f_cpA3(V_a[7],&a7);ret_v(7)} -/* 4:viiiiif{il} */ v f4(i a1,i a2,i a3,i a4,i a5,f a6,struct A3 a7){V_i[1]=a1;V_i[2]=a2;V_i[3]=a3;V_i[4]=a4;V_i[5]=a5;V_f[6]=a6;f_cpA3(V_a[7],&a7);ret_v(7)} -/* 5:viiiiif{li} */ v f5(i a1,i a2,i a3,i a4,i a5,f a6,struct A4 a7){V_i[1]=a1;V_i[2]=a2;V_i[3]=a3;V_i[4]=a4;V_i[5]=a5;V_f[6]=a6;f_cpA4(V_a[7],&a7);ret_v(7)} -/* 6:viiiii{il}f */ v f6(i a1,i a2,i a3,i a4,i a5,struct A3 a6,f a7){V_i[1]=a1;V_i[2]=a2;V_i[3]=a3;V_i[4]=a4;V_i[5]=a5;f_cpA3(V_a[6],&a6);V_f[7]=a7;ret_v(7)} -/* 7:viiiii{li}f */ v f7(i a1,i a2,i a3,i a4,i a5,struct A4 a6,f a7){V_i[1]=a1;V_i[2]=a2;V_i[3]=a3;V_i[4]=a4;V_i[5]=a5;f_cpA4(V_a[6],&a6);V_f[7]=a7;ret_v(7)} -/* 8:viiffiii{ps} */ v f8(i a1,i a2,f a3,f a4,i a5,i a6,i a7,struct A5 a8){V_i[1]=a1;V_i[2]=a2;V_f[3]=a3;V_f[4]=a4;V_i[5]=a5;V_i[6]=a6;V_i[7]=a7;f_cpA5(V_a[8],&a8);ret_v(8)} -/* 9:viiiiiff{li} */ v f9(i a1,i a2,i a3,i a4,i a5,f a6,f a7,struct A4 a8){V_i[1]=a1;V_i[2]=a2;V_i[3]=a3;V_i[4]=a4;V_i[5]=a5;V_f[6]=a6;V_f[7]=a7;f_cpA4(V_a[8],&a8);ret_v(8)} -/* 10:viiiiiff{il} */ v f10(i a1,i a2,i a3,i a4,i a5,f a6,f a7,struct A3 a8){V_i[1]=a1;V_i[2]=a2;V_i[3]=a3;V_i[4]=a4;V_i[5]=a5;V_f[6]=a6;V_f[7]=a7;f_cpA3(V_a[8],&a8);ret_v(8)} -/* 11:viiiii{il}ff */ v f11(i a1,i a2,i a3,i a4,i a5,struct A3 a6,f a7,f a8){V_i[1]=a1;V_i[2]=a2;V_i[3]=a3;V_i[4]=a4;V_i[5]=a5;f_cpA3(V_a[6],&a6);V_f[7]=a7;V_f[8]=a8;ret_v(8)} -/* 12:viiiii{li}ff */ v f12(i a1,i a2,i a3,i a4,i a5,struct A4 a6,f a7,f a8){V_i[1]=a1;V_i[2]=a2;V_i[3]=a3;V_i[4]=a4;V_i[5]=a5;f_cpA4(V_a[6],&a6);V_f[7]=a7;V_f[8]=a8;ret_v(8)} -/* 13:i */ i f13(){ret_i(0)} -/* 14:i{} */ i f14(struct A6 a1){f_cpA6(V_a[1],&a1);ret_i(1)} -/* 15:i{i} */ i f15(struct A7 a1){f_cpA7(V_a[1],&a1);ret_i(1)} -/* 16:i{ii} */ i f16(struct A1 a1){f_cpA1(V_a[1],&a1);ret_i(1)} -/* 17:i{iii} */ i f17(struct A8 a1){f_cpA8(V_a[1],&a1);ret_i(1)} -/* 18:i{iiii} */ i f18(struct A9 a1){f_cpA9(V_a[1],&a1);ret_i(1)} -/* 19:f */ f f19(){ret_f(0)} -/* 20:f{} */ f f20(struct A6 a1){f_cpA6(V_a[1],&a1);ret_f(1)} -/* 21:f{i} */ f f21(struct A7 a1){f_cpA7(V_a[1],&a1);ret_f(1)} -/* 22:f{ii} */ f f22(struct A1 a1){f_cpA1(V_a[1],&a1);ret_f(1)} -/* 23:d{ii} */ d f23(struct A1 a1){f_cpA1(V_a[1],&a1);ret_d(1)} -/* 24:f{iii} */ f f24(struct A8 a1){f_cpA8(V_a[1],&a1);ret_f(1)} -/* 25:f{iiii} */ f f25(struct A9 a1){f_cpA9(V_a[1],&a1);ret_f(1)} -/* 26:ss{ii} */ s f26(s a1,struct A1 a2){V_s[1]=a1;f_cpA1(V_a[2],&a2);ret_s(2)} +struct A15 { i m0; l m1; }; +void f_cpA15(struct A15 *x, const struct A15 *y) { x->m0 = y->m0; x->m1 = y->m1; }; +int f_cmpA15(const struct A15 *x, const struct A15 *y) { return x->m0 == y->m0 && x->m1 == y->m1; }; +DCstruct* f_newdcstA15() { + DCstruct* st = dcNewStruct(2, sizeof(struct A15), 0, 1); + dcStructField(st, 'i', offsetof(struct A15, m0), 1); + dcStructField(st, 'l', offsetof(struct A15, m1), 1); + dcCloseStruct(st); + return st; +}; +/* {li} */ +struct A16 { l m0; i m1; }; +void f_cpA16(struct A16 *x, const struct A16 *y) { x->m0 = y->m0; x->m1 = y->m1; }; +int f_cmpA16(const struct A16 *x, const struct A16 *y) { return x->m0 == y->m0 && x->m1 == y->m1; }; +DCstruct* f_newdcstA16() { + DCstruct* st = dcNewStruct(2, sizeof(struct A16), 0, 1); + dcStructField(st, 'l', offsetof(struct A16, m0), 1); + dcStructField(st, 'i', offsetof(struct A16, m1), 1); + dcCloseStruct(st); + return st; +}; +/* {ps} */ +struct A17 { p m0; s m1; }; +void f_cpA17(struct A17 *x, const struct A17 *y) { x->m0 = y->m0; x->m1 = y->m1; }; +int f_cmpA17(const struct A17 *x, const struct A17 *y) { return x->m0 == y->m0 && x->m1 == y->m1; }; +DCstruct* f_newdcstA17() { + DCstruct* st = dcNewStruct(2, sizeof(struct A17), 0, 1); + dcStructField(st, 'p', offsetof(struct A17, m0), 1); + dcStructField(st, 's', offsetof(struct A17, m1), 1); + dcCloseStruct(st); + return st; +}; +/* {iii} */ +struct A18 { i m0; i m1; i m2; }; +void f_cpA18(struct A18 *x, const struct A18 *y) { x->m0 = y->m0; x->m1 = y->m1; x->m2 = y->m2; }; +int f_cmpA18(const struct A18 *x, const struct A18 *y) { return x->m0 == y->m0 && x->m1 == y->m1 && x->m2 == y->m2; }; +DCstruct* f_newdcstA18() { + DCstruct* st = dcNewStruct(3, sizeof(struct A18), 0, 1); + dcStructField(st, 'i', offsetof(struct A18, m0), 1); + dcStructField(st, 'i', offsetof(struct A18, m1), 1); + dcStructField(st, 'i', offsetof(struct A18, m2), 1); + dcCloseStruct(st); + return st; +}; +/* {iiii} */ +struct A19 { i m0; i m1; i m2; i m3; }; +void f_cpA19(struct A19 *x, const struct A19 *y) { x->m0 = y->m0; x->m1 = y->m1; x->m2 = y->m2; x->m3 = y->m3; }; +int f_cmpA19(const struct A19 *x, const struct A19 *y) { return x->m0 == y->m0 && x->m1 == y->m1 && x->m2 == y->m2 && x->m3 == y->m3; }; +DCstruct* f_newdcstA19() { + DCstruct* st = dcNewStruct(4, sizeof(struct A19), 0, 1); + dcStructField(st, 'i', offsetof(struct A19, m0), 1); + dcStructField(st, 'i', offsetof(struct A19, m1), 1); + dcStructField(st, 'i', offsetof(struct A19, m2), 1); + dcStructField(st, 'i', offsetof(struct A19, m3), 1); + dcCloseStruct(st); + return st; +}; +/* 0:pscd{}pclc{i}scli */ p f0(s a1,c a2,d a3,struct A1 a4,p a5,c a6,l a7,c a8,struct A2 a9,s a10,c a11,l a12,i a13){V_s[1]=a1;V_c[2]=a2;V_d[3]=a3;f_cpA1(V_a[4],&a4);V_p[5]=a5;V_c[6]=a6;V_l[7]=a7;V_c[8]=a8;f_cpA2(V_a[9],&a9);V_s[10]=a10;V_c[11]=a11;V_l[12]=a12;V_i[13]=a13;ret_p(13)} +/* 1:sslfjiji{s}ipc{}{}{}cc */ s f1(s a1,l a2,f a3,j a4,i a5,j a6,i a7,struct A3 a8,i a9,p a10,c a11,struct A1 a12,struct A1 a13,struct A1 a14,c a15,c a16){V_s[1]=a1;V_l[2]=a2;V_f[3]=a3;V_j[4]=a4;V_i[5]=a5;V_j[6]=a6;V_i[7]=a7;f_cpA3(V_a[8],&a8);V_i[9]=a9;V_p[10]=a10;V_c[11]=a11;f_cpA1(V_a[12],&a12);f_cpA1(V_a[13],&a13);f_cpA1(V_a[14],&a14);V_c[15]=a15;V_c[16]=a16;ret_s(16)} +/* 2:i{dlclpfifpifsf}lpldl{dijpiccjpf}{lcpfcflpsiilfsjp}pp{}ssj */ i f2(struct A4 a1,l a2,p a3,l a4,d a5,l a6,struct A5 a7,struct A6 a8,p a9,p a10,struct A1 a11,s a12,s a13,j a14){f_cpA4(V_a[1],&a1);V_l[2]=a2;V_p[3]=a3;V_l[4]=a4;V_d[5]=a5;V_l[6]=a6;f_cpA5(V_a[7],&a7);f_cpA6(V_a[8],&a8);V_p[9]=a9;V_p[10]=a10;f_cpA1(V_a[11],&a11);V_s[12]=a12;V_s[13]=a13;V_j[14]=a14;ret_i(14)} +/* 3:fci{jjlff{jdcfcsdjjlcdjlipfji}csijld}sj */ f f3(c a1,i a2,struct A8 a3,s a4,j a5){V_c[1]=a1;V_i[2]=a2;f_cpA8(V_a[3],&a3);V_s[4]=a4;V_j[5]=a5;ret_f(5)} +/* 4:{}lffic{}pip{}{c}s{} */ struct A1 f4(l a1,f a2,f a3,i a4,c a5,struct A1 a6,p a7,i a8,p a9,struct A1 a10,struct A9 a11,s a12,struct A1 a13){V_l[1]=a1;V_f[2]=a2;V_f[3]=a3;V_i[4]=a4;V_c[5]=a5;f_cpA1(V_a[6],&a6);V_p[7]=a7;V_i[8]=a8;V_p[9]=a9;f_cpA1(V_a[10],&a10);f_cpA9(V_a[11],&a11);V_s[12]=a12;f_cpA1(V_a[13],&a13);ret_a(13,struct A1)} +/* 5:clsc{cjilpcp}sfspdc{}j{c}fs */ c f5(l a1,s a2,c a3,struct A10 a4,s a5,f a6,s a7,p a8,d a9,c a10,struct A1 a11,j a12,struct A9 a13,f a14,s a15){V_l[1]=a1;V_s[2]=a2;V_c[3]=a3;f_cpA10(V_a[4],&a4);V_s[5]=a5;V_f[6]=a6;V_s[7]=a7;V_p[8]=a8;V_d[9]=a9;V_c[10]=a10;f_cpA1(V_a[11],&a11);V_j[12]=a12;f_cpA9(V_a[13],&a13);V_f[14]=a14;V_s[15]=a15;ret_c(15)} +/* 6:ljdcjsl{}i{c}{}s */ l f6(j a1,d a2,c a3,j a4,s a5,l a6,struct A1 a7,i a8,struct A9 a9,struct A1 a10,s a11){V_j[1]=a1;V_d[2]=a2;V_c[3]=a3;V_j[4]=a4;V_s[5]=a5;V_l[6]=a6;f_cpA1(V_a[7],&a7);V_i[8]=a8;f_cpA9(V_a[9],&a9);f_cpA1(V_a[10],&a10);V_s[11]=a11;ret_l(11)} +/* 7:v{ddd} */ v f7(struct A11 a1){f_cpA11(V_a[1],&a1);ret_v(1)} +/* 8:vd{ddd} */ v f8(d a1,struct A11 a2){V_d[1]=a1;f_cpA11(V_a[2],&a2);ret_v(2)} +/* 9:vdd{ddd} */ v f9(d a1,d a2,struct A11 a3){V_d[1]=a1;V_d[2]=a2;f_cpA11(V_a[3],&a3);ret_v(3)} +/* 10:vddd{ddd} */ v f10(d a1,d a2,d a3,struct A11 a4){V_d[1]=a1;V_d[2]=a2;V_d[3]=a3;f_cpA11(V_a[4],&a4);ret_v(4)} +/* 11:vdddd{ddd} */ v f11(d a1,d a2,d a3,d a4,struct A11 a5){V_d[1]=a1;V_d[2]=a2;V_d[3]=a3;V_d[4]=a4;f_cpA11(V_a[5],&a5);ret_v(5)} +/* 12:vddddd{ddd} */ v f12(d a1,d a2,d a3,d a4,d a5,struct A11 a6){V_d[1]=a1;V_d[2]=a2;V_d[3]=a3;V_d[4]=a4;V_d[5]=a5;f_cpA11(V_a[6],&a6);ret_v(6)} +/* 13:vdddddd{ddd} */ v f13(d a1,d a2,d a3,d a4,d a5,d a6,struct A11 a7){V_d[1]=a1;V_d[2]=a2;V_d[3]=a3;V_d[4]=a4;V_d[5]=a5;V_d[6]=a6;f_cpA11(V_a[7],&a7);ret_v(7)} +/* 14:vddddddd{ddd} */ v f14(d a1,d a2,d a3,d a4,d a5,d a6,d a7,struct A11 a8){V_d[1]=a1;V_d[2]=a2;V_d[3]=a3;V_d[4]=a4;V_d[5]=a5;V_d[6]=a6;V_d[7]=a7;f_cpA11(V_a[8],&a8);ret_v(8)} +/* 15:vdddddddd{ddd} */ v f15(d a1,d a2,d a3,d a4,d a5,d a6,d a7,d a8,struct A11 a9){V_d[1]=a1;V_d[2]=a2;V_d[3]=a3;V_d[4]=a4;V_d[5]=a5;V_d[6]=a6;V_d[7]=a7;V_d[8]=a8;f_cpA11(V_a[9],&a9);ret_v(9)} +/* 16:v{dd} */ v f16(struct A12 a1){f_cpA12(V_a[1],&a1);ret_v(1)} +/* 17:vd{dd} */ v f17(d a1,struct A12 a2){V_d[1]=a1;f_cpA12(V_a[2],&a2);ret_v(2)} +/* 18:vdd{dd} */ v f18(d a1,d a2,struct A12 a3){V_d[1]=a1;V_d[2]=a2;f_cpA12(V_a[3],&a3);ret_v(3)} +/* 19:vddd{dd} */ v f19(d a1,d a2,d a3,struct A12 a4){V_d[1]=a1;V_d[2]=a2;V_d[3]=a3;f_cpA12(V_a[4],&a4);ret_v(4)} +/* 20:vdddd{dd} */ v f20(d a1,d a2,d a3,d a4,struct A12 a5){V_d[1]=a1;V_d[2]=a2;V_d[3]=a3;V_d[4]=a4;f_cpA12(V_a[5],&a5);ret_v(5)} +/* 21:vddddd{dd} */ v f21(d a1,d a2,d a3,d a4,d a5,struct A12 a6){V_d[1]=a1;V_d[2]=a2;V_d[3]=a3;V_d[4]=a4;V_d[5]=a5;f_cpA12(V_a[6],&a6);ret_v(6)} +/* 22:vdddddd{dd} */ v f22(d a1,d a2,d a3,d a4,d a5,d a6,struct A12 a7){V_d[1]=a1;V_d[2]=a2;V_d[3]=a3;V_d[4]=a4;V_d[5]=a5;V_d[6]=a6;f_cpA12(V_a[7],&a7);ret_v(7)} +/* 23:vddddddd{dd} */ v f23(d a1,d a2,d a3,d a4,d a5,d a6,d a7,struct A12 a8){V_d[1]=a1;V_d[2]=a2;V_d[3]=a3;V_d[4]=a4;V_d[5]=a5;V_d[6]=a6;V_d[7]=a7;f_cpA12(V_a[8],&a8);ret_v(8)} +/* 24:vdddddddd{dd} */ v f24(d a1,d a2,d a3,d a4,d a5,d a6,d a7,d a8,struct A12 a9){V_d[1]=a1;V_d[2]=a2;V_d[3]=a3;V_d[4]=a4;V_d[5]=a5;V_d[6]=a6;V_d[7]=a7;V_d[8]=a8;f_cpA12(V_a[9],&a9);ret_v(9)} +/* 25:viiiii{ii} */ v f25(i a1,i a2,i a3,i a4,i a5,struct A13 a6){V_i[1]=a1;V_i[2]=a2;V_i[3]=a3;V_i[4]=a4;V_i[5]=a5;f_cpA13(V_a[6],&a6);ret_v(6)} +/* 26:viiiii{ici} */ v f26(i a1,i a2,i a3,i a4,i a5,struct A14 a6){V_i[1]=a1;V_i[2]=a2;V_i[3]=a3;V_i[4]=a4;V_i[5]=a5;f_cpA14(V_a[6],&a6);ret_v(6)} +/* 27:viiiii{il} */ v f27(i a1,i a2,i a3,i a4,i a5,struct A15 a6){V_i[1]=a1;V_i[2]=a2;V_i[3]=a3;V_i[4]=a4;V_i[5]=a5;f_cpA15(V_a[6],&a6);ret_v(6)} +/* 28:vfiiiii{il} */ v f28(f a1,i a2,i a3,i a4,i a5,i a6,struct A15 a7){V_f[1]=a1;V_i[2]=a2;V_i[3]=a3;V_i[4]=a4;V_i[5]=a5;V_i[6]=a6;f_cpA15(V_a[7],&a7);ret_v(7)} +/* 29:viiiiif{il} */ v f29(i a1,i a2,i a3,i a4,i a5,f a6,struct A15 a7){V_i[1]=a1;V_i[2]=a2;V_i[3]=a3;V_i[4]=a4;V_i[5]=a5;V_f[6]=a6;f_cpA15(V_a[7],&a7);ret_v(7)} +/* 30:viiiiif{li} */ v f30(i a1,i a2,i a3,i a4,i a5,f a6,struct A16 a7){V_i[1]=a1;V_i[2]=a2;V_i[3]=a3;V_i[4]=a4;V_i[5]=a5;V_f[6]=a6;f_cpA16(V_a[7],&a7);ret_v(7)} +/* 31:viiiii{il}f */ v f31(i a1,i a2,i a3,i a4,i a5,struct A15 a6,f a7){V_i[1]=a1;V_i[2]=a2;V_i[3]=a3;V_i[4]=a4;V_i[5]=a5;f_cpA15(V_a[6],&a6);V_f[7]=a7;ret_v(7)} +/* 32:viiiii{li}f */ v f32(i a1,i a2,i a3,i a4,i a5,struct A16 a6,f a7){V_i[1]=a1;V_i[2]=a2;V_i[3]=a3;V_i[4]=a4;V_i[5]=a5;f_cpA16(V_a[6],&a6);V_f[7]=a7;ret_v(7)} +/* 33:viiffiii{ps} */ v f33(i a1,i a2,f a3,f a4,i a5,i a6,i a7,struct A17 a8){V_i[1]=a1;V_i[2]=a2;V_f[3]=a3;V_f[4]=a4;V_i[5]=a5;V_i[6]=a6;V_i[7]=a7;f_cpA17(V_a[8],&a8);ret_v(8)} +/* 34:viiiiiff{li} */ v f34(i a1,i a2,i a3,i a4,i a5,f a6,f a7,struct A16 a8){V_i[1]=a1;V_i[2]=a2;V_i[3]=a3;V_i[4]=a4;V_i[5]=a5;V_f[6]=a6;V_f[7]=a7;f_cpA16(V_a[8],&a8);ret_v(8)} +/* 35:viiiiiff{il} */ v f35(i a1,i a2,i a3,i a4,i a5,f a6,f a7,struct A15 a8){V_i[1]=a1;V_i[2]=a2;V_i[3]=a3;V_i[4]=a4;V_i[5]=a5;V_f[6]=a6;V_f[7]=a7;f_cpA15(V_a[8],&a8);ret_v(8)} +/* 36:viiiii{il}ff */ v f36(i a1,i a2,i a3,i a4,i a5,struct A15 a6,f a7,f a8){V_i[1]=a1;V_i[2]=a2;V_i[3]=a3;V_i[4]=a4;V_i[5]=a5;f_cpA15(V_a[6],&a6);V_f[7]=a7;V_f[8]=a8;ret_v(8)} +/* 37:viiiii{li}ff */ v f37(i a1,i a2,i a3,i a4,i a5,struct A16 a6,f a7,f a8){V_i[1]=a1;V_i[2]=a2;V_i[3]=a3;V_i[4]=a4;V_i[5]=a5;f_cpA16(V_a[6],&a6);V_f[7]=a7;V_f[8]=a8;ret_v(8)} +/* 38:i */ i f38(){ret_i(0)} +/* 39:i{} */ i f39(struct A1 a1){f_cpA1(V_a[1],&a1);ret_i(1)} +/* 40:i{i} */ i f40(struct A2 a1){f_cpA2(V_a[1],&a1);ret_i(1)} +/* 41:i{ii} */ i f41(struct A13 a1){f_cpA13(V_a[1],&a1);ret_i(1)} +/* 42:i{iii} */ i f42(struct A18 a1){f_cpA18(V_a[1],&a1);ret_i(1)} +/* 43:i{iiii} */ i f43(struct A19 a1){f_cpA19(V_a[1],&a1);ret_i(1)} +/* 44:f */ f f44(){ret_f(0)} +/* 45:f{} */ f f45(struct A1 a1){f_cpA1(V_a[1],&a1);ret_f(1)} +/* 46:f{i} */ f f46(struct A2 a1){f_cpA2(V_a[1],&a1);ret_f(1)} +/* 47:f{ii} */ f f47(struct A13 a1){f_cpA13(V_a[1],&a1);ret_f(1)} +/* 48:d{ii} */ d f48(struct A13 a1){f_cpA13(V_a[1],&a1);ret_d(1)} +/* 49:f{iii} */ f f49(struct A18 a1){f_cpA18(V_a[1],&a1);ret_f(1)} +/* 50:f{iiii} */ f f50(struct A19 a1){f_cpA19(V_a[1],&a1);ret_f(1)} +/* 51:ss{ii} */ s f51(s a1,struct A13 a2){V_s[1]=a1;f_cpA13(V_a[2],&a2);ret_s(2)} +/* 52:v{ddd}ijf */ v f52(struct A11 a1,i a2,j a3,f a4){f_cpA11(V_a[1],&a1);V_i[2]=a2;V_j[3]=a3;V_f[4]=a4;ret_v(4)} +/* 53:vd{ddd}ijf */ v f53(d a1,struct A11 a2,i a3,j a4,f a5){V_d[1]=a1;f_cpA11(V_a[2],&a2);V_i[3]=a3;V_j[4]=a4;V_f[5]=a5;ret_v(5)} +/* 54:vdd{ddd}ijf */ v f54(d a1,d a2,struct A11 a3,i a4,j a5,f a6){V_d[1]=a1;V_d[2]=a2;f_cpA11(V_a[3],&a3);V_i[4]=a4;V_j[5]=a5;V_f[6]=a6;ret_v(6)} +/* 55:vddd{ddd}ijf */ v f55(d a1,d a2,d a3,struct A11 a4,i a5,j a6,f a7){V_d[1]=a1;V_d[2]=a2;V_d[3]=a3;f_cpA11(V_a[4],&a4);V_i[5]=a5;V_j[6]=a6;V_f[7]=a7;ret_v(7)} +/* 56:vdddd{ddd}ijf */ v f56(d a1,d a2,d a3,d a4,struct A11 a5,i a6,j a7,f a8){V_d[1]=a1;V_d[2]=a2;V_d[3]=a3;V_d[4]=a4;f_cpA11(V_a[5],&a5);V_i[6]=a6;V_j[7]=a7;V_f[8]=a8;ret_v(8)} +/* 57:vddddd{ddd}ijf */ v f57(d a1,d a2,d a3,d a4,d a5,struct A11 a6,i a7,j a8,f a9){V_d[1]=a1;V_d[2]=a2;V_d[3]=a3;V_d[4]=a4;V_d[5]=a5;f_cpA11(V_a[6],&a6);V_i[7]=a7;V_j[8]=a8;V_f[9]=a9;ret_v(9)} +/* 58:vdddddd{ddd}ijf */ v f58(d a1,d a2,d a3,d a4,d a5,d a6,struct A11 a7,i a8,j a9,f a10){V_d[1]=a1;V_d[2]=a2;V_d[3]=a3;V_d[4]=a4;V_d[5]=a5;V_d[6]=a6;f_cpA11(V_a[7],&a7);V_i[8]=a8;V_j[9]=a9;V_f[10]=a10;ret_v(10)} +/* 59:vddddddd{ddd}ijf */ v f59(d a1,d a2,d a3,d a4,d a5,d a6,d a7,struct A11 a8,i a9,j a10,f a11){V_d[1]=a1;V_d[2]=a2;V_d[3]=a3;V_d[4]=a4;V_d[5]=a5;V_d[6]=a6;V_d[7]=a7;f_cpA11(V_a[8],&a8);V_i[9]=a9;V_j[10]=a10;V_f[11]=a11;ret_v(11)} +/* 60:vdddddddd{ddd}ijf */ v f60(d a1,d a2,d a3,d a4,d a5,d a6,d a7,d a8,struct A11 a9,i a10,j a11,f a12){V_d[1]=a1;V_d[2]=a2;V_d[3]=a3;V_d[4]=a4;V_d[5]=a5;V_d[6]=a6;V_d[7]=a7;V_d[8]=a8;f_cpA11(V_a[9],&a9);V_i[10]=a10;V_j[11]=a11;V_f[12]=a12;ret_v(12)} +/* 61:v{dd}ijf */ v f61(struct A12 a1,i a2,j a3,f a4){f_cpA12(V_a[1],&a1);V_i[2]=a2;V_j[3]=a3;V_f[4]=a4;ret_v(4)} +/* 62:vd{dd}ijf */ v f62(d a1,struct A12 a2,i a3,j a4,f a5){V_d[1]=a1;f_cpA12(V_a[2],&a2);V_i[3]=a3;V_j[4]=a4;V_f[5]=a5;ret_v(5)} +/* 63:vdd{dd}ijf */ v f63(d a1,d a2,struct A12 a3,i a4,j a5,f a6){V_d[1]=a1;V_d[2]=a2;f_cpA12(V_a[3],&a3);V_i[4]=a4;V_j[5]=a5;V_f[6]=a6;ret_v(6)} +/* 64:vddd{dd}ijf */ v f64(d a1,d a2,d a3,struct A12 a4,i a5,j a6,f a7){V_d[1]=a1;V_d[2]=a2;V_d[3]=a3;f_cpA12(V_a[4],&a4);V_i[5]=a5;V_j[6]=a6;V_f[7]=a7;ret_v(7)} +/* 65:vdddd{dd}ijf */ v f65(d a1,d a2,d a3,d a4,struct A12 a5,i a6,j a7,f a8){V_d[1]=a1;V_d[2]=a2;V_d[3]=a3;V_d[4]=a4;f_cpA12(V_a[5],&a5);V_i[6]=a6;V_j[7]=a7;V_f[8]=a8;ret_v(8)} +/* 66:vddddd{dd}ijf */ v f66(d a1,d a2,d a3,d a4,d a5,struct A12 a6,i a7,j a8,f a9){V_d[1]=a1;V_d[2]=a2;V_d[3]=a3;V_d[4]=a4;V_d[5]=a5;f_cpA12(V_a[6],&a6);V_i[7]=a7;V_j[8]=a8;V_f[9]=a9;ret_v(9)} +/* 67:vdddddd{dd}ijf */ v f67(d a1,d a2,d a3,d a4,d a5,d a6,struct A12 a7,i a8,j a9,f a10){V_d[1]=a1;V_d[2]=a2;V_d[3]=a3;V_d[4]=a4;V_d[5]=a5;V_d[6]=a6;f_cpA12(V_a[7],&a7);V_i[8]=a8;V_j[9]=a9;V_f[10]=a10;ret_v(10)} +/* 68:vddddddd{dd}ijf */ v f68(d a1,d a2,d a3,d a4,d a5,d a6,d a7,struct A12 a8,i a9,j a10,f a11){V_d[1]=a1;V_d[2]=a2;V_d[3]=a3;V_d[4]=a4;V_d[5]=a5;V_d[6]=a6;V_d[7]=a7;f_cpA12(V_a[8],&a8);V_i[9]=a9;V_j[10]=a10;V_f[11]=a11;ret_v(11)} +/* 69:vdddddddd{dd}ijf */ v f69(d a1,d a2,d a3,d a4,d a5,d a6,d a7,d a8,struct A12 a9,i a10,j a11,f a12){V_d[1]=a1;V_d[2]=a2;V_d[3]=a3;V_d[4]=a4;V_d[5]=a5;V_d[6]=a6;V_d[7]=a7;V_d[8]=a8;f_cpA12(V_a[9],&a9);V_i[10]=a10;V_j[11]=a11;V_f[12]=a12;ret_v(12)} +/* 70:viiiii{ii}ijf */ v f70(i a1,i a2,i a3,i a4,i a5,struct A13 a6,i a7,j a8,f a9){V_i[1]=a1;V_i[2]=a2;V_i[3]=a3;V_i[4]=a4;V_i[5]=a5;f_cpA13(V_a[6],&a6);V_i[7]=a7;V_j[8]=a8;V_f[9]=a9;ret_v(9)} +/* 71:viiiii{ici}ijf */ v f71(i a1,i a2,i a3,i a4,i a5,struct A14 a6,i a7,j a8,f a9){V_i[1]=a1;V_i[2]=a2;V_i[3]=a3;V_i[4]=a4;V_i[5]=a5;f_cpA14(V_a[6],&a6);V_i[7]=a7;V_j[8]=a8;V_f[9]=a9;ret_v(9)} +/* 72:viiiii{il}ijf */ v f72(i a1,i a2,i a3,i a4,i a5,struct A15 a6,i a7,j a8,f a9){V_i[1]=a1;V_i[2]=a2;V_i[3]=a3;V_i[4]=a4;V_i[5]=a5;f_cpA15(V_a[6],&a6);V_i[7]=a7;V_j[8]=a8;V_f[9]=a9;ret_v(9)} +/* 73:vfiiiii{il}ijf */ v f73(f a1,i a2,i a3,i a4,i a5,i a6,struct A15 a7,i a8,j a9,f a10){V_f[1]=a1;V_i[2]=a2;V_i[3]=a3;V_i[4]=a4;V_i[5]=a5;V_i[6]=a6;f_cpA15(V_a[7],&a7);V_i[8]=a8;V_j[9]=a9;V_f[10]=a10;ret_v(10)} +/* 74:viiiiif{il}ijf */ v f74(i a1,i a2,i a3,i a4,i a5,f a6,struct A15 a7,i a8,j a9,f a10){V_i[1]=a1;V_i[2]=a2;V_i[3]=a3;V_i[4]=a4;V_i[5]=a5;V_f[6]=a6;f_cpA15(V_a[7],&a7);V_i[8]=a8;V_j[9]=a9;V_f[10]=a10;ret_v(10)} +/* 75:viiiiif{li}ijf */ v f75(i a1,i a2,i a3,i a4,i a5,f a6,struct A16 a7,i a8,j a9,f a10){V_i[1]=a1;V_i[2]=a2;V_i[3]=a3;V_i[4]=a4;V_i[5]=a5;V_f[6]=a6;f_cpA16(V_a[7],&a7);V_i[8]=a8;V_j[9]=a9;V_f[10]=a10;ret_v(10)} +/* 76:viiiii{il}fijf */ v f76(i a1,i a2,i a3,i a4,i a5,struct A15 a6,f a7,i a8,j a9,f a10){V_i[1]=a1;V_i[2]=a2;V_i[3]=a3;V_i[4]=a4;V_i[5]=a5;f_cpA15(V_a[6],&a6);V_f[7]=a7;V_i[8]=a8;V_j[9]=a9;V_f[10]=a10;ret_v(10)} +/* 77:viiiii{li}fijf */ v f77(i a1,i a2,i a3,i a4,i a5,struct A16 a6,f a7,i a8,j a9,f a10){V_i[1]=a1;V_i[2]=a2;V_i[3]=a3;V_i[4]=a4;V_i[5]=a5;f_cpA16(V_a[6],&a6);V_f[7]=a7;V_i[8]=a8;V_j[9]=a9;V_f[10]=a10;ret_v(10)} +/* 78:viiffiii{ps}ijf */ v f78(i a1,i a2,f a3,f a4,i a5,i a6,i a7,struct A17 a8,i a9,j a10,f a11){V_i[1]=a1;V_i[2]=a2;V_f[3]=a3;V_f[4]=a4;V_i[5]=a5;V_i[6]=a6;V_i[7]=a7;f_cpA17(V_a[8],&a8);V_i[9]=a9;V_j[10]=a10;V_f[11]=a11;ret_v(11)} +/* 79:viiiiiff{li}ijf */ v f79(i a1,i a2,i a3,i a4,i a5,f a6,f a7,struct A16 a8,i a9,j a10,f a11){V_i[1]=a1;V_i[2]=a2;V_i[3]=a3;V_i[4]=a4;V_i[5]=a5;V_f[6]=a6;V_f[7]=a7;f_cpA16(V_a[8],&a8);V_i[9]=a9;V_j[10]=a10;V_f[11]=a11;ret_v(11)} +/* 80:viiiiiff{il}ijf */ v f80(i a1,i a2,i a3,i a4,i a5,f a6,f a7,struct A15 a8,i a9,j a10,f a11){V_i[1]=a1;V_i[2]=a2;V_i[3]=a3;V_i[4]=a4;V_i[5]=a5;V_f[6]=a6;V_f[7]=a7;f_cpA15(V_a[8],&a8);V_i[9]=a9;V_j[10]=a10;V_f[11]=a11;ret_v(11)} +/* 81:viiiii{il}ffijf */ v f81(i a1,i a2,i a3,i a4,i a5,struct A15 a6,f a7,f a8,i a9,j a10,f a11){V_i[1]=a1;V_i[2]=a2;V_i[3]=a3;V_i[4]=a4;V_i[5]=a5;f_cpA15(V_a[6],&a6);V_f[7]=a7;V_f[8]=a8;V_i[9]=a9;V_j[10]=a10;V_f[11]=a11;ret_v(11)} +/* 82:viiiii{li}ffijf */ v f82(i a1,i a2,i a3,i a4,i a5,struct A16 a6,f a7,f a8,i a9,j a10,f a11){V_i[1]=a1;V_i[2]=a2;V_i[3]=a3;V_i[4]=a4;V_i[5]=a5;f_cpA16(V_a[6],&a6);V_f[7]=a7;V_f[8]=a8;V_i[9]=a9;V_j[10]=a10;V_f[11]=a11;ret_v(11)} +/* 83:iijf */ i f83(i a1,j a2,f a3){V_i[1]=a1;V_j[2]=a2;V_f[3]=a3;ret_i(3)} +/* 84:i{}ijf */ i f84(struct A1 a1,i a2,j a3,f a4){f_cpA1(V_a[1],&a1);V_i[2]=a2;V_j[3]=a3;V_f[4]=a4;ret_i(4)} +/* 85:i{i}ijf */ i f85(struct A2 a1,i a2,j a3,f a4){f_cpA2(V_a[1],&a1);V_i[2]=a2;V_j[3]=a3;V_f[4]=a4;ret_i(4)} +/* 86:i{ii}ijf */ i f86(struct A13 a1,i a2,j a3,f a4){f_cpA13(V_a[1],&a1);V_i[2]=a2;V_j[3]=a3;V_f[4]=a4;ret_i(4)} +/* 87:i{iii}ijf */ i f87(struct A18 a1,i a2,j a3,f a4){f_cpA18(V_a[1],&a1);V_i[2]=a2;V_j[3]=a3;V_f[4]=a4;ret_i(4)} +/* 88:i{iiii}ijf */ i f88(struct A19 a1,i a2,j a3,f a4){f_cpA19(V_a[1],&a1);V_i[2]=a2;V_j[3]=a3;V_f[4]=a4;ret_i(4)} +/* 89:fijf */ f f89(i a1,j a2,f a3){V_i[1]=a1;V_j[2]=a2;V_f[3]=a3;ret_f(3)} +/* 90:f{}ijf */ f f90(struct A1 a1,i a2,j a3,f a4){f_cpA1(V_a[1],&a1);V_i[2]=a2;V_j[3]=a3;V_f[4]=a4;ret_f(4)} +/* 91:f{i}ijf */ f f91(struct A2 a1,i a2,j a3,f a4){f_cpA2(V_a[1],&a1);V_i[2]=a2;V_j[3]=a3;V_f[4]=a4;ret_f(4)} +/* 92:f{ii}ijf */ f f92(struct A13 a1,i a2,j a3,f a4){f_cpA13(V_a[1],&a1);V_i[2]=a2;V_j[3]=a3;V_f[4]=a4;ret_f(4)} +/* 93:d{ii}ijf */ d f93(struct A13 a1,i a2,j a3,f a4){f_cpA13(V_a[1],&a1);V_i[2]=a2;V_j[3]=a3;V_f[4]=a4;ret_d(4)} +/* 94:f{iii}ijf */ f f94(struct A18 a1,i a2,j a3,f a4){f_cpA18(V_a[1],&a1);V_i[2]=a2;V_j[3]=a3;V_f[4]=a4;ret_f(4)} +/* 95:f{iiii}ijf */ f f95(struct A19 a1,i a2,j a3,f a4){f_cpA19(V_a[1],&a1);V_i[2]=a2;V_j[3]=a3;V_f[4]=a4;ret_f(4)} +/* 96:ss{ii}ijf */ s f96(s a1,struct A13 a2,i a3,j a4,f a5){V_s[1]=a1;f_cpA13(V_a[2],&a2);V_i[3]=a3;V_j[4]=a4;V_f[5]=a5;ret_s(5)} funptr G_funtab[] = { (funptr)&f0, (funptr)&f1, @@ -98,8 +397,103 @@ (funptr)&f24, (funptr)&f25, (funptr)&f26, + (funptr)&f27, + (funptr)&f28, + (funptr)&f29, + (funptr)&f30, + (funptr)&f31, + (funptr)&f32, + (funptr)&f33, + (funptr)&f34, + (funptr)&f35, + (funptr)&f36, + (funptr)&f37, + (funptr)&f38, + (funptr)&f39, + (funptr)&f40, + (funptr)&f41, + (funptr)&f42, + (funptr)&f43, + (funptr)&f44, + (funptr)&f45, + (funptr)&f46, + (funptr)&f47, + (funptr)&f48, + (funptr)&f49, + (funptr)&f50, + (funptr)&f51, + (funptr)&f52, + (funptr)&f53, + (funptr)&f54, + (funptr)&f55, + (funptr)&f56, + (funptr)&f57, + (funptr)&f58, + (funptr)&f59, + (funptr)&f60, + (funptr)&f61, + (funptr)&f62, + (funptr)&f63, + (funptr)&f64, + (funptr)&f65, + (funptr)&f66, + (funptr)&f67, + (funptr)&f68, + (funptr)&f69, + (funptr)&f70, + (funptr)&f71, + (funptr)&f72, + (funptr)&f73, + (funptr)&f74, + (funptr)&f75, + (funptr)&f76, + (funptr)&f77, + (funptr)&f78, + (funptr)&f79, + (funptr)&f80, + (funptr)&f81, + (funptr)&f82, + (funptr)&f83, + (funptr)&f84, + (funptr)&f85, + (funptr)&f86, + (funptr)&f87, + (funptr)&f88, + (funptr)&f89, + (funptr)&f90, + (funptr)&f91, + (funptr)&f92, + (funptr)&f93, + (funptr)&f94, + (funptr)&f95, + (funptr)&f96, }; char const * G_sigtab[] = { + "pscd{}pclc{i}scli", + "sslfjiji{s}ipc{}{}{}cc", + "i{dlclpfifpifsf}lpldl{dijpiccjpf}{lcpfcflpsiilfsjp}pp{}ssj", + "fci{jjlff{jdcfcsdjjlcdjlipfji}csijld}sj", + "{}lffic{}pip{}{c}s{}", + "clsc{cjilpcp}sfspdc{}j{c}fs", + "ljdcjsl{}i{c}{}s", + "v{ddd}", + "vd{ddd}", + "vdd{ddd}", + "vddd{ddd}", + "vdddd{ddd}", + "vddddd{ddd}", + "vdddddd{ddd}", + "vddddddd{ddd}", + "vdddddddd{ddd}", + "v{dd}", + "vd{dd}", + "vdd{dd}", + "vddd{dd}", + "vdddd{dd}", + "vddddd{dd}", + "vdddddd{dd}", + "vddddddd{dd}", + "vdddddddd{dd}", "viiiii{ii}", "viiiii{ici}", "viiiii{il}", @@ -127,49 +521,134 @@ "f{iii}", "f{iiii}", "ss{ii}", + "v{ddd}ijf", + "vd{ddd}ijf", + "vdd{ddd}ijf", + "vddd{ddd}ijf", + "vdddd{ddd}ijf", + "vddddd{ddd}ijf", + "vdddddd{ddd}ijf", + "vddddddd{ddd}ijf", + "vdddddddd{ddd}ijf", + "v{dd}ijf", + "vd{dd}ijf", + "vdd{dd}ijf", + "vddd{dd}ijf", + "vdddd{dd}ijf", + "vddddd{dd}ijf", + "vdddddd{dd}ijf", + "vddddddd{dd}ijf", + "vdddddddd{dd}ijf", + "viiiii{ii}ijf", + "viiiii{ici}ijf", + "viiiii{il}ijf", + "vfiiiii{il}ijf", + "viiiiif{il}ijf", + "viiiiif{li}ijf", + "viiiii{il}fijf", + "viiiii{li}fijf", + "viiffiii{ps}ijf", + "viiiiiff{li}ijf", + "viiiiiff{il}ijf", + "viiiii{il}ffijf", + "viiiii{li}ffijf", + "iijf", + "i{}ijf", + "i{i}ijf", + "i{ii}ijf", + "i{iii}ijf", + "i{iiii}ijf", + "fijf", + "f{}ijf", + "f{i}ijf", + "f{ii}ijf", + "d{ii}ijf", + "f{iii}ijf", + "f{iiii}ijf", + "ss{ii}ijf", }; const char* G_agg_sigs[] = { - "{ici}", - "{ii}", - "{ps}", - "{iiii}", - "{iii}", - "{li}", "{}", "{i}", - "{il}" + "{s}", + "{dlclpfifpifsf}", + "{dijpiccjpf}", + "{lcpfcflpsiilfsjp}", + "{jdcfcsdjjlcdjlipfji}", + "{jjlff{jdcfcsdjjlcdjlipfji}csijld}", + "{c}", + "{cjilpcp}", + "{ddd}", + "{dd}", + "{ii}", + "{ici}", + "{il}", + "{li}", + "{ps}", + "{iii}", + "{iiii}" }; int G_agg_sizes[] = { + sizeof(struct A1), sizeof(struct A2), - sizeof(struct A1), + sizeof(struct A3), + sizeof(struct A4), sizeof(struct A5), - sizeof(struct A9), - sizeof(struct A8), - sizeof(struct A4), sizeof(struct A6), sizeof(struct A7), - sizeof(struct A3) + sizeof(struct A8), + sizeof(struct A9), + sizeof(struct A10), + sizeof(struct A11), + sizeof(struct A12), + sizeof(struct A13), + sizeof(struct A14), + sizeof(struct A15), + sizeof(struct A16), + sizeof(struct A17), + sizeof(struct A18), + sizeof(struct A19) }; funptr G_agg_newdcstfuncs[] = { + (funptr)&f_newdcstA1, (funptr)&f_newdcstA2, - (funptr)&f_newdcstA1, + (funptr)&f_newdcstA3, + (funptr)&f_newdcstA4, (funptr)&f_newdcstA5, - (funptr)&f_newdcstA9, - (funptr)&f_newdcstA8, - (funptr)&f_newdcstA4, (funptr)&f_newdcstA6, (funptr)&f_newdcstA7, - (funptr)&f_newdcstA3 + (funptr)&f_newdcstA8, + (funptr)&f_newdcstA9, + (funptr)&f_newdcstA10, + (funptr)&f_newdcstA11, + (funptr)&f_newdcstA12, + (funptr)&f_newdcstA13, + (funptr)&f_newdcstA14, + (funptr)&f_newdcstA15, + (funptr)&f_newdcstA16, + (funptr)&f_newdcstA17, + (funptr)&f_newdcstA18, + (funptr)&f_newdcstA19 }; funptr G_agg_cmpfuncs[] = { + (funptr)&f_cmpA1, (funptr)&f_cmpA2, - (funptr)&f_cmpA1, + (funptr)&f_cmpA3, + (funptr)&f_cmpA4, (funptr)&f_cmpA5, - (funptr)&f_cmpA9, - (funptr)&f_cmpA8, - (funptr)&f_cmpA4, (funptr)&f_cmpA6, (funptr)&f_cmpA7, - (funptr)&f_cmpA3 + (funptr)&f_cmpA8, + (funptr)&f_cmpA9, + (funptr)&f_cmpA10, + (funptr)&f_cmpA11, + (funptr)&f_cmpA12, + (funptr)&f_cmpA13, + (funptr)&f_cmpA14, + (funptr)&f_cmpA15, + (funptr)&f_cmpA16, + (funptr)&f_cmpA17, + (funptr)&f_cmpA18, + (funptr)&f_cmpA19 }; -int G_maxargs = 8; +int G_maxargs = 16; diff -r 3d2c5d156d78 -r a29baee68340 test/suite_aggrs/design.txt --- a/test/suite_aggrs/design.txt Sun Jan 23 23:20:02 2022 +0100 +++ b/test/suite_aggrs/design.txt Mon Jan 24 12:41:27 2022 +0100 @@ -1,3 +1,9 @@ +pscd{}pclc{i}scli +sslfjiji{s}ipc{}{}{}cc +i{dlclpfifpifsf}lpldl{dijpiccjpf}{lcpfcflpsiilfsjp}pp{}ssj +fci{jjlff{jdcfcsdjjlcdjlipfji}csijld}sj +{}lffic{}pip{}{c}s{} +clsc{cjilpcp}sfspdc{}j{c}fs ljdcjsl{}i{c}{}s v{ddd} vd{ddd} diff -r 3d2c5d156d78 -r a29baee68340 test/suite_aggrs/main.c --- a/test/suite_aggrs/main.c Sun Jan 23 23:20:02 2022 +0100 +++ b/test/suite_aggrs/main.c Mon Jan 24 12:41:27 2022 +0100 @@ -71,7 +71,7 @@ sig += len; rtype_st_cmp = G_agg_cmpfuncs[i]; - rtype_st = ((DCstruct*(*)())G_agg_newdcstfuncs[i])(NULL); + rtype_st = ((DCstruct*(*)())G_agg_newdcstfuncs[i])(); dcBeginCallStruct(p, rtype_st, DC_FALSE); } else @@ -98,7 +98,7 @@ printf("unknown sig at '%s' ;", sig); return 0; } - DCstruct *st = ((DCstruct*(*)())G_agg_newdcstfuncs[i])(NULL); + DCstruct *st = ((DCstruct*(*)())G_agg_newdcstfuncs[i])(); dcArgStruct(p, st, K_a[pos]); sig += len-1; /* advance to next arg char */ break; diff -r 3d2c5d156d78 -r a29baee68340 test/suite_aggrs/mk-cases.lua --- a/test/suite_aggrs/mk-cases.lua Sun Jan 23 23:20:02 2022 +0100 +++ b/test/suite_aggrs/mk-cases.lua Mon Jan 24 12:41:27 2022 +0100 @@ -161,12 +161,10 @@ end -- convenient dcnewstruct helper funcs - io.write('static int nfields'..v[2]..' = '..(#v[1]>>1)..';\n') - io.write('DCstruct* f_newdcst'..v[2]..'(DCstruct* parent) {\n\tDCstruct* st = parent;\n\tif(!st) st = dcNewStruct(nfields'..v[2]..', sizeof('..st..'), 0, 1);\n\t') + io.write('DCstruct* f_newdcst'..v[2]..'() {\n\tDCstruct* st = dcNewStruct('..(#v[1]>>1)..', sizeof('..st..'), 0, 1);\n\t') for i = 1, #v[1], 2 do if string.match(v[1][i], '^struct') then - io.write('dcSubStruct(st, nfields'..v[1][i]:sub(8)..', offsetof('..st..', '..v[1][i+1]..'), sizeof('..v[1][i]..'), 0, DC_TRUE, 1);\n\t') - io.write("f_newdcst"..v[1][i]:sub(8)..'(st);\n\t') + io.write('dcStructField(st, DC_SIGCHAR_STRUCT, offsetof('..st..', '..v[1][i+1]..'), 1, f_newdcst'..v[1][i]:sub(8)..'());\n\t') else io.write("dcStructField(st, '"..v[1][i].."', offsetof("..st..', '..v[1][i+1]..'), 1);\n\t') end