diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2022-03-28 23:12:12 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2022-03-28 23:12:12 -0700 |
commit | bced9e4d93f25baebeb47ae2d6356843fcbba0f7 (patch) | |
tree | 3d76f5a300ba90a72fa9fc2f7243eabd84e16a26 | |
parent | a8020a1eebb56ae4f3303030b6baab608be695b3 (diff) | |
download | cppawk-bced9e4d93f25baebeb47ae2d6356843fcbba0f7.tar.gz cppawk-bced9e4d93f25baebeb47ae2d6356843fcbba0f7.tar.bz2 cppawk-bced9e4d93f25baebeb47ae2d6356843fcbba0f7.zip |
__varexpand_simple: get rid of __rep_ macros.
There is no need for __varexpand_simple to carry its own set
of 32 macros, because it's just a special case of
__varexpand_infix, with the same helper macro duplicated as
mac1 and mac2.
-rw-r--r-- | cppawk-include/narg-priv.h | 137 |
1 files changed, 1 insertions, 136 deletions
diff --git a/cppawk-include/narg-priv.h b/cppawk-include/narg-priv.h index 2e1ac8c..78986de 100644 --- a/cppawk-include/narg-priv.h +++ b/cppawk-include/narg-priv.h @@ -43,141 +43,6 @@ 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, \ 3, 2, 1, 0) -#define __rep_1(mac, a1) \ - mac(a1) -#define __rep_2(mac, a1, a2) \ - mac(a1) mac(a2) -#define __rep_3(mac, a1, a2, a3) \ - mac(a1) mac(a2) mac(a3) -#define __rep_4(mac, a1, a2, a3, a4) \ - mac(a1) mac(a2) mac(a3) mac(a4) -#define __rep_5(mac, a1, a2, a3, a4, a5) \ - mac(a1) mac(a2) mac(a3) mac(a4) mac(a5) -#define __rep_6(mac, a1, a2, a3, a4, a5, a6) \ - mac(a1) mac(a2) mac(a3) mac(a4) mac(a5) mac(a6) -#define __rep_7(mac, a1, a2, a3, a4, a5, a6, a7) \ - mac(a1) mac(a2) mac(a3) mac(a4) mac(a5) mac(a6) mac(a7) -#define __rep_8(mac, a1, a2, a3, a4, a5, a6, a7, a8) \ - mac(a1) mac(a2) mac(a3) mac(a4) mac(a5) mac(a6) mac(a7) mac(a8) -#define __rep_9(mac, a1, a2, a3, a4, a5, a6, a7, a8, a9) \ - mac(a1) mac(a2) mac(a3) mac(a4) mac(a5) mac(a6) mac(a7) mac(a8) mac(a9) -#define __rep_10(mac, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) \ - mac(a1) mac(a2) mac(a3) mac(a4) mac(a5) mac(a6) mac(a7) mac(a8) mac(a9) \ - mac(a10) -#define __rep_11(mac, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) \ - mac(a1) mac(a2) mac(a3) mac(a4) mac(a5) mac(a6) mac(a7) mac(a8) mac(a9) \ - mac(a10) mac(a11) -#define __rep_12(mac, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) \ - mac(a1) mac(a2) mac(a3) mac(a4) mac(a5) mac(a6) mac(a7) mac(a8) mac(a9) \ - mac(a10) mac(a11) mac(a12) -#define __rep_13(mac, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) \ - mac(a1) mac(a2) mac(a3) mac(a4) mac(a5) mac(a6) mac(a7) mac(a8) mac(a9) \ - mac(a10) mac(a11) mac(a12) mac(a13) -#define __rep_14(mac, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, \ - a14) \ - mac(a1) mac(a2) mac(a3) mac(a4) mac(a5) mac(a6) mac(a7) mac(a8) mac(a9) \ - mac(a10) mac(a11) mac(a12) mac(a13) mac(a14) -#define __rep_15(mac, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, \ - a14, a15) \ - mac(a1) mac(a2) mac(a3) mac(a4) mac(a5) mac(a6) mac(a7) mac(a8) mac(a9) \ - mac(a10) mac(a11) mac(a12) mac(a13) mac(a14) mac(a15) -#define __rep_16(mac, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, \ - a14, a15, a16) \ - mac(a1) mac(a2) mac(a3) mac(a4) mac(a5) mac(a6) mac(a7) mac(a8) mac(a9) \ - mac(a10) mac(a11) mac(a12) mac(a13) mac(a14) mac(a15) mac(a16) -#define __rep_17(mac, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, \ - a14, a15, a16, a17) \ - mac(a1) mac(a2) mac(a3) mac(a4) mac(a5) mac(a6) mac(a7) mac(a8) mac(a9) \ - mac(a10) mac(a11) mac(a12) mac(a13) mac(a14) mac(a15) mac(a16) mac(a17) -#define __rep_18(mac, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, \ - a14, a15, a16, a17, a18) \ - mac(a1) mac(a2) mac(a3) mac(a4) mac(a5) mac(a6) mac(a7) mac(a8) mac(a9) \ - mac(a10) mac(a11) mac(a12) mac(a13) mac(a14) mac(a15) mac(a16) mac(a17) \ - mac(a18) -#define __rep_19(mac, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, \ - a14, a15, a16, a17, a18, a19) \ - mac(a1) mac(a2) mac(a3) mac(a4) mac(a5) mac(a6) mac(a7) mac(a8) mac(a9) \ - mac(a10) mac(a11) mac(a12) mac(a13) mac(a14) mac(a15) mac(a16) mac(a17) \ - mac(a18) mac(a19) -#define __rep_20(mac, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, \ - a14, a15, a16, a17, a18, a19, a20) \ - mac(a1) mac(a2) mac(a3) mac(a4) mac(a5) mac(a6) mac(a7) mac(a8) mac(a9) \ - mac(a10) mac(a11) mac(a12) mac(a13) mac(a14) mac(a15) mac(a16) mac(a17) \ - mac(a18) mac(a19) mac(a20) -#define __rep_21(mac, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, \ - a14, a15, a16, a17, a18, a19, a20, a21) \ - mac(a1) mac(a2) mac(a3) mac(a4) mac(a5) mac(a6) mac(a7) mac(a8) mac(a9) \ - mac(a10) mac(a11) mac(a12) mac(a13) mac(a14) mac(a15) mac(a16) mac(a17) \ - mac(a18) mac(a19) mac(a20) mac(a21) -#define __rep_22(mac, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, \ - a14, a15, a16, a17, a18, a19, a20, a21, a22) \ - mac(a1) mac(a2) mac(a3) mac(a4) mac(a5) mac(a6) mac(a7) mac(a8) mac(a9) \ - mac(a10) mac(a11) mac(a12) mac(a13) mac(a14) mac(a15) mac(a16) mac(a17) \ - mac(a18) mac(a19) mac(a20) mac(a21) mac(a22) -#define __rep_23(mac, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, \ - a14, a15, a16, a17, a18, a19, a20, a21, a22, a23) \ - mac(a1) mac(a2) mac(a3) mac(a4) mac(a5) mac(a6) mac(a7) mac(a8) mac(a9) \ - mac(a10) mac(a11) mac(a12) mac(a13) mac(a14) mac(a15) mac(a16) mac(a17) \ - mac(a18) mac(a19) mac(a20) mac(a21) mac(a22) mac(a23) -#define __rep_24(mac, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, \ - a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24) \ - mac(a1) mac(a2) mac(a3) mac(a4) mac(a5) mac(a6) mac(a7) mac(a8) mac(a9) \ - mac(a10) mac(a11) mac(a12) mac(a13) mac(a14) mac(a15) mac(a16) mac(a17) \ - mac(a18) mac(a19) mac(a20) mac(a21) mac(a22) mac(a23) mac(a24) -#define __rep_25(mac, 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) \ - mac(a1) mac(a2) mac(a3) mac(a4) mac(a5) mac(a6) mac(a7) mac(a8) mac(a9) \ - mac(a10) mac(a11) mac(a12) mac(a13) mac(a14) mac(a15) mac(a16) mac(a17) \ - mac(a18) mac(a19) mac(a20) mac(a21) mac(a22) mac(a23) mac(a24) mac(a25) -#define __rep_26(mac, 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) \ - mac(a1) mac(a2) mac(a3) mac(a4) mac(a5) mac(a6) mac(a7) mac(a8) mac(a9) \ - mac(a10) mac(a11) mac(a12) mac(a13) mac(a14) mac(a15) mac(a16) mac(a17) \ - mac(a18) mac(a19) mac(a20) mac(a21) mac(a22) mac(a23) mac(a24) mac(a25) \ - mac(a26) -#define __rep_27(mac, 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) \ - mac(a1) mac(a2) mac(a3) mac(a4) mac(a5) mac(a6) mac(a7) mac(a8) mac(a9) \ - mac(a10) mac(a11) mac(a12) mac(a13) mac(a14) mac(a15) mac(a16) mac(a17) \ - mac(a18) mac(a19) mac(a20) mac(a21) mac(a22) mac(a23) mac(a24) mac(a25) \ - mac(a26) mac(a27) -#define __rep_28(mac, 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) \ - mac(a1) mac(a2) mac(a3) mac(a4) mac(a5) mac(a6) mac(a7) mac(a8) mac(a9) \ - mac(a10) mac(a11) mac(a12) mac(a13) mac(a14) mac(a15) mac(a16) mac(a17) \ - mac(a18) mac(a19) mac(a20) mac(a21) mac(a22) mac(a23) mac(a24) mac(a25) \ - mac(a26) mac(a27) mac(a28) -#define __rep_29(mac, 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) \ - mac(a1) mac(a2) mac(a3) mac(a4) mac(a5) mac(a6) mac(a7) mac(a8) mac(a9) \ - mac(a10) mac(a11) mac(a12) mac(a13) mac(a14) mac(a15) mac(a16) mac(a17) \ - mac(a18) mac(a19) mac(a20) mac(a21) mac(a22) mac(a23) mac(a24) mac(a25) \ - mac(a26) mac(a27) mac(a28) mac(a29) -#define __rep_30(mac, 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) \ - mac(a1) mac(a2) mac(a3) mac(a4) mac(a5) mac(a6) mac(a7) mac(a8) mac(a9) \ - mac(a10) mac(a11) mac(a12) mac(a13) mac(a14) mac(a15) mac(a16) mac(a17) \ - mac(a18) mac(a19) mac(a20) mac(a21) mac(a22) mac(a23) mac(a24) mac(a25) \ - mac(a26) mac(a27) mac(a28) mac(a29) mac(a30) -#define __rep_31(mac, 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) \ - mac(a1) mac(a2) mac(a3) mac(a4) mac(a5) mac(a6) mac(a7) mac(a8) mac(a9) \ - mac(a10) mac(a11) mac(a12) mac(a13) mac(a14) mac(a15) mac(a16) mac(a17) \ - mac(a18) mac(a19) mac(a20) mac(a21) mac(a22) mac(a23) mac(a24) mac(a25) \ - mac(a26) mac(a27) mac(a28) mac(a29) mac(a30) mac(a31) -#define __rep_32(mac, 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) \ - mac(a1) mac(a2) mac(a3) mac(a4) mac(a5) mac(a6) mac(a7) mac(a8) mac(a9) \ - mac(a10) mac(a11) mac(a12) mac(a13) mac(a14) mac(a15) mac(a16) mac(a17) \ - mac(a18) mac(a19) mac(a20) mac(a21) mac(a22) mac(a23) mac(a24) mac(a25) \ - mac(a26) mac(a27) mac(a28) mac(a29) mac(a30) mac(a31) mac(a32) #define __repi_1(mac1, mac2, a1) \ mac1(a1) @@ -329,7 +194,7 @@ mac2(a30) mac2(a31) mac2(a32) #define __varexpand_simple(mac, ...) \ - __xcat(__rep_, __narg(__VA_ARGS__)) (mac, __VA_ARGS__) + __xcat(__repi_, __narg(__VA_ARGS__)) (mac, mac, __VA_ARGS__) #define __varexpand_infix(mac1, mac2, ...) \ __xcat(__repi_, __narg(__VA_ARGS__)) (mac1, mac2, __VA_ARGS__) |