[CRT]
[reactos.git] / reactos / include / crt / _mingw.h
index 4e4824f..3ab124d 100644 (file)
 #define __MINGW_ATTRIB_NONNULL(arg)
 #endif /* GNUC >= 3.3 */
 
+#ifdef __GNUC__
+#define __MINGW_ATTRIB_UNUSED __attribute__ ((__unused__))
+#else
+#define __MINGW_ATTRIB_UNUSED
+#endif /* ATTRIBUTE_UNUSED */
+
 #if  __MINGW_GNUC_PREREQ (3, 1)
 #define __MINGW_ATTRIB_DEPRECATED __attribute__ ((__deprecated__))
 #elif __MINGW_MSC_PREREQ(12, 0)
 /* TODO: Mark (almost) all CRT functions as __MINGW_NOTHROW.  This will
 allow GCC to optimize away some EH unwind code, at least in DW2 case.  */
 
+#ifndef __MINGW_EXTENSION
+#if defined(__GNUC__) || defined(__GNUG__)
+#define __MINGW_EXTENSION       __extension__
+#else
+#define __MINGW_EXTENSION
+#endif
+#endif
+
 #ifndef __MSVCRT_VERSION__
 /*  High byte is the major version, low byte is the minor. */
 # define __MSVCRT_VERSION__ 0x0700
@@ -149,10 +163,12 @@ allow GCC to optimize away some EH unwind code, at least in DW2 case.  */
 //#endif
 
 #ifdef __GNUC__
+#ifndef __clang__
 #define __int8 char
 #define __int16 short
 #define __int32 int
 #define __int64 long long
+#endif
 #ifdef _WIN64
    typedef int __int128 __attribute__ ((mode (TI)));
 # endif
@@ -176,7 +192,7 @@ allow GCC to optimize away some EH unwind code, at least in DW2 case.  */
 #define USE_MINGW_SETJMP_TWO_ARGS
 #endif
 
-/* Diable deprecation for now! */
+/* Disable deprecation for now! */
 #define _CRT_SECURE_NO_DEPRECATE
 #define _CRT_SECURE_NO_DEPRECATE_CORE
 #ifdef __WINESRC__
@@ -189,15 +205,7 @@ allow GCC to optimize away some EH unwind code, at least in DW2 case.  */
 #define _CRT_UNUSED(x) (void)x
 #endif
 
-#define __MINGW_USE_UNDERSCORE_PREFIX 1
-
-#if __MINGW_USE_UNDERSCORE_PREFIX == 0
-#define __MINGW_IMP_SYMBOL(sym)        _imp_##sym
-#define __MINGW_USYMBOL(sym) sym
-#else
-#define __MINGW_IMP_SYMBOL(sym)        _imp__##sym
-#define __MINGW_USYMBOL(sym) _##sym
-#endif
+#include "_mingw_mac.h"
 
 #endif /* !_INC_MINGW */