drop alloca #define
(Because GNU's alloca.h unconditionally #undef's alloca) Also, remove gcc specific sections in headers. and instead change tests such that gcc does not use them.
This commit is contained in:
@ -2,9 +2,6 @@
|
||||
#define _STDARG_H
|
||||
|
||||
#ifdef __x86_64__
|
||||
|
||||
#ifdef __TINYC__
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
/* GCC compatible definition of va_list. */
|
||||
@ -53,19 +50,6 @@ typedef struct __va_list_struct *va_list;
|
||||
|
||||
#else
|
||||
|
||||
/* for GNU C */
|
||||
|
||||
typedef __builtin_va_list va_list;
|
||||
|
||||
#define va_start(ap, last) __builtin_va_start(ap, last)
|
||||
#define va_arg(ap, type) __builtin_va_arg(ap, type)
|
||||
#define va_copy(dest, src) __builtin_va_copy(dest, src)
|
||||
#define va_end(ap) __builtin_va_end(ap)
|
||||
|
||||
#endif
|
||||
|
||||
#else
|
||||
|
||||
typedef char *va_list;
|
||||
|
||||
/* only correct for i386 */
|
||||
|
||||
@ -7,10 +7,7 @@ typedef __WCHAR_TYPE__ wchar_t;
|
||||
typedef __PTRDIFF_TYPE__ ptrdiff_t;
|
||||
#define offsetof(type, field) ((size_t) &((type *)0)->field)
|
||||
|
||||
/* need to do that because of glibc 2.1 bug (should have a way to test
|
||||
presence of 'long long' without __GNUC__, or TCC should define
|
||||
__GNUC__ ? */
|
||||
#if !defined(__int8_t_defined) && !defined(__dietlibc__)
|
||||
#ifndef __int8_t_defined
|
||||
#define __int8_t_defined
|
||||
typedef char int8_t;
|
||||
typedef short int int16_t;
|
||||
@ -18,9 +15,6 @@ typedef int int32_t;
|
||||
typedef long long int int64_t;
|
||||
#endif
|
||||
|
||||
#ifdef __i386__
|
||||
void *_alloca(size_t);
|
||||
#define alloca _alloca
|
||||
#endif
|
||||
void *alloca(size_t size);
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user