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_mac.h
Go to the documentation of this file.
00001 
00007 #ifndef _INC_CRTDEFS_MACRO
00008 #define _INC_CRTDEFS_MACRO
00009 
00010 #define __STRINGIFY(x) #x
00011 #define __MINGW64_STRINGIFY(x) __STRINGIFY(x)
00012 
00013 #define __MINGW64_VERSION_MAJOR 1
00014 #define __MINGW64_VERSION_MINOR 1
00015 #define __MINGW64_VERSION_STR   __MINGW64_STRINGIFY(__MINGW64_VERSION_MAJOR) "." __MINGW64_STRINGIFY(__MINGW64_VERSION_MINOR)
00016 #define __MINGW64_VERSION_STATE "alpha"
00017 
00018 /* mingw.org's version macros: these make gcc to define
00019    MINGW32_SUPPORTS_MT_EH and to use the _CRT_MT global
00020    and the __mingwthr_key_dtor() function from the MinGW
00021    CRT in its private gthr-win32.h header. */
00022 #define __MINGW32_MAJOR_VERSION 3
00023 #define __MINGW32_MINOR_VERSION 11
00024 
00025 #ifdef _WIN64
00026 /* MS does not prefix symbols by underscores for 64-bit.  */
00027 #ifndef __MINGW_USE_UNDERSCORE_PREFIX
00028 /* As we have to support older gcc version, which are using underscores
00029    as symbol prefix for x64, we have to check here for the user label
00030    prefix defined by gcc.  */
00031 #ifdef __USER_LABEL_PREFIX__
00032 #pragma push_macro ("_")
00033 #undef _
00034 #define _ 1
00035 #if (__USER_LABEL_PREFIX__ + 0) != 0
00036 #define __MINGW_USE_UNDERSCORE_PREFIX 1
00037 #else
00038 #define __MINGW_USE_UNDERSCORE_PREFIX 0
00039 #endif
00040 #undef _
00041 #pragma pop_macro ("_")
00042 #else
00043 #define __MINGW_USE_UNDERSCORE_PREFIX 0
00044 #endif
00045 #endif
00046 #else
00047 /* For 32-bits we have always to prefix by underscore.  */
00048 #undef __MINGW_USE_UNDERSCORE_PREFIX
00049 #define __MINGW_USE_UNDERSCORE_PREFIX 1
00050 #endif
00051 
00052 #if __MINGW_USE_UNDERSCORE_PREFIX == 0
00053 #define __MINGW_IMP_SYMBOL(sym) __imp_##sym
00054 #define __MINGW_USYMBOL(sym) sym
00055 #define __MINGW_LSYMBOL(sym) _##sym
00056 #else
00057 #define __MINGW_IMP_SYMBOL(sym) _imp__##sym
00058 #define __MINGW_USYMBOL(sym) _##sym
00059 #define __MINGW_LSYMBOL(sym) sym
00060 #endif
00061 
00062 /* Use alias for msvcr80 export of get/set_output_format.  */
00063 #ifndef __USE_MINGW_OUTPUT_FORMAT_EMU
00064 #define __USE_MINGW_OUTPUT_FORMAT_EMU 1
00065 #endif
00066 
00067 /* Set VC specific compiler target macros.  */
00068 #if defined(__x86_64) && defined(_X86_)
00069 #undef _X86_    /* _X86_ is not for __x86_64 */
00070 #endif
00071 
00072 #if defined(_X86_) && !defined(_M_IX86) && !defined(_M_IA64) \
00073    && !defined(_M_AMD64) && !defined(__x86_64)
00074 #if defined(__i486__)
00075 #define _M_IX86 400
00076 #elif defined(__i586__)
00077 #define _M_IX86 500
00078 #else
00079 /* This gives wrong (600 instead of 300) value if -march=i386 is specified
00080    but we cannot check for__i386__ as it is defined for all 32-bit CPUs. */
00081 #define _M_IX86 600
00082 #endif
00083 #endif
00084 
00085 #if defined(__x86_64) && !defined(_M_IX86) && !defined(_M_IA64) \
00086    && !defined(_M_AMD64)
00087 #define _M_AMD64 100
00088 #define _M_X64 100
00089 #endif
00090 
00091 #if defined(__ia64__) && !defined(_M_IX86) && !defined(_M_IA64) \
00092    && !defined(_M_AMD64) && !defined(_X86_) && !defined(__x86_64)
00093 #define _M_IA64 100
00094 #endif
00095 
00096 #ifndef __PTRDIFF_TYPE__
00097 #ifdef _WIN64
00098 #define __PTRDIFF_TYPE__ long long int
00099 #else
00100 #define __PTRDIFF_TYPE__ long int
00101 #endif
00102 #endif
00103 
00104 #ifndef __SIZE_TYPE__
00105 #ifdef _WIN64
00106 #define __SIZE_TYPE__ long long unsigned int
00107 #else
00108 #define __SIZE_TYPE__ long unsigned int
00109 #endif
00110 #endif
00111 
00112 #ifndef __WCHAR_TYPE__
00113 #define __WCHAR_TYPE__ unsigned short
00114 #endif
00115 #ifndef __WINT_TYPE__
00116 #define __WINT_TYPE__  unsigned short
00117 #endif
00118 
00119 #undef __MINGW_EXTENSION
00120 #if defined(__GNUC__) || defined(__GNUG__)
00121 #define __MINGW_EXTENSION   __extension__
00122 #else
00123 #define __MINGW_EXTENSION
00124 #endif
00125 
00126 /* Special case nameless struct/union.  */
00127 #ifndef __C89_NAMELESS
00128 #define __C89_NAMELESS __MINGW_EXTENSION
00129 
00130 #define __C89_NAMELESSSTRUCTNAME
00131 #define __C89_NAMELESSUNIONNAME
00132 #endif
00133 
00134 #ifndef __GNU_EXTENSION
00135 #define __GNU_EXTENSION     __MINGW_EXTENSION
00136 #endif
00137 
00138 /* MinGW-w64 has some additional C99 printf/scanf feature support.
00139    So we add some helper macros to ease recognition of them.  */
00140 #define __MINGW_HAVE_ANSI_C99_PRINTF 1
00141 #define __MINGW_HAVE_WIDE_C99_PRINTF 1
00142 #define __MINGW_HAVE_ANSI_C99_SCANF 1
00143 #define __MINGW_HAVE_WIDE_C99_SCANF 1
00144 
00145 #endif  /* _INC_CRTDEFS_MACRO */
00146 

Generated on Sat May 26 2012 04:28:26 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.