aboutsummaryrefslogtreecommitdiffstats
path: root/cppawk-include/case-priv.h
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2022-03-28 07:18:19 -0700
committerKaz Kylheku <kaz@kylheku.com>2022-03-28 07:18:19 -0700
commit307209981bb26d3472f5eea98b4174278a1ada0e (patch)
tree60860d220d9d02983c7c58233fc547d5a94c226d /cppawk-include/case-priv.h
parenta215e15e32255c7c48a6c5a52fda1199da1235f9 (diff)
downloadcppawk-307209981bb26d3472f5eea98b4174278a1ada0e.tar.gz
cppawk-307209981bb26d3472f5eea98b4174278a1ada0e.tar.bz2
cppawk-307209981bb26d3472f5eea98b4174278a1ada0e.zip
Simplify definition of variadic macros.
Diffstat (limited to 'cppawk-include/case-priv.h')
-rw-r--r--cppawk-include/case-priv.h14
1 files changed, 6 insertions, 8 deletions
diff --git a/cppawk-include/case-priv.h b/cppawk-include/case-priv.h
index 863fd00..e0572ba 100644
--- a/cppawk-include/case-priv.h
+++ b/cppawk-include/case-priv.h
@@ -42,10 +42,8 @@
#define __case_temps __ign
#define __case(expr) switch (expr)
-#define __of(...) __xcat(__rep_, __narg(__VA_ARGS__))(__casx, \
- __VA_ARGS__) {{{
-#define __matching(...) __xcat(__rep_, __narg(__VA_ARGS__))(__casx, \
- __VA_ARGS__) {{{
+#define __of(...) __varexpand_simple(__casx, __VA_ARGS__) {{{
+#define __matching(...) __varexpand_simple(__casx, __VA_ARGS__) {{{
#define __cbreak break; }}}
#define __cfall }}}
#define __cret(val) return val; }}}
@@ -63,10 +61,10 @@
#define __case(expr) for ((__once = 1) && (__pass = 0) || (__val = expr); \
__once; \
__once = 0)
-#define __of(...) __clause(__xcat(__repi_, __narg(__VA_ARGS__)) \
- (__of_first, __of_next, __VA_ARGS__)) {{{
-#define __matching(...) __clause(__xcat(__repi_, __narg(__VA_ARGS__)) \
- (__mtch_first, __mtch_next, __VA_ARGS__)) {{{
+#define __of(...) __clause(__varexpand_infix(__of_first, __of_next, \
+ __VA_ARGS__)) {{{
+#define __matching(...) __clause(__varexpand_infix(__mtch_first, mtch_next, \
+ __VA_ARGS__)) {{{
#define __cbreak break; }}}
#define __creturn(val) return val; }}}
#define __cfall }}}