| 1234567891011121314151617181920212223242526272829303132333435 |
- export
- function d $f(l %x, ...) {
- @start
- %vp =l alloc8 32
- vastart %vp
- %i =l vaarg %vp
- %n =d vaarg %vp
- ret %n
- }
- export
- function w $g(l %fmt, ...) {
- @start
- %vp =l alloc8 32
- vastart %vp
- %r =w call $print(l %fmt, l %vp)
- ret %r
- }
- # >>> driver
- # #include <stdarg.h>
- # #include <stdio.h>
- # extern double f(int, ...);
- # extern int g(char *, ...);
- # int print(const char *fmt, va_list *ap) {
- # return vprintf(fmt, *ap);
- # }
- # int main() {
- # g("Hell%c %s %g!\n", 'o', "world", f(42, "x", 42.0));
- # }
- # <<<
- # >>> output
- # Hello world 42!
- # <<<
|