Go to the documentation of this file.
18 #ifndef _MAGICKCORE_METHOD_ATTRIBUTE_H
19 #define _MAGICKCORE_METHOD_ATTRIBUTE_H
21 #if defined(__cplusplus) || defined(c_plusplus)
25 #if defined(__BORLANDC__) && defined(_DLL)
26 # pragma message("BCBMagick lib DLL export interface")
29 # define MAGICKCORE_MODULES_SUPPORT
30 # undef MAGICKCORE_BUILD_MODULES
33 #if defined(MAGICKCORE_WINDOWS_SUPPORT) && !defined(__CYGWIN__)
34 # define MagickPrivate
35 # if defined(_MT) && defined(_DLL) && !defined(_MAGICKDLL_) && !defined(_LIB)
38 # if defined(_MAGICKDLL_)
39 # if defined(_VISUALC_)
40 # pragma warning( disable: 4273 )
42 # if !defined(_MAGICKLIB_)
43 # if defined(__GNUC__)
44 # define MagickExport __attribute__ ((dllimport))
46 # define MagickExport __declspec(dllimport)
48 # if defined(_VISUALC_)
49 # pragma message( "MagickCore lib DLL import interface" )
52 # if defined(__GNUC__)
53 # define MagickExport __attribute__ ((dllexport))
55 # define MagickExport __declspec(dllexport)
57 # if defined(_VISUALC_)
58 # pragma message( "MagickCore lib DLL export interface" )
63 # if defined(_VISUALC_)
64 # pragma message( "MagickCore lib static interface" )
68 # if defined(_DLL) && !defined(_LIB)
69 # if defined(__GNUC__)
70 # define ModuleExport __attribute__ ((dllexport))
72 # define ModuleExport __declspec(dllexport)
74 # if defined(_VISUALC_)
75 # pragma message( "MagickCore module DLL export interface" )
79 # if defined(_VISUALC_)
80 # pragma message( "MagickCore module static interface" )
84 # define MagickGlobal __declspec(thread)
85 # if defined(_VISUALC_)
86 # pragma warning(disable : 4018)
87 # pragma warning(disable : 4068)
88 # pragma warning(disable : 4244)
89 # pragma warning(disable : 4142)
90 # pragma warning(disable : 4800)
91 # pragma warning(disable : 4786)
92 # pragma warning(disable : 4996)
96 # define MagickExport __attribute__ ((visibility ("default")))
97 # define MagickPrivate __attribute__ ((visibility ("hidden")))
100 # define MagickPrivate
102 # define ModuleExport MagickExport
103 # define MagickGlobal
106 #define MagickSignature 0xabacadabUL
107 #if !defined(MaxTextExtent)
108 # define MaxTextExtent 4096
111 #if defined(MAGICKCORE_HAVE___ATTRIBUTE__)
112 # define magick_aligned(x,y) x __attribute__((aligned(y)))
113 # define magick_attribute __attribute__
114 # define magick_unused(x) magick_unused_ ## x __attribute__((unused))
115 #elif defined(MAGICKCORE_WINDOWS_SUPPORT) && !defined(__CYGWIN__)
116 # define magick_aligned(x,y) __declspec(align(y)) x
117 # define magick_attribute(x)
118 # define magick_unused(x) x
120 # define magick_aligned(x,y)
121 # define magick_attribute(x)
122 # define magick_unused(x) x
125 #if (((__GNUC__) > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3)))
126 # define magick_alloc_size(x) __attribute__((__alloc_size__(x)))
127 # define magick_alloc_sizes(x,y) __attribute__((__alloc_size__(x,y)))
128 # define magick_cold_spot __attribute__((__cold__))
129 # define magick_hot_spot __attribute__((__hot__))
131 # define magick_alloc_size(x)
132 # define magick_alloc_sizes(x,y)
133 # define magick_cold_spot
134 # define magick_hot_spot
137 #if defined(__cplusplus) || defined(c_plusplus)