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 | ||||
| #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 | ||||
| #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 | ||||
| #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…
	
	Add table
		
		Reference in a new issue