diff options
Diffstat (limited to 'test/external/metalang99/examples/overload.c')
| -rw-r--r-- | test/external/metalang99/examples/overload.c | 15 |
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) {} |