ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

_mingw.h
Go to the documentation of this file.
00001 
00007 #ifndef _INC_MINGW
00008 #define _INC_MINGW
00009 
00010 #define _INTEGRAL_MAX_BITS 64
00011 
00012 #ifndef MINGW64
00013 #define MINGW64
00014 #define MINGW64_VERSION 1.0
00015 #define MINGW64_VERSION_MAJOR   1
00016 #define MINGW64_VERSION_MINOR   0
00017 #define MINGW64_VERSION_STATE   "alpha"
00018 #endif
00019 
00020 #ifdef _WIN64
00021 #ifdef __stdcall
00022 #undef __stdcall
00023 #endif
00024 #define __stdcall
00025 #endif
00026 
00027 #ifdef __GNUC__
00028  /* These compilers do support __declspec */
00029 # if !defined(__MINGW32__) && !defined(__MINGW64__) && !defined(__CYGWIN32__)
00030 #  define __declspec(x) __attribute__((x))
00031 # endif
00032 #endif
00033 
00034 #ifdef _MSC_VER
00035 #define __restrict__ /* nothing */
00036 #endif
00037 
00038 #if defined (__GNUC__) && defined (__GNUC_MINOR__)
00039 #define __MINGW_GNUC_PREREQ(major, minor) \
00040   (__GNUC__ > (major) \
00041    || (__GNUC__ == (major) && __GNUC_MINOR__ >= (minor)))
00042 #else
00043 #define __MINGW_GNUC_PREREQ(major, minor)  0
00044 #endif
00045 
00046 #if defined (_MSC_VER)
00047 #define __MINGW_MSC_PREREQ(major, minor) (_MSC_VER >= (major * 100 + minor * 10))
00048 #else
00049 #define __MINGW_MSC_PREREQ(major, minor) 0
00050 #endif
00051 
00052 #define USE___UUIDOF    0
00053 
00054 #ifdef __cplusplus
00055 # define __CRT_INLINE inline
00056 #elif defined(_MSC_VER)
00057 # define __CRT_INLINE __inline
00058 #elif defined(__GNUC__)
00059 # if ( __MINGW_GNUC_PREREQ(4, 3)  &&  __STDC_VERSION__ >= 199901L)
00060 #  define __CRT_INLINE extern inline __attribute__((__always_inline__,__gnu_inline__))
00061 # else
00062 #  define __CRT_INLINE extern __inline__ __attribute__((__always_inline__))
00063 # endif
00064 #endif
00065 
00066 #ifdef __cplusplus
00067 # define __UNUSED_PARAM(x)
00068 #else
00069 # ifdef __GNUC__
00070 #  define __UNUSED_PARAM(x) x __attribute__ ((__unused__))
00071 # else
00072 #  define __UNUSED_PARAM(x) x
00073 # endif
00074 #endif
00075 
00076 #ifdef __cplusplus
00077 # define __unaligned
00078 #else
00079 # ifdef __GNUC__
00080 #  define __unaligned
00081 # elif defined(_MSC_VER) && !defined(_M_IA64) && !defined(_M_AMD64)
00082 #  define __unaligned
00083 # else
00084 #  define __unaligned
00085 # endif
00086 #endif
00087 
00088 #ifdef __GNUC__
00089 #define __MINGW_ATTRIB_NORETURN __attribute__ ((__noreturn__))
00090 #define __MINGW_ATTRIB_CONST __attribute__ ((__const__))
00091 #elif __MINGW_MSC_PREREQ(12, 0)
00092 #define __MINGW_ATTRIB_NORETURN __declspec(noreturn)
00093 #define __MINGW_ATTRIB_CONST
00094 #else
00095 #define __MINGW_ATTRIB_NORETURN
00096 #define __MINGW_ATTRIB_CONST
00097 #endif
00098 
00099 #if __MINGW_GNUC_PREREQ (3, 0)
00100 #define __MINGW_ATTRIB_MALLOC __attribute__ ((__malloc__))
00101 #define __MINGW_ATTRIB_PURE __attribute__ ((__pure__))
00102 #elif __MINGW_MSC_PREREQ(14, 0)
00103 #define __MINGW_ATTRIB_MALLOC __declspec(noalias) __declspec(restrict)
00104 #define __MINGW_ATTRIB_PURE
00105 #else
00106 #define __MINGW_ATTRIB_MALLOC
00107 #define __MINGW_ATTRIB_PURE
00108 #endif
00109 
00110 /* Attribute `nonnull' was valid as of gcc 3.3.  We don't use GCC's
00111    variadiac macro facility, because variadic macros cause syntax
00112    errors with  --traditional-cpp.  */
00113 #if  __MINGW_GNUC_PREREQ (3, 3)
00114 #define __MINGW_ATTRIB_NONNULL(arg) __attribute__ ((__nonnull__ (arg)))
00115 #else
00116 #define __MINGW_ATTRIB_NONNULL(arg)
00117 #endif /* GNUC >= 3.3 */
00118 
00119 #ifdef __GNUC__
00120 #define __MINGW_ATTRIB_UNUSED __attribute__ ((__unused__))
00121 #else
00122 #define __MINGW_ATTRIB_UNUSED
00123 #endif /* ATTRIBUTE_UNUSED */
00124 
00125 #if  __MINGW_GNUC_PREREQ (3, 1)
00126 #define __MINGW_ATTRIB_DEPRECATED __attribute__ ((__deprecated__))
00127 #elif __MINGW_MSC_PREREQ(12, 0)
00128 #define __MINGW_ATTRIB_DEPRECATED __declspec(deprecated)
00129 #else
00130 #define __MINGW_ATTRIB_DEPRECATED
00131 #endif
00132 
00133 #if  __MINGW_GNUC_PREREQ (3, 3)
00134 #define __MINGW_NOTHROW __attribute__ ((__nothrow__))
00135 #elif __MINGW_MSC_PREREQ(12, 0) && defined (__cplusplus)
00136 #define __MINGW_NOTHROW __declspec(nothrow)
00137 #else
00138 #define __MINGW_NOTHROW
00139 #endif
00140 
00141 /* TODO: Mark (almost) all CRT functions as __MINGW_NOTHROW.  This will
00142 allow GCC to optimize away some EH unwind code, at least in DW2 case.  */
00143 
00144 #ifndef __MINGW_EXTENSION
00145 #if defined(__GNUC__) || defined(__GNUG__)
00146 #define __MINGW_EXTENSION       __extension__
00147 #else
00148 #define __MINGW_EXTENSION
00149 #endif
00150 #endif
00151 
00152 #ifndef __MSVCRT_VERSION__
00153 /*  High byte is the major version, low byte is the minor. */
00154 # define __MSVCRT_VERSION__ 0x0700
00155 #endif
00156 
00157 //#ifndef WINVER
00158 //#define WINVER 0x0502
00159 //#endif
00160 
00161 //#ifndef _WIN32_WINNT
00162 //#define _WIN32_WINNT 0x502
00163 //#endif
00164 
00165 #ifdef __GNUC__
00166 #define __int8 char
00167 #define __int16 short
00168 #define __int32 int
00169 #define __int64 long long
00170 #ifdef _WIN64
00171    typedef int __int128 __attribute__ ((mode (TI)));
00172 # endif
00173 # define __ptr32
00174 # define __ptr64
00175 # define __forceinline extern __inline __attribute((always_inline))
00176 #endif
00177 
00178 #ifdef __cplusplus
00179 #ifndef __nothrow
00180 #define __nothrow __declspec(nothrow)
00181 #endif
00182 #else
00183 #ifndef __nothrow
00184 #define __nothrow
00185 #endif
00186 #endif
00187 
00188 #if defined(_WIN64) && !defined(_MSC_VER)
00189 #undef USE_MINGW_SETJMP_TWO_ARGS
00190 #define USE_MINGW_SETJMP_TWO_ARGS
00191 #endif
00192 
00193 /* Disable deprecation for now! */
00194 #define _CRT_SECURE_NO_DEPRECATE
00195 #define _CRT_SECURE_NO_DEPRECATE_CORE
00196 #ifdef __WINESRC__
00197 #define _CRT_NONSTDC_NO_DEPRECATE
00198 #endif
00199 
00200 #define __crt_typefix(ctype)
00201 
00202 #ifndef _CRT_UNUSED
00203 #define _CRT_UNUSED(x) (void)x
00204 #endif
00205 
00206 #ifdef _MSC_VER
00207 #define ATTRIB_NORETURN
00208 #define _DECLSPEC_INTRIN_TYPE __declspec(intrin_type)
00209 #else
00210 #define ATTRIB_NORETURN DECLSPEC_NORETURN
00211 #define _DECLSPEC_INTRIN_TYPE
00212 #endif
00213 
00214 #include "_mingw_mac.h"
00215 
00216 #endif /* !_INC_MINGW */
00217 

Generated on Sun May 27 2012 04:29:50 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.