#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)
-//#define __MINGW_ATTRIB_DEPRECATED __declspec(deprecated)
+#elif __MINGW_MSC_PREREQ(12, 0)
+#define __MINGW_ATTRIB_DEPRECATED __declspec(deprecated)
#else
#define __MINGW_ATTRIB_DEPRECATED
#endif
//#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
#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__
#define _CRT_UNUSED(x) (void)x
#endif
-#if defined(__x86__)
-#define __MINGW_USE_UNDERSCORE_PREFIX 1
-#else
-#define __MINGW_USE_UNDERSCORE_PREFIX 0
-#endif
-
-#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
-
-#if defined(__x86__)
-/* Hack, for bug in ld. Will be removed soon. */
-#define __ImageBase _image_base__
-/* This symbol is defined by the linker. */
-extern char __ImageBase;
-#elif defined(__x86_64__)
-/* Hack, for bug in ld. Will be removed soon. */
-#define __ImageBase __image_base__
-/* This symbol is defined by the linker. */
-extern char __ImageBase;
-#else
-#error FIXME: Unsupported __ImageBase implementation.
-#endif
+#include "_mingw_mac.h"
#endif /* !_INC_MINGW */