# pragma warning( disable: 4273 ) /* Disable the dll linkage warnings */
# endif
# if !defined(_MAGICKLIB_)
-# if defined(__GNUC__)
+# if defined(__clang__) || defined(__GNUC__)
# define MagickExport __attribute__ ((dllimport))
# else
# define MagickExport __declspec(dllimport)
# pragma message( "MagickCore lib DLL import interface" )
# endif
# else
-# if defined(__GNUC__)
+# if defined(__clang__) || defined(__GNUC__)
# define MagickExport __attribute__ ((dllexport))
# else
# define MagickExport __declspec(dllexport)
# endif
# if defined(_DLL) && !defined(_LIB)
-# if defined(__GNUC__)
+# if defined(__clang__) || defined(__GNUC__)
# define ModuleExport __attribute__ ((dllexport))
# else
# define ModuleExport __declspec(dllexport)
# pragma warning(disable : 4996)
# endif
#else
-# if __GNUC__ >= 4
+# if defined(__clang__) || (__GNUC__ >= 4)
# define MagickExport __attribute__ ((visibility ("default")))
# define MagickPrivate __attribute__ ((visibility ("hidden")))
# else
# define magick_unreferenced(x) /* nothing */
#endif
-#if (((__GNUC__) > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3)))
+#if defined(__clang__) || (((__GNUC__) > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3)))
# define magick_alloc_size(x) __attribute__((__alloc_size__(x)))
# define magick_alloc_sizes(x,y) __attribute__((__alloc_size__(x,y)))
# define magick_cold_spot __attribute__((__cold__))
GetMagickResourceLimit(ThreadResource) : \
GetMagickResourceLimit(ThreadResource) < 2 ? 1 : 2)
-#if (__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ > 10))
+#if defined(__clang__) || (__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ > 10))
#define MagickCachePrefetch(address,mode,locality) \
__builtin_prefetch(address,mode,locality)
#else
# pragma warning( disable: 4273 ) /* Disable the dll linkage warnings */
# endif
# if !defined(_MAGICKLIB_)
-# if defined(__GNUC__)
+# if defined(__clang__) || defined(__GNUC__)
# define WandExport __attribute__ ((dllimport))
# else
# define WandExport __declspec(dllimport)
# pragma message( "MagickCore lib DLL import interface" )
# endif
# else
-# if defined(__GNUC__)
+# if defined(__clang__) || defined(__GNUC__)
# define WandExport __attribute__ ((dllexport))
# else
# define WandExport __declspec(dllexport)
# pragma warning(disable : 4996)
# endif
#else
-# if __GNUC__ >= 4
+# if defined(__clang__) || (__GNUC__ >= 4)
# define WandExport __attribute__ ((visibility ("default")))
# define WandPrivate __attribute__ ((visibility ("hidden")))
# else
# define wand_unused(x) x
#endif
-#if (((__GNUC__) > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3)))
+#if defined(__clang__) || (((__GNUC__) > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3)))
# define wand_alloc_size(x) __attribute__((__alloc_size__(x)))
# define wand_alloc_sizes(x,y) __attribute__((__alloc_size__(x,y)))
# define wand_cold_spot __attribute__((__cold__))