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  }