mirror of
https://github.com/frida/tinycc
synced 2025-01-16 08:19:31 +03:00
win64: defined size_t and ptrdiff_t to unsigned long long
This commit is contained in:
parent
b0abcfde9d
commit
e20bf69ac5
@ -1,20 +1,28 @@
|
||||
#ifndef _STDDEF_H
|
||||
#define _STDDEF_H
|
||||
|
||||
#define NULL ((void *)0)
|
||||
typedef __SIZE_TYPE__ size_t;
|
||||
typedef __PTRDIFF_TYPE__ ssize_t;
|
||||
typedef __WCHAR_TYPE__ wchar_t;
|
||||
typedef __PTRDIFF_TYPE__ ptrdiff_t;
|
||||
#define offsetof(type, field) ((size_t) &((type *)0)->field)
|
||||
typedef __PTRDIFF_TYPE__ intptr_t;
|
||||
typedef __SIZE_TYPE__ uintptr_t;
|
||||
|
||||
#ifndef __int8_t_defined
|
||||
#define __int8_t_defined
|
||||
typedef char int8_t;
|
||||
typedef short int int16_t;
|
||||
typedef int int32_t;
|
||||
typedef long long int int64_t;
|
||||
typedef signed char int8_t;
|
||||
typedef signed short int int16_t;
|
||||
typedef signed int int32_t;
|
||||
typedef signed long long int int64_t;
|
||||
typedef unsigned char uint8_t;
|
||||
typedef unsigned short int uint16_t;
|
||||
typedef unsigned int uint32_t;
|
||||
typedef unsigned long long int uint64_t;
|
||||
#endif
|
||||
|
||||
#define NULL ((void *)0)
|
||||
#define offsetof(type, field) ((size_t)&((type *)0)->field)
|
||||
|
||||
void *alloca(size_t size);
|
||||
|
||||
#endif
|
||||
|
19
libtcc.c
19
libtcc.c
@ -886,9 +886,9 @@ LIBTCCAPI TCCState *tcc_new(void)
|
||||
tcc_define_symbol(s, "__STDC__", NULL);
|
||||
tcc_define_symbol(s, "__STDC_VERSION__", "199901L");
|
||||
#if defined(TCC_TARGET_I386)
|
||||
tcc_define_symbol(s, "__i386__", "1");
|
||||
tcc_define_symbol(s, "__i386", "1");
|
||||
tcc_define_symbol(s, "i386", "1");
|
||||
tcc_define_symbol(s, "__i386__", NULL);
|
||||
tcc_define_symbol(s, "__i386", NULL);
|
||||
tcc_define_symbol(s, "i386", NULL);
|
||||
#endif
|
||||
#if defined(TCC_TARGET_X86_64)
|
||||
tcc_define_symbol(s, "__x86_64__", NULL);
|
||||
@ -909,13 +909,12 @@ LIBTCCAPI TCCState *tcc_new(void)
|
||||
tcc_define_symbol(s, "_WIN64", NULL);
|
||||
#endif
|
||||
#else
|
||||
tcc_define_symbol(s, "__unix__", "1");
|
||||
tcc_define_symbol(s, "__unix", "1");
|
||||
tcc_define_symbol(s, "unix", "1");
|
||||
tcc_define_symbol(s, "__unix__", NULL);
|
||||
tcc_define_symbol(s, "__unix", NULL);
|
||||
tcc_define_symbol(s, "unix", NULL);
|
||||
#if defined(__FreeBSD__)
|
||||
#define str(s) #s
|
||||
tcc_define_symbol(s, "__FreeBSD__", str( __FreeBSD__));
|
||||
tcc_define_symbol(s, "__INTEL_COMPILER", "1");
|
||||
#undef str
|
||||
#endif
|
||||
#if defined(__linux)
|
||||
@ -929,8 +928,14 @@ LIBTCCAPI TCCState *tcc_new(void)
|
||||
tcc_define_symbol(s, "__TINYC__", buffer);
|
||||
|
||||
/* tiny C & gcc defines */
|
||||
#if defined TCC_TARGET_PE && defined TCC_TARGET_X86_64
|
||||
tcc_define_symbol(s, "__SIZE_TYPE__", "unsigned long long");
|
||||
tcc_define_symbol(s, "__PTRDIFF_TYPE__", "long long");
|
||||
#else
|
||||
tcc_define_symbol(s, "__SIZE_TYPE__", "unsigned long");
|
||||
tcc_define_symbol(s, "__PTRDIFF_TYPE__", "long");
|
||||
#endif
|
||||
|
||||
#ifdef TCC_TARGET_PE
|
||||
tcc_define_symbol(s, "__WCHAR_TYPE__", "unsigned short");
|
||||
#else
|
||||
|
@ -58,28 +58,27 @@
|
||||
#define _CRT_WIDE(_String) __CRT_WIDE(_String)
|
||||
|
||||
#ifdef _WIN64
|
||||
# define _INTEGRAL_MAX_BITS 64
|
||||
typedef __int64 intptr_t;
|
||||
typedef __int64 ptrdiff_t;
|
||||
typedef unsigned __int64 uintptr_t;
|
||||
# define __stdcall
|
||||
# define _AMD64_ 1
|
||||
# define __x86_64 1
|
||||
# define USE_MINGW_SETJMP_TWO_ARGS
|
||||
# define mingw_getsp tinyc_getbp
|
||||
#define __stdcall
|
||||
#define _AMD64_ 1
|
||||
#define __x86_64 1
|
||||
#define USE_MINGW_SETJMP_TWO_ARGS
|
||||
#define mingw_getsp tinyc_getbp
|
||||
#else
|
||||
# define _INTEGRAL_MAX_BITS 32
|
||||
typedef __int32 intptr_t;
|
||||
typedef __int32 ptrdiff_t;
|
||||
typedef unsigned __int32 uintptr_t;
|
||||
# define __stdcall __attribute__((__stdcall__))
|
||||
# define _X86_ 1
|
||||
# define WIN32 1
|
||||
# define _USE_32BIT_TIME_T
|
||||
#define __stdcall __attribute__((__stdcall__))
|
||||
#define _X86_ 1
|
||||
#define WIN32 1
|
||||
#define _USE_32BIT_TIME_T
|
||||
#endif
|
||||
|
||||
/* in stddef.h */
|
||||
#define _SIZE_T_DEFINED
|
||||
#define _SSIZE_T_DEFINED
|
||||
#define _PTRDIFF_T_DEFINED
|
||||
#define _WCHAR_T_DEFINED
|
||||
#define _UINTPTR_T_DEFINED
|
||||
#define _INTPTR_T_DEFINED
|
||||
#define _PTRDIFF_T_DEFINED
|
||||
|
||||
#define _INTEGRAL_MAX_BITS 64
|
||||
|
||||
typedef long __time32_t;
|
||||
#define _TIME32_T_DEFINED
|
||||
|
Loading…
Reference in New Issue
Block a user