4 * This file is for TinyCC and not part of the Mingw32 package.
6 * THIS SOFTWARE IS NOT COPYRIGHTED
8 * This source code is offered for use in the public domain. You may
9 * use, modify or distribute it freely.
11 * This code is distributed in the hope that it will be useful but
12 * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
13 * DISCLAIMED. This includes but is not limited to warranties of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
21 /* some winapi files define these before including _mingw.h --> */
33 #define __int64 long long
37 #define __declspec(x) __attribute__((x))
38 #define __unaligned __attribute__((packed))
39 #define __fastcall __attribute__((fastcall))
43 #define __MINGW_IMPORT extern __declspec(dllimport)
44 #define __MINGW_ATTRIB_NORETURN
45 #define __MINGW_ATTRIB_CONST
46 #define __MINGW_ATTRIB_DEPRECATED
47 #define __MINGW_ATTRIB_MALLOC
48 #define __MINGW_ATTRIB_PURE
49 #define __MINGW_ATTRIB_NONNULL(arg)
50 #define __MINGW_NOTHROW
51 #define __GNUC_VA_LIST
53 #define _CRTIMP extern
54 #define __CRT_INLINE static __inline__
56 #define _CRT_ALIGN(x) __attribute__((aligned(x)))
57 #define DECLSPEC_ALIGN(x) __attribute__((aligned(x)))
58 #define _CRT_PACKING 8
59 #define __CRT_UNALIGNED
63 #define _TRUNCATE ((size_t)-1)
66 #define __CRT_STRINGIZE(_Value) #_Value
67 #define _CRT_STRINGIZE(_Value) __CRT_STRINGIZE(_Value)
68 #define __CRT_WIDE(_String) L ## _String
69 #define _CRT_WIDE(_String) __CRT_WIDE(_String)
75 #define _M_X64 100 /* Visual Studio */
76 #define _M_AMD64 100 /* Visual Studio */
77 #define USE_MINGW_SETJMP_TWO_ARGS
78 #define mingw_getsp tinyc_getbp
81 #define __stdcall __attribute__((__stdcall__))
83 #define _M_IX86 300 /* Visual Studio */
85 #define _USE_32BIT_TIME_T
89 #define __TRY__ void __try__(void**), *_sehrec[6]; __try__(_sehrec);
94 #define _SIZE_T_DEFINED
95 #define _SSIZE_T_DEFINED
96 #define _PTRDIFF_T_DEFINED
97 #define _WCHAR_T_DEFINED
98 #define _UINTPTR_T_DEFINED
99 #define _INTPTR_T_DEFINED
100 #define _INTEGRAL_MAX_BITS 64
102 #ifndef _TIME32_T_DEFINED
103 #define _TIME32_T_DEFINED
104 typedef long __time32_t
;
107 #ifndef _TIME64_T_DEFINED
108 #define _TIME64_T_DEFINED
109 typedef long long __time64_t
;
112 #ifndef _TIME_T_DEFINED
113 #define _TIME_T_DEFINED
114 #ifdef _USE_32BIT_TIME_T
115 typedef __time32_t
time_t;
117 typedef __time64_t
time_t;
121 #ifndef _WCTYPE_T_DEFINED
122 #define _WCTYPE_T_DEFINED
123 typedef wchar_t wctype_t;
128 typedef __WINT_TYPE__
wint_t;
132 #define _ERRCODE_DEFINED
134 typedef struct threadlocaleinfostruct
*pthreadlocinfo
;
135 typedef struct threadmbcinfostruct
*pthreadmbcinfo
;
136 typedef struct localeinfo_struct _locale_tstruct
,*_locale_t
;
139 #define _ANONYMOUS_UNION
140 #define _ANONYMOUS_STRUCT
141 #define DECLSPEC_NORETURN
142 #define DECLARE_STDCALL_P(type) __stdcall type
147 #ifndef DUMMYUNIONNAME
148 # define DUMMYUNIONNAME
149 # define DUMMYUNIONNAME1
150 # define DUMMYUNIONNAME2
151 # define DUMMYUNIONNAME3
152 # define DUMMYUNIONNAME4
153 # define DUMMYUNIONNAME5
155 #ifndef DUMMYSTRUCTNAME
156 # define DUMMYSTRUCTNAME
159 # define WINVER 0x0502
162 # define _WIN32_WINNT 0x502
165 #define __C89_NAMELESS
166 #define __MINGW_EXTENSION
167 #define WINAPI_FAMILY_PARTITION(X) 1
168 #define MINGW_HAS_SECURE_API
170 #endif /* __MINGW_H */