aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/external/metalang99/examples/overload.c
diff options
context:
space:
mode:
Diffstat (limited to 'test/external/metalang99/examples/overload.c')
-rw-r--r--test/external/metalang99/examples/overload.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/test/external/metalang99/examples/overload.c b/test/external/metalang99/examples/overload.c
new file mode 100644
index 0000000..8b5d6fd
--- /dev/null
+++ b/test/external/metalang99/examples/overload.c
@@ -0,0 +1,15 @@
+#include <metalang99.h>
+
+typedef struct {
+ double width, height;
+} Rect;
+
+#define Rect_new(...) ML99_OVERLOAD(Rect_new_, __VA_ARGS__)
+#define Rect_new_1(x) \
+ { x, x }
+#define Rect_new_2(x, y) \
+ { x, y }
+
+static Rect _7x8 = Rect_new(7, 8), _10x10 = Rect_new(10);
+
+int main(void) {}