github.com/gotranspile/cxgo@v0.3.7/libs/stdarg.go (about) 1 package libs 2 3 const ( 4 StdargH = "stdarg.h" 5 ) 6 7 func init() { 8 RegisterLibrary(StdargH, func(c *Env) *Library { 9 // all types and method are define as builtins, so only macros here 10 l := &Library{ 11 Header: ` 12 #include <` + BuiltinH + `> 13 `, 14 Imports: map[string]string{ 15 "libc": RuntimeLibc, 16 }, 17 } 18 l.Header += ` 19 #define va_list __builtin_va_list 20 #define va_start(va, t) va.Start(t, _rest) 21 #define va_arg(va, typ) (typ)(va.Arg()) 22 #define va_end(va) va.End() 23 #define va_copy(dst, src) __builtin_va_copy(dst, src) 24 ` 25 return l 26 }) 27 }