File indexing completed on 2025-01-18 10:01:24
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018 #ifndef MAGICKWAND_METHOD_ATTRIBUTE_H
0019 #define MAGICKWAND_METHOD_ATTRIBUTE_H
0020
0021 #if defined(__cplusplus) || defined(c_plusplus)
0022 extern "C" {
0023 #endif
0024
0025 #if defined(__BORLANDC__) && defined(_DLL)
0026 # define _MAGICKDLL_
0027 # define _MAGICKLIB_
0028 # define MAGICKCORE_MODULES_SUPPORT
0029 # undef MAGICKCORE_BUILD_MODULES
0030 #endif
0031
0032 #if defined(MAGICKWAND_WINDOWS_SUPPORT) && !defined(__CYGWIN__)
0033 # define WandPrivate
0034 # if defined(_MT) && defined(_DLL) && !defined(_MAGICKDLL_) && !defined(_LIB)
0035 # define _MAGICKDLL_
0036 # endif
0037 # if defined(_MAGICKDLL_)
0038 # if defined(_VISUALC_)
0039 # pragma warning( disable: 4273 )
0040 # endif
0041 # if !defined(_MAGICKLIB_)
0042 # if defined(__clang__) || defined(__GNUC__)
0043 # define WandExport __attribute__ ((dllimport))
0044 # else
0045 # define WandExport __declspec(dllimport)
0046 # endif
0047 # else
0048 # if defined(__clang__) || defined(__GNUC__)
0049 # define WandExport __attribute__ ((dllexport))
0050 # else
0051 # define WandExport __declspec(dllexport)
0052 # endif
0053 # endif
0054 # else
0055 # define WandExport
0056 # endif
0057 # if defined(_VISUALC_)
0058 # pragma warning(disable : 4018)
0059 # pragma warning(disable : 4068)
0060 # pragma warning(disable : 4244)
0061 # pragma warning(disable : 4142)
0062 # pragma warning(disable : 4800)
0063 # pragma warning(disable : 4786)
0064 # pragma warning(disable : 4996)
0065 # endif
0066 #else
0067 # if defined(__clang__) || (__GNUC__ >= 4)
0068 # define WandExport __attribute__ ((visibility ("default")))
0069 # define WandPrivate __attribute__ ((visibility ("hidden")))
0070 # else
0071 # define WandExport
0072 # define WandPrivate
0073 # endif
0074 #endif
0075
0076 #define MagickWandSignature 0xabacadabUL
0077 #if !defined(MagickPathExtent)
0078 # define MagickPathExtent 4096
0079 #endif
0080
0081 #if defined(MAGICKCORE_HAVE___ATTRIBUTE__)
0082 # define wand_aligned(x) __attribute__((aligned(x)))
0083 # define wand_attribute __attribute__
0084 # define wand_unused(x) wand_unused_ ## x __attribute__((unused))
0085 # define wand_unreferenced(x)
0086 #elif defined(MAGICKWAND_WINDOWS_SUPPORT) && !defined(__CYGWIN__)
0087 # define wand_aligned(x) __declspec(align(x))
0088 # define wand_attribute(x)
0089 # define wand_unused(x) x
0090 # define wand_unreferenced(x) (x)
0091 #else
0092 # define wand_aligned(x)
0093 # define wand_attribute(x)
0094 # define wand_unused(x) x
0095 # define wand_unreferenced(x)
0096 #endif
0097
0098 #if !defined(__clang__) && (((__GNUC__) > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3)))
0099 # define wand_alloc_size(x) __attribute__((__alloc_size__(x)))
0100 # define wand_alloc_sizes(x,y) __attribute__((__alloc_size__(x,y)))
0101 #else
0102 # define wand_alloc_size(x)
0103 # define wand_alloc_sizes(x,y)
0104 #endif
0105
0106 #if defined(__clang__) || (((__GNUC__) > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3)))
0107 # define wand_cold_spot __attribute__((__cold__))
0108 # define wand_hot_spot __attribute__((__hot__))
0109 #else
0110 # define wand_cold_spot
0111 # define wand_hot_spot
0112 #endif
0113
0114 #if defined(__cplusplus) || defined(c_plusplus)
0115 }
0116 #endif
0117
0118 #endif