diff options
| author | Steffen Nurpmeso <steffen@sdaoden.eu> | 2017-09-30 00:11:59 +0200 |
|---|---|---|
| committer | Steffen Nurpmeso <steffen@sdaoden.eu> | 2017-09-30 16:11:54 +0200 |
| commit | a1c90513131164500f503108a845fee1e8632cc6 (patch) | |
| tree | 469355f7e0738897c631b884429bd3bae55d50e4 | |
| parent | 2e5751caf120dc4d86f9a727fb56db12202b59cd (diff) | |
| download | tinycc-a1c90513131164500f503108a845fee1e8632cc6.tar.gz tinycc-a1c90513131164500f503108a845fee1e8632cc6.tar.bz2 | |
Adjust va_list to work with musl
| -rw-r--r-- | include/stdarg.h | 3 | ||||
| -rw-r--r-- | libtcc.c | 6 |
2 files changed, 7 insertions, 2 deletions
diff --git a/include/stdarg.h b/include/stdarg.h index 9adfc61..a42acae 100644 --- a/include/stdarg.h +++ b/include/stdarg.h @@ -17,8 +17,9 @@ typedef struct { } __va_list_struct; /* Avoid conflicting definition for va_list on musl libc */ -#ifndef __DEFINED_va_list +#if !defined __DEFINED_va_list || defined __TCC_NEEDS_va_list typedef __va_list_struct va_list[1]; +#undef __DEFINED_va_list #define __DEFINED_va_list #endif @@ -854,7 +854,11 @@ LIBTCCAPI TCCState *tcc_new(void) #endif #if defined(TCC_MUSL) - tcc_define_symbol(s, "__builtin_va_list", "void *"); + tcc_define_symbol(s, "__TCC_NEEDS_va_list", ""); + tcc_define_symbol(s, "__builtin_va_list", "va_list"); + tcc_define_symbol(s, "__DEFINED_va_list", ""); + tcc_define_symbol(s, "__DEFINED___isoc_va_list", ""); + tcc_define_symbol(s, "__isoc_va_list", "void *"); #endif /* TCC_MUSL */ #ifdef TCC_TARGET_PE |
