win64: defined size_t and ptrdiff_t to unsigned long long
This commit is contained in:
		
							parent
							
								
									b0abcfde9d
								
							
						
					
					
						commit
						e20bf69ac5
					
				
					 3 changed files with 43 additions and 31 deletions
				
			
		|  | @ -1,20 +1,28 @@ | ||||||
| #ifndef _STDDEF_H | #ifndef _STDDEF_H | ||||||
| #define _STDDEF_H | #define _STDDEF_H | ||||||
| 
 | 
 | ||||||
| #define NULL ((void *)0) |  | ||||||
| typedef __SIZE_TYPE__ size_t; | typedef __SIZE_TYPE__ size_t; | ||||||
|  | typedef __PTRDIFF_TYPE__ ssize_t; | ||||||
| typedef __WCHAR_TYPE__ wchar_t; | typedef __WCHAR_TYPE__ wchar_t; | ||||||
| typedef __PTRDIFF_TYPE__ ptrdiff_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 | #ifndef __int8_t_defined | ||||||
| #define __int8_t_defined | #define __int8_t_defined | ||||||
| typedef char int8_t; | typedef signed char int8_t; | ||||||
| typedef short int int16_t; | typedef signed short int int16_t; | ||||||
| typedef int int32_t; | typedef signed int int32_t; | ||||||
| typedef long long int int64_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 | #endif | ||||||
| 
 | 
 | ||||||
|  | #define NULL ((void *)0) | ||||||
|  | #define offsetof(type, field) ((size_t)&((type *)0)->field) | ||||||
|  | 
 | ||||||
| void *alloca(size_t size); | void *alloca(size_t size); | ||||||
| 
 | 
 | ||||||
| #endif | #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__", NULL); | ||||||
|     tcc_define_symbol(s, "__STDC_VERSION__", "199901L"); |     tcc_define_symbol(s, "__STDC_VERSION__", "199901L"); | ||||||
| #if defined(TCC_TARGET_I386) | #if defined(TCC_TARGET_I386) | ||||||
|     tcc_define_symbol(s, "__i386__", "1"); |     tcc_define_symbol(s, "__i386__", NULL); | ||||||
|     tcc_define_symbol(s, "__i386", "1"); |     tcc_define_symbol(s, "__i386", NULL); | ||||||
|     tcc_define_symbol(s, "i386", "1"); |     tcc_define_symbol(s, "i386", NULL); | ||||||
| #endif | #endif | ||||||
| #if defined(TCC_TARGET_X86_64) | #if defined(TCC_TARGET_X86_64) | ||||||
|     tcc_define_symbol(s, "__x86_64__", NULL); |     tcc_define_symbol(s, "__x86_64__", NULL); | ||||||
|  | @ -909,13 +909,12 @@ LIBTCCAPI TCCState *tcc_new(void) | ||||||
|     tcc_define_symbol(s, "_WIN64", NULL); |     tcc_define_symbol(s, "_WIN64", NULL); | ||||||
| #endif | #endif | ||||||
| #else | #else | ||||||
|     tcc_define_symbol(s, "__unix__", "1"); |     tcc_define_symbol(s, "__unix__", NULL); | ||||||
|     tcc_define_symbol(s, "__unix", "1"); |     tcc_define_symbol(s, "__unix", NULL); | ||||||
|     tcc_define_symbol(s, "unix", "1"); |     tcc_define_symbol(s, "unix", NULL); | ||||||
| #if defined(__FreeBSD__) | #if defined(__FreeBSD__) | ||||||
| #define str(s) #s | #define str(s) #s | ||||||
|     tcc_define_symbol(s, "__FreeBSD__", str( __FreeBSD__)); |     tcc_define_symbol(s, "__FreeBSD__", str( __FreeBSD__)); | ||||||
|     tcc_define_symbol(s, "__INTEL_COMPILER", "1"); |  | ||||||
| #undef str | #undef str | ||||||
| #endif | #endif | ||||||
| #if defined(__linux) | #if defined(__linux) | ||||||
|  | @ -929,8 +928,14 @@ LIBTCCAPI TCCState *tcc_new(void) | ||||||
|     tcc_define_symbol(s, "__TINYC__", buffer); |     tcc_define_symbol(s, "__TINYC__", buffer); | ||||||
| 
 | 
 | ||||||
|     /* tiny C & gcc defines */ |     /* 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, "__SIZE_TYPE__", "unsigned long"); | ||||||
|     tcc_define_symbol(s, "__PTRDIFF_TYPE__", "long"); |     tcc_define_symbol(s, "__PTRDIFF_TYPE__", "long"); | ||||||
|  | #endif | ||||||
|  | 
 | ||||||
| #ifdef TCC_TARGET_PE | #ifdef TCC_TARGET_PE | ||||||
|     tcc_define_symbol(s, "__WCHAR_TYPE__", "unsigned short"); |     tcc_define_symbol(s, "__WCHAR_TYPE__", "unsigned short"); | ||||||
| #else | #else | ||||||
|  |  | ||||||
|  | @ -58,28 +58,27 @@ | ||||||
| #define _CRT_WIDE(_String) __CRT_WIDE(_String) | #define _CRT_WIDE(_String) __CRT_WIDE(_String) | ||||||
| 
 | 
 | ||||||
| #ifdef _WIN64 | #ifdef _WIN64 | ||||||
| # define _INTEGRAL_MAX_BITS 64 | #define __stdcall | ||||||
| typedef __int64 intptr_t; | #define _AMD64_ 1 | ||||||
| typedef __int64 ptrdiff_t; | #define __x86_64 1 | ||||||
| typedef unsigned __int64 uintptr_t; | #define USE_MINGW_SETJMP_TWO_ARGS | ||||||
| # define __stdcall | #define mingw_getsp tinyc_getbp | ||||||
| # define _AMD64_ 1 |  | ||||||
| # define __x86_64 1 |  | ||||||
| # define USE_MINGW_SETJMP_TWO_ARGS |  | ||||||
| # define mingw_getsp tinyc_getbp |  | ||||||
| #else | #else | ||||||
| # define _INTEGRAL_MAX_BITS 32 | #define __stdcall __attribute__((__stdcall__)) | ||||||
| typedef __int32 intptr_t; | #define _X86_ 1 | ||||||
| typedef __int32 ptrdiff_t; | #define WIN32 1 | ||||||
| typedef unsigned __int32 uintptr_t; | #define _USE_32BIT_TIME_T | ||||||
| # define __stdcall __attribute__((__stdcall__)) |  | ||||||
| # define _X86_ 1 |  | ||||||
| # define WIN32 1 |  | ||||||
| # define _USE_32BIT_TIME_T |  | ||||||
| #endif | #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 _UINTPTR_T_DEFINED | ||||||
| #define _INTPTR_T_DEFINED | #define _INTPTR_T_DEFINED | ||||||
| #define _PTRDIFF_T_DEFINED | 
 | ||||||
|  | #define _INTEGRAL_MAX_BITS 64 | ||||||
| 
 | 
 | ||||||
| typedef long __time32_t; | typedef long __time32_t; | ||||||
| #define _TIME32_T_DEFINED | #define _TIME32_T_DEFINED | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue