File indexing completed on 2025-09-12 08:59:33
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(MAGICKWAND_WINDOWS_SUPPORT) && !defined(__CYGWIN__)
0026 # define WandPrivate
0027 # if defined(_MT) && defined(_DLL) && !defined(_MAGICKDLL_) && !defined(_LIB)
0028 # define _MAGICKDLL_
0029 # endif
0030 # if defined(_MAGICKDLL_)
0031 # if defined(_VISUALC_)
0032 # pragma warning( disable: 4273 )
0033 # endif
0034 # if !defined(_MAGICKLIB_)
0035 # if defined(__clang__) || defined(__GNUC__)
0036 # define WandExport __attribute__ ((dllimport))
0037 # else
0038 # define WandExport __declspec(dllimport)
0039 # endif
0040 # else
0041 # if defined(__clang__) || defined(__GNUC__)
0042 # define WandExport __attribute__ ((dllexport))
0043 # else
0044 # define WandExport __declspec(dllexport)
0045 # endif
0046 # endif
0047 # else
0048 # define WandExport
0049 # endif
0050 # if defined(_VISUALC_)
0051 # pragma warning(disable : 4018)
0052 # pragma warning(disable : 4068)
0053 # pragma warning(disable : 4244)
0054 # pragma warning(disable : 4142)
0055 # pragma warning(disable : 4800)
0056 # pragma warning(disable : 4786)
0057 # pragma warning(disable : 4996)
0058 # endif
0059 #else
0060 # if defined(__clang__) || (__GNUC__ >= 4)
0061 # define WandExport __attribute__ ((visibility ("default")))
0062 # define WandPrivate __attribute__ ((visibility ("hidden")))
0063 # else
0064 # define WandExport
0065 # define WandPrivate
0066 # endif
0067 #endif
0068
0069 #define MagickWandSignature 0xabacadabUL
0070 #if !defined(MagickPathExtent)
0071 # define MagickPathExtent 4096
0072 #endif
0073
0074 #if defined(MAGICKCORE_HAVE___ATTRIBUTE__)
0075 # define wand_aligned(x) __attribute__((aligned(x)))
0076 # define wand_attribute __attribute__
0077 # define wand_unused(x) wand_unused_ ## x __attribute__((unused))
0078 # define wand_unreferenced(x)
0079 #elif defined(MAGICKWAND_WINDOWS_SUPPORT) && !defined(__CYGWIN__)
0080 # define wand_aligned(x) __declspec(align(x))
0081 # define wand_attribute(x)
0082 # define wand_unused(x) x
0083 # define wand_unreferenced(x) (x)
0084 #else
0085 # define wand_aligned(x)
0086 # define wand_attribute(x)
0087 # define wand_unused(x) x
0088 # define wand_unreferenced(x)
0089 #endif
0090
0091 #if !defined(__clang__) && (defined(__GNUC__) && (__GNUC__) > 4)
0092 # define wand_alloc_size(x) __attribute__((__alloc_size__(x)))
0093 # define wand_alloc_sizes(x,y) __attribute__((__alloc_size__(x,y)))
0094 #else
0095 # define wand_alloc_size(x)
0096 # define wand_alloc_sizes(x,y)
0097 #endif
0098
0099 #if defined(__clang__) || (defined(__GNUC__) && (__GNUC__) > 4)
0100 # define wand_cold_spot __attribute__((__cold__))
0101 # define wand_hot_spot __attribute__((__hot__))
0102 #else
0103 # define wand_cold_spot
0104 # define wand_hot_spot
0105 #endif
0106
0107 #if defined(__cplusplus) || defined(c_plusplus)
0108 }
0109 #endif
0110
0111 #endif