*/
#include <config.h>
-/*
- * When embedding, you have to define MONO_ZERO_LEN_ARRAY before including any
- * other Mono header file if you use a different compiler from the one used to
- * build Mono.
- */
-#ifndef MONO_ZERO_LEN_ARRAY
#ifdef __GNUC__
-#define MONO_ZERO_LEN_ARRAY 0
+#define MONO_ATTR_USED __attribute__ ((used))
#else
-#define MONO_ZERO_LEN_ARRAY 1
-#endif
+#define MONO_ATTR_USED
#endif
#ifdef __GNUC__
-#define MONO_ATTR_USED __attribute__ ((used))
+#define MONO_ATTR_FORMAT_PRINTF(fmt_pos,arg_pos) __attribute__((format(printf,fmt_pos,arg_pos)))
#else
-#define MONO_ATTR_USED
+#define MONO_ATTR_FORMAT_PRINTF(fmt_pos,arg_pos)
#endif
#ifdef HAVE_KW_THREAD
#include <direct.h>
#define mkdir(x) _mkdir(x)
-/* GCC specific functions aren't available */
-#define __builtin_return_address(x) NULL
-
#define __func__ __FUNCTION__
#include <BaseTsd.h>
#define MONO_LLVM_INTERNAL
#endif
-#if HAVE_DEPRECATED
-#define MONO_DEPRECATED __attribute__ ((deprecated))
-#else
-#define MONO_DEPRECATED
-#endif
-
#ifdef __GNUC__
#define MONO_ALWAYS_INLINE __attribute__((always_inline))
#elif defined(_MSC_VER)
#define MONO_COLD
#endif
+#if defined (__GNUC__) && defined (__GNUC_MINOR__) && defined (__GNUC_PATCHLEVEL__)
+#define MONO_GNUC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
+#endif
+
#endif /* __UTILS_MONO_COMPILER_H__*/