Unified · Split
| @@ -1,20 +1,28 @@ | |||
| 1 | #ifndef _STDDEF_H | 1 | #ifndef _STDDEF_H |
| 2 | #define _STDDEF_H | 2 | #define _STDDEF_H |
| 3 | 3 | ||
| 4 | #define NULL ((void *)0) | ||
| 5 | typedef __SIZE_TYPE__ size_t; | 4 | typedef __SIZE_TYPE__ size_t; |
| 5 | typedef __PTRDIFF_TYPE__ ssize_t; | ||
| 6 | typedef __WCHAR_TYPE__ wchar_t; | 6 | typedef __WCHAR_TYPE__ wchar_t; |
| 7 | typedef __PTRDIFF_TYPE__ ptrdiff_t; | 7 | typedef __PTRDIFF_TYPE__ ptrdiff_t; |
| 8 | #define offsetof(type, field) ((size_t) &((type *)0)->field) | 8 | typedef __PTRDIFF_TYPE__ intptr_t; |
| 9 | typedef __SIZE_TYPE__ uintptr_t; | ||
| 9 | 10 | ||
| 10 | #ifndef __int8_t_defined | 11 | #ifndef __int8_t_defined |
| 11 | #define __int8_t_defined | 12 | #define __int8_t_defined |
| 12 | typedef char int8_t; | 13 | typedef signed char int8_t; |
| 13 | typedef short int int16_t; | 14 | typedef signed short int int16_t; |
| 14 | typedef int int32_t; | 15 | typedef signed int int32_t; |
| 15 | typedef long long int int64_t; | 16 | typedef signed long long int int64_t; |
| 17 | typedef unsigned char uint8_t; | ||
| 18 | typedef unsigned short int uint16_t; | ||
| 19 | typedef unsigned int uint32_t; | ||
| 20 | typedef unsigned long long int uint64_t; | ||
| 16 | #endif | 21 | #endif |
| 17 | 22 | ||
| 23 | #define NULL ((void *)0) | ||
| 24 | #define offsetof(type, field) ((size_t)&((type *)0)->field) | ||
| 25 | |||
| 18 | void *alloca(size_t size); | 26 | void *alloca(size_t size); |
| 19 | 27 | ||
| 20 | #endif | 28 | #endif |
| @@ -886,9 +886,9 @@ LIBTCCAPI TCCState *tcc_new(void) · 885 unmodified lines | |||
| 886 | tcc_define_symbol(s, "__STDC__", NULL); | 886 | tcc_define_symbol(s, "__STDC__", NULL); |
| 887 | tcc_define_symbol(s, "__STDC_VERSION__", "199901L"); | 887 | tcc_define_symbol(s, "__STDC_VERSION__", "199901L"); |
| 888 | #if defined(TCC_TARGET_I386) | 888 | #if defined(TCC_TARGET_I386) |
| 889 | tcc_define_symbol(s, "__i386__", "1"); | 889 | tcc_define_symbol(s, "__i386__", NULL); |
| 890 | tcc_define_symbol(s, "__i386", "1"); | 890 | tcc_define_symbol(s, "__i386", NULL); |
| 891 | tcc_define_symbol(s, "i386", "1"); | 891 | tcc_define_symbol(s, "i386", NULL); |
| 892 | #endif | 892 | #endif |
| 893 | #if defined(TCC_TARGET_X86_64) | 893 | #if defined(TCC_TARGET_X86_64) |
| 894 | tcc_define_symbol(s, "__x86_64__", NULL); | 894 | tcc_define_symbol(s, "__x86_64__", NULL); |
| @@ -909,13 +909,12 @@ LIBTCCAPI TCCState *tcc_new(void) · 14 unmodified lines | |||
| 909 | tcc_define_symbol(s, "_WIN64", NULL); | 909 | tcc_define_symbol(s, "_WIN64", NULL); |
| 910 | #endif | 910 | #endif |
| 911 | #else | 911 | #else |
| 912 | tcc_define_symbol(s, "__unix__", "1"); | 912 | tcc_define_symbol(s, "__unix__", NULL); |
| 913 | tcc_define_symbol(s, "__unix", "1"); | 913 | tcc_define_symbol(s, "__unix", NULL); |
| 914 | tcc_define_symbol(s, "unix", "1"); | 914 | tcc_define_symbol(s, "unix", NULL); |
| 915 | #if defined(__FreeBSD__) | 915 | #if defined(__FreeBSD__) |
| 916 | #define str(s) #s | 916 | #define str(s) #s |
| 917 | tcc_define_symbol(s, "__FreeBSD__", str( __FreeBSD__)); | 917 | tcc_define_symbol(s, "__FreeBSD__", str( __FreeBSD__)); |
| 918 | tcc_define_symbol(s, "__INTEL_COMPILER", "1"); | ||
| 919 | #undef str | 918 | #undef str |
| 920 | #endif | 919 | #endif |
| 921 | #if defined(__linux) | 920 | #if defined(__linux) |
| @@ -929,8 +928,14 @@ LIBTCCAPI TCCState *tcc_new(void) · 7 unmodified lines | |||
| 929 | tcc_define_symbol(s, "__TINYC__", buffer); | 928 | tcc_define_symbol(s, "__TINYC__", buffer); |
| 930 | 929 | ||
| 931 | /* tiny C & gcc defines */ | 930 | /* tiny C & gcc defines */ |
| 931 | #if defined TCC_TARGET_PE && defined TCC_TARGET_X86_64 | ||
| 932 | tcc_define_symbol(s, "__SIZE_TYPE__", "unsigned long long"); | ||
| 933 | tcc_define_symbol(s, "__PTRDIFF_TYPE__", "long long"); | ||
| 934 | #else | ||
| 932 | tcc_define_symbol(s, "__SIZE_TYPE__", "unsigned long"); | 935 | tcc_define_symbol(s, "__SIZE_TYPE__", "unsigned long"); |
| 933 | tcc_define_symbol(s, "__PTRDIFF_TYPE__", "long"); | 936 | tcc_define_symbol(s, "__PTRDIFF_TYPE__", "long"); |
| 937 | #endif | ||
| 938 | |||
| 934 | #ifdef TCC_TARGET_PE | 939 | #ifdef TCC_TARGET_PE |
| 935 | tcc_define_symbol(s, "__WCHAR_TYPE__", "unsigned short"); | 940 | tcc_define_symbol(s, "__WCHAR_TYPE__", "unsigned short"); |
| 936 | #else | 941 | #else |
| @@ -58,28 +58,27 @@ · 57 unmodified lines | |||
| 58 | #define _CRT_WIDE(_String) __CRT_WIDE(_String) | 58 | #define _CRT_WIDE(_String) __CRT_WIDE(_String) |
| 59 | 59 | ||
| 60 | #ifdef _WIN64 | 60 | #ifdef _WIN64 |
| 61 | # define _INTEGRAL_MAX_BITS 64 | 61 | #define __stdcall |
| 62 | typedef __int64 intptr_t; | 62 | #define _AMD64_ 1 |
| 63 | typedef __int64 ptrdiff_t; | 63 | #define __x86_64 1 |
| 64 | typedef unsigned __int64 uintptr_t; | 64 | #define USE_MINGW_SETJMP_TWO_ARGS |
| 65 | # define __stdcall | 65 | #define mingw_getsp tinyc_getbp |
| 66 | # define _AMD64_ 1 | ||
| 67 | # define __x86_64 1 | ||
| 68 | # define USE_MINGW_SETJMP_TWO_ARGS | ||
| 69 | # define mingw_getsp tinyc_getbp | ||
| 70 | #else | 66 | #else |
| 71 | # define _INTEGRAL_MAX_BITS 32 | 67 | #define __stdcall __attribute__((__stdcall__)) |
| 72 | typedef __int32 intptr_t; | 68 | #define _X86_ 1 |
| 73 | typedef __int32 ptrdiff_t; | 69 | #define WIN32 1 |
| 74 | typedef unsigned __int32 uintptr_t; | 70 | #define _USE_32BIT_TIME_T |
| 75 | # define __stdcall __attribute__((__stdcall__)) | ||
| 76 | # define _X86_ 1 | ||
| 77 | # define WIN32 1 | ||
| 78 | # define _USE_32BIT_TIME_T | ||
| 79 | #endif | 71 | #endif |
| 72 | |||
| 73 | /* in stddef.h */ | ||
| 74 | #define _SIZE_T_DEFINED | ||
| 75 | #define _SSIZE_T_DEFINED | ||
| 76 | #define _PTRDIFF_T_DEFINED | ||
| 77 | #define _WCHAR_T_DEFINED | ||
| 80 | #define _UINTPTR_T_DEFINED | 78 | #define _UINTPTR_T_DEFINED |
| 81 | #define _INTPTR_T_DEFINED | 79 | #define _INTPTR_T_DEFINED |
| 82 | #define _PTRDIFF_T_DEFINED | 80 | |
| 81 | #define _INTEGRAL_MAX_BITS 64 | ||
| 83 | 82 | ||
| 84 | typedef long __time32_t; | 83 | typedef long __time32_t; |
| 85 | #define _TIME32_T_DEFINED | 84 | #define _TIME32_T_DEFINED |