diff options
Diffstat (limited to 'cppawk-include/narg-priv.h')
-rw-r--r-- | cppawk-include/narg-priv.h | 189 |
1 files changed, 68 insertions, 121 deletions
diff --git a/cppawk-include/narg-priv.h b/cppawk-include/narg-priv.h index 78986de..87fb149 100644 --- a/cppawk-include/narg-priv.h +++ b/cppawk-include/narg-priv.h @@ -44,159 +44,106 @@ 3, 2, 1, 0) -#define __repi_1(mac1, mac2, a1) \ +#define __repn_1(mac1, mac2, a1) \ mac1(a1) -#define __repi_2(mac1, mac2, a1, a2) \ - mac1(a1) mac2(a2) -#define __repi_3(mac1, mac2, a1, a2, a3) \ - mac1(a1) mac2(a2) mac2(a3) -#define __repi_4(mac1, mac2, a1, a2, a3, a4) \ - mac1(a1) mac2(a2) mac2(a3) mac2(a4) -#define __repi_5(mac1, mac2, a1, a2, a3, a4, a5) \ - mac1(a1) mac2(a2) mac2(a3) mac2(a4) mac2(a5) -#define __repi_6(mac1, mac2, a1, a2, a3, a4, a5, a6) \ - mac1(a1) mac2(a2) mac2(a3) mac2(a4) mac2(a5) mac2(a6) -#define __repi_7(mac1, mac2, a1, a2, a3, a4, a5, a6, a7) \ - mac1(a1) mac2(a2) mac2(a3) mac2(a4) mac2(a5) mac2(a6) mac2(a7) -#define __repi_8(mac1, mac2, a1, a2, a3, a4, a5, a6, a7, a8) \ - mac1(a1) mac2(a2) mac2(a3) mac2(a4) mac2(a5) mac2(a6) mac2(a7) mac2(a8) -#define __repi_9(mac1, mac2, a1, a2, a3, a4, a5, a6, a7, a8, a9) \ - mac1(a1) mac2(a2) mac2(a3) mac2(a4) mac2(a5) mac2(a6) mac2(a7) mac2(a8) \ - mac2(a9) -#define __repi_10(mac1, mac2, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) \ - mac1(a1) mac2(a2) mac2(a3) mac2(a4) mac2(a5) mac2(a6) mac2(a7) mac2(a8) \ - mac2(a9) mac2(a10) -#define __repi_11(mac1, mac2, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) \ - mac1(a1) mac2(a2) mac2(a3) mac2(a4) mac2(a5) mac2(a6) mac2(a7) mac2(a8) \ - mac2(a9) mac2(a10) mac2(a11) -#define __repi_12(mac1, mac2, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, \ +#define __repn_2(mac1, mac2, a1, a2) \ + mac2(mac1(a1), a2) +#define __repn_3(mac1, mac2, a1, a2, a3) \ + mac2(mac2(mac1(a1), a2), a3) +#define __repn_4(mac1, mac2, a1, a2, a3, a4) \ + mac2(mac2(mac2(mac1(a1), a2), a3), a4) +#define __repn_5(mac1, mac2, a1, a2, a3, a4, a5) \ + mac2(mac2(mac2(mac2(mac1(a1), a2), a3), a4), a5) +#define __repn_6(mac1, mac2, a1, a2, a3, a4, a5, a6) \ + mac2(mac2(mac2(mac2(mac2(mac1(a1), a2), a3), a4), a5), a6) +#define __repn_7(mac1, mac2, a1, a2, a3, a4, a5, a6, a7) \ + mac2(mac2(mac2(mac2(mac2(mac2(mac1(a1), a2), a3), a4), a5), a6), a7) +#define __repn_8(mac1, mac2, a1, a2, a3, a4, a5, a6, a7, a8) \ + mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac1(a1), a2), a3), a4), a5), a6), a7), a8) +#define __repn_9(mac1, mac2, a1, a2, a3, a4, a5, a6, a7, a8, a9) \ + mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac1(a1), a2), a3), a4), a5), a6), a7), a8), a9) +#define __repn_10(mac1, mac2, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) \ + mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac1(a1), a2), a3), a4), a5), a6), a7), a8), a9), a10) +#define __repn_11(mac1, mac2, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) \ + mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac1(a1), a2), a3), a4), a5), a6), a7), a8), a9), a10), a11) +#define __repn_12(mac1, mac2, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, \ a12) \ - mac1(a1) mac2(a2) mac2(a3) mac2(a4) mac2(a5) mac2(a6) mac2(a7) mac2(a8) \ - mac2(a9) mac2(a10) mac2(a11) mac2(a12) -#define __repi_13(mac1, mac2, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, \ + mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac1(a1), a2), a3), a4), a5), a6), a7), a8), a9), a10), a11), a12) +#define __repn_13(mac1, mac2, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, \ a12, a13) \ - mac1(a1) mac2(a2) mac2(a3) mac2(a4) mac2(a5) mac2(a6) mac2(a7) mac2(a8) \ - mac2(a9) mac2(a10) mac2(a11) mac2(a12) mac2(a13) -#define __repi_14(mac1, mac2, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, \ + mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac1(a1), a2), a3), a4), a5), a6), a7), a8), a9), a10), a11), a12), a13) +#define __repn_14(mac1, mac2, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, \ a12, a13, a14) \ - mac1(a1) mac2(a2) mac2(a3) mac2(a4) mac2(a5) mac2(a6) mac2(a7) mac2(a8) \ - mac2(a9) mac2(a10) mac2(a11) mac2(a12) mac2(a13) mac2(a14) -#define __repi_15(mac1, mac2, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, \ + mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac1(a1), a2), a3), a4), a5), a6), a7), a8), a9), a10), a11), a12), a13), a14) +#define __repn_15(mac1, mac2, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, \ a12, a13, a14, a15) \ - mac1(a1) mac2(a2) mac2(a3) mac2(a4) mac2(a5) mac2(a6) mac2(a7) mac2(a8) \ - mac2(a9) mac2(a10) mac2(a11) mac2(a12) mac2(a13) mac2(a14) mac2(a15) -#define __repi_16(mac1, mac2, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, \ + mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac1(a1), a2), a3), a4), a5), a6), a7), a8), a9), a10), a11), a12), a13), a14), a15) +#define __repn_16(mac1, mac2, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, \ a12, a13, a14, a15, a16) \ - mac1(a1) mac2(a2) mac2(a3) mac2(a4) mac2(a5) mac2(a6) mac2(a7) mac2(a8) \ - mac2(a9) mac2(a10) mac2(a11) mac2(a12) mac2(a13) mac2(a14) mac2(a15) \ - mac2(a16) -#define __repi_17(mac1, mac2, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, \ + mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac1(a1), a2), a3), a4), a5), a6), a7), a8), a9), a10), a11), a12), a13), a14), a15), a16) +#define __repn_17(mac1, mac2, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, \ a12, a13, a14, a15, a16, a17) \ - mac1(a1) mac2(a2) mac2(a3) mac2(a4) mac2(a5) mac2(a6) mac2(a7) mac2(a8) \ - mac2(a9) mac2(a10) mac2(a11) mac2(a12) mac2(a13) mac2(a14) mac2(a15) \ - mac2(a16) mac2(a17) -#define __repi_18(mac1, mac2, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, \ + mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac1(a1), a2), a3), a4), a5), a6), a7), a8), a9), a10), a11), a12), a13), a14), a15), a16), a17) +#define __repn_18(mac1, mac2, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, \ a12, a13, a14, a15, a16, a17, a18) \ - mac1(a1) mac2(a2) mac2(a3) mac2(a4) mac2(a5) mac2(a6) mac2(a7) mac2(a8) \ - mac2(a9) mac2(a10) mac2(a11) mac2(a12) mac2(a13) mac2(a14) mac2(a15) \ - mac2(a16) mac2(a17) mac2(a18) -#define __repi_19(mac1, mac2, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, \ + mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac1(a1), a2), a3), a4), a5), a6), a7), a8), a9), a10), a11), a12), a13), a14), a15), a16), a17), a18) +#define __repn_19(mac1, mac2, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, \ a12, a13, a14, a15, a16, a17, a18, a19) \ - mac1(a1) mac2(a2) mac2(a3) mac2(a4) mac2(a5) mac2(a6) mac2(a7) mac2(a8) \ - mac2(a9) mac2(a10) mac2(a11) mac2(a12) mac2(a13) mac2(a14) mac2(a15) \ - mac2(a16) mac2(a17) mac2(a18) mac2(a19) -#define __repi_20(mac1, mac2, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, \ + mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac1(a1), a2), a3), a4), a5), a6), a7), a8), a9), a10), a11), a12), a13), a14), a15), a16), a17), a18), a19) +#define __repn_20(mac1, mac2, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, \ a12, a13, a14, a15, a16, a17, a18, a19, a20) \ - mac1(a1) mac2(a2) mac2(a3) mac2(a4) mac2(a5) mac2(a6) mac2(a7) mac2(a8) \ - mac2(a9) mac2(a10) mac2(a11) mac2(a12) mac2(a13) mac2(a14) mac2(a15) \ - mac2(a16) mac2(a17) mac2(a18) mac2(a19) mac2(a20) -#define __repi_21(mac1, mac2, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, \ + mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac1(a1), a2), a3), a4), a5), a6), a7), a8), a9), a10), a11), a12), a13), a14), a15), a16), a17), a18), a19), a20) +#define __repn_21(mac1, mac2, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, \ a12, a13, a14, a15, a16, a17, a18, a19, a20, a21) \ - mac1(a1) mac2(a2) mac2(a3) mac2(a4) mac2(a5) mac2(a6) mac2(a7) mac2(a8) \ - mac2(a9) mac2(a10) mac2(a11) mac2(a12) mac2(a13) mac2(a14) mac2(a15) \ - mac2(a16) mac2(a17) mac2(a18) mac2(a19) mac2(a20) mac2(a21) -#define __repi_22(mac1, mac2, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, \ + mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac1(a1), a2), a3), a4), a5), a6), a7), a8), a9), a10), a11), a12), a13), a14), a15), a16), a17), a18), a19), a20), a21) +#define __repn_22(mac1, mac2, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, \ a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22) \ - mac1(a1) mac2(a2) mac2(a3) mac2(a4) mac2(a5) mac2(a6) mac2(a7) mac2(a8) \ - mac2(a9) mac2(a10) mac2(a11) mac2(a12) mac2(a13) mac2(a14) mac2(a15) \ - mac2(a16) mac2(a17) mac2(a18) mac2(a19) mac2(a20) mac2(a21) mac2(a22) -#define __repi_23(mac1, mac2, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, \ + mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac1(a1), a2), a3), a4), a5), a6), a7), a8), a9), a10), a11), a12), a13), a14), a15), a16), a17), a18), a19), a20), a21), a22) +#define __repn_23(mac1, mac2, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, \ a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23) \ - mac1(a1) mac2(a2) mac2(a3) mac2(a4) mac2(a5) mac2(a6) mac2(a7) mac2(a8) \ - mac2(a9) mac2(a10) mac2(a11) mac2(a12) mac2(a13) mac2(a14) mac2(a15) \ - mac2(a16) mac2(a17) mac2(a18) mac2(a19) mac2(a20) mac2(a21) mac2(a22) \ - mac2(a23) -#define __repi_24(mac1, mac2, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, \ + mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac1(a1), a2), a3), a4), a5), a6), a7), a8), a9), a10), a11), a12), a13), a14), a15), a16), a17), a18), a19), a20), a21), a22), a23) +#define __repn_24(mac1, mac2, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, \ a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, \ a24) \ - mac1(a1) mac2(a2) mac2(a3) mac2(a4) mac2(a5) mac2(a6) mac2(a7) mac2(a8) \ - mac2(a9) mac2(a10) mac2(a11) mac2(a12) mac2(a13) mac2(a14) mac2(a15) \ - mac2(a16) mac2(a17) mac2(a18) mac2(a19) mac2(a20) mac2(a21) mac2(a22) \ - mac2(a23) mac2(a24) -#define __repi_25(mac1, mac2, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, \ + mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac1(a1), a2), a3), a4), a5), a6), a7), a8), a9), a10), a11), a12), a13), a14), a15), a16), a17), a18), a19), a20), a21), a22), a23), a24) +#define __repn_25(mac1, mac2, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, \ a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, \ a24, a25) \ - mac1(a1) mac2(a2) mac2(a3) mac2(a4) mac2(a5) mac2(a6) mac2(a7) mac2(a8) \ - mac2(a9) mac2(a10) mac2(a11) mac2(a12) mac2(a13) mac2(a14) mac2(a15) \ - mac2(a16) mac2(a17) mac2(a18) mac2(a19) mac2(a20) mac2(a21) mac2(a22) \ - mac2(a23) mac2(a24) mac2(a25) -#define __repi_26(mac1, mac2, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, \ + mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac1(a1), a2), a3), a4), a5), a6), a7), a8), a9), a10), a11), a12), a13), a14), a15), a16), a17), a18), a19), a20), a21), a22), a23), a24), a25) +#define __repn_26(mac1, mac2, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, \ a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, \ a24, a25, a26) \ - mac1(a1) mac2(a2) mac2(a3) mac2(a4) mac2(a5) mac2(a6) mac2(a7) mac2(a8) \ - mac2(a9) mac2(a10) mac2(a11) mac2(a12) mac2(a13) mac2(a14) mac2(a15) \ - mac2(a16) mac2(a17) mac2(a18) mac2(a19) mac2(a20) mac2(a21) mac2(a22) \ - mac2(a23) mac2(a24) mac2(a25) mac2(a26) -#define __repi_27(mac1, mac2, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, \ + mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac1(a1), a2), a3), a4), a5), a6), a7), a8), a9), a10), a11), a12), a13), a14), a15), a16), a17), a18), a19), a20), a21), a22), a23), a24), a25), a26) +#define __repn_27(mac1, mac2, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, \ a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, \ a24, a25, a26, a27) \ - mac1(a1) mac2(a2) mac2(a3) mac2(a4) mac2(a5) mac2(a6) mac2(a7) mac2(a8) \ - mac2(a9) mac2(a10) mac2(a11) mac2(a12) mac2(a13) mac2(a14) mac2(a15) \ - mac2(a16) mac2(a17) mac2(a18) mac2(a19) mac2(a20) mac2(a21) mac2(a22) \ - mac2(a23) mac2(a24) mac2(a25) mac2(a26) mac2(a27) -#define __repi_28(mac1, mac2, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, \ + mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac1(a1), a2), a3), a4), a5), a6), a7), a8), a9), a10), a11), a12), a13), a14), a15), a16), a17), a18), a19), a20), a21), a22), a23), a24), a25), a26), a27) +#define __repn_28(mac1, mac2, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, \ a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, \ a24, a25, a26, a27, a28) \ - mac1(a1) mac2(a2) mac2(a3) mac2(a4) mac2(a5) mac2(a6) mac2(a7) mac2(a8) \ - mac2(a9) mac2(a10) mac2(a11) mac2(a12) mac2(a13) mac2(a14) mac2(a15) \ - mac2(a16) mac2(a17) mac2(a18) mac2(a19) mac2(a20) mac2(a21) mac2(a22) \ - mac2(a23) mac2(a24) mac2(a25) mac2(a26) mac2(a27) mac2(a28) -#define __repi_29(mac1, mac2, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, \ + mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac1(a1), a2), a3), a4), a5), a6), a7), a8), a9), a10), a11), a12), a13), a14), a15), a16), a17), a18), a19), a20), a21), a22), a23), a24), a25), a26), a27), a28) +#define __repn_29(mac1, mac2, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, \ a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, \ a24, a25, a26, a27, a28, a29) \ - mac1(a1) mac2(a2) mac2(a3) mac2(a4) mac2(a5) mac2(a6) mac2(a7) mac2(a8) \ - mac2(a9) mac2(a10) mac2(a11) mac2(a12) mac2(a13) mac2(a14) mac2(a15) \ - mac2(a16) mac2(a17) mac2(a18) mac2(a19) mac2(a20) mac2(a21) mac2(a22) \ - mac2(a23) mac2(a24) mac2(a25) mac2(a26) mac2(a27) mac2(a28) mac2(a29) -#define __repi_30(mac1, mac2, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, \ + mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac1(a1), a2), a3), a4), a5), a6), a7), a8), a9), a10), a11), a12), a13), a14), a15), a16), a17), a18), a19), a20), a21), a22), a23), a24), a25), a26), a27), a28), a29) +#define __repn_30(mac1, mac2, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, \ a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, \ a24, a25, a26, a27, a28, a29, a30) \ - mac1(a1) mac2(a2) mac2(a3) mac2(a4) mac2(a5) mac2(a6) mac2(a7) mac2(a8) \ - mac2(a9) mac2(a10) mac2(a11) mac2(a12) mac2(a13) mac2(a14) mac2(a15) \ - mac2(a16) mac2(a17) mac2(a18) mac2(a19) mac2(a20) mac2(a21) mac2(a22) \ - mac2(a23) mac2(a24) mac2(a25) mac2(a26) mac2(a27) mac2(a28) mac2(a29) \ - mac2(a30) -#define __repi_31(mac1, mac2, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, \ + mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac1(a1), a2), a3), a4), a5), a6), a7), a8), a9), a10), a11), a12), a13), a14), a15), a16), a17), a18), a19), a20), a21), a22), a23), a24), a25), a26), a27), a28), a29), a30) +#define __repn_31(mac1, mac2, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, \ a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, \ a24, a25, a26, a27, a28, a29, a30, a31) \ - mac1(a1) mac2(a2) mac2(a3) mac2(a4) mac2(a5) mac2(a6) mac2(a7) mac2(a8) \ - mac2(a9) mac2(a10) mac2(a11) mac2(a12) mac2(a13) mac2(a14) mac2(a15) \ - mac2(a16) mac2(a17) mac2(a18) mac2(a19) mac2(a20) mac2(a21) mac2(a22) \ - mac2(a23) mac2(a24) mac2(a25) mac2(a26) mac2(a27) mac2(a28) mac2(a29) \ - mac2(a30) mac2(a31) -#define __repi_32(mac1, mac2, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, \ + mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac1(a1), a2), a3), a4), a5), a6), a7), a8), a9), a10), a11), a12), a13), a14), a15), a16), a17), a18), a19), a20), a21), a22), a23), a24), a25), a26), a27), a28), a29), a30), a31) +#define __repn_32(mac1, mac2, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, \ a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, \ a24, a25, a26, a27, a28, a29, a30, a31, a32) \ - mac1(a1) mac2(a2) mac2(a3) mac2(a4) mac2(a5) mac2(a6) mac2(a7) mac2(a8) \ - mac2(a9) mac2(a10) mac2(a11) mac2(a12) mac2(a13) mac2(a14) mac2(a15) \ - mac2(a16) mac2(a17) mac2(a18) mac2(a19) mac2(a20) mac2(a21) mac2(a22) \ - mac2(a23) mac2(a24) mac2(a25) mac2(a26) mac2(a27) mac2(a28) mac2(a29) \ - mac2(a30) mac2(a31) mac2(a32) + mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac2(mac1(a1), a2), a3), a4), a5), a6), a7), a8), a9), a10), a11), a12), a13), a14), a15), a16), a17), a18), a19), a20), a21), a22), a23), a24), a25), a26), a27), a28), a29), a30), a31), a32) -#define __varexpand_simple(mac, ...) \ - __xcat(__repi_, __narg(__VA_ARGS__)) (mac, mac, __VA_ARGS__) +#define __varexpand(mac1, mac2, ...) \ + __xcat(__repn_, __narg(__VA_ARGS__)) (mac1, mac2, __VA_ARGS__) -#define __varexpand_infix(mac1, mac2, ...) \ - __xcat(__repi_, __narg(__VA_ARGS__)) (mac1, mac2, __VA_ARGS__) +#define __rev_first(arg) arg +#define __rev_next(args, arg) arg, args +#define __revargs(...) __varexpand(__rev_first, __rev_next, __VA_ARGS__) #endif |