Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-09-12 08:59:33

0001 /*
0002   Copyright @ 1999 ImageMagick Studio LLC, a non-profit organization
0003   dedicated to making software imaging solutions freely available.
0004 
0005   You may not use this file except in compliance with the License.  You may
0006   obtain a copy of the License at
0007 
0008     https://imagemagick.org/script/license.php
0009 
0010   Unless required by applicable law or agreed to in writing, software
0011   distributed under the License is distributed on an "AS IS" BASIS,
0012   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
0013   See the License for the specific language governing permissions and
0014   limitations under the License.
0015 
0016   MagickWand method attributes.
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 )  /* Disable the dll linkage warnings */
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)  /* nothing */
0079 #elif defined(MAGICKWAND_WINDOWS_SUPPORT) && !defined(__CYGWIN__)
0080 #  define wand_aligned(x)  __declspec(align(x))
0081 #  define wand_attribute(x)  /* nothing */
0082 #  define wand_unused(x) x
0083 #  define wand_unreferenced(x) (x)
0084 #else
0085 #  define wand_aligned(x)  /* nothing */
0086 #  define wand_attribute(x)  /* nothing */
0087 #  define wand_unused(x) x
0088 #  define wand_unreferenced(x)  /* nothing */
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)  /* nothing */
0096 #  define wand_alloc_sizes(x,y)  /* nothing */
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