fixes 5c35ba66c5ade4713bbd9c005e66889f6d7db293 Implementation was consistent within tcc but incompatible with the ABI (for example library functions vprintf etc) Also: - tccpp.c/get_tok_str() : avoid "unknown format "%llu" warning - x86_64_gen.c/gen_vla_alloc() : fix vstack leak
Showing the changes to include (1 of 5 files). Show all
Unified · Split
| @@ -30,7 +30,8 @@ void *__va_arg(__va_list_struct *ap, int arg_type, int size, int align); · 29 unmodified lines | |||
| 30 | #else /* _WIN64 */ | 30 | #else /* _WIN64 */ |
| 31 | typedef char *va_list; | 31 | typedef char *va_list; |
| 32 | #define va_start(ap,last) __builtin_va_start(ap,last) | 32 | #define va_start(ap,last) __builtin_va_start(ap,last) |
| 33 | #define va_arg(ap,type) (ap += 8, sizeof(type)<=8 ? *(type*)ap : **(type**)ap) | 33 | #define va_arg(ap, t) ((sizeof(t) > 8 || (sizeof(t) & (sizeof(t) - 1))) \ |
| 34 | ? **(t **)((ap += 8) - 8) : *(t *)((ap += 8) - 8)) | ||
| 34 | #define va_copy(dest, src) ((dest) = (src)) | 35 | #define va_copy(dest, src) ((dest) = (src)) |
| 35 | #define va_end(ap) | 36 | #define va_end(ap) |
| 36 | #endif | 37 | #endif |