stdarg: always have the __builtin_va_* available
commit245f6a0d1392a2862a0a1d2f3705197f92452569
authorMichael Matz <matz@suse.de>
Mon, 25 Dec 2017 20:32:27 +0000 (25 21:32 +0100)
committerMichael Matz <matz@suse.de>
Wed, 15 Apr 2020 20:06:52 +0000 (15 22:06 +0200)
treea2d16ba9a0305a643b695df785e018c8eb2a3c00
parent8c6143d86f72366ae246252c1b693c843d4e2a43
stdarg: always have the __builtin_va_* available

This makes available the __builtin_va_list type and __builtin variants
of va_start, va_arg, va_copy and va_end.  We do this via a header file
that's prepended to all compilations always (except if merely
preprocessing): tcc_predefs.h.  That header could also be used
for predefining other builtins in the future.

We don't need the define hacks for musl anymore with this.

Also fix x86_64 gfunc_prologue to reserve enoug space for the
full va_list structure, not just 16 bytes.
include/stdarg.h
include/tcc_predefs.h [new file with mode: 0644]
lib/va_list.c
libtcc.c
tccgen.c
tccpp.c
tcctok.h
x86_64-gen.c