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:
grischka
2009-05-16 22:30:13 +02:00
parent 68310299b6
commit 110a4edc15
10 changed files with 27 additions and 37 deletions

View File

@ -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 */

View File

@ -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