Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 10:01:24

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(__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 )  /* Disable the dll linkage warnings */
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)  /* nothing */
0086 #elif defined(MAGICKWAND_WINDOWS_SUPPORT) && !defined(__CYGWIN__)
0087 #  define wand_aligned(x)  __declspec(align(x))
0088 #  define wand_attribute(x)  /* nothing */
0089 #  define wand_unused(x) x
0090 #  define wand_unreferenced(x) (x)
0091 #else
0092 #  define wand_aligned(x)  /* nothing */
0093 #  define wand_attribute(x)  /* nothing */
0094 #  define wand_unused(x) x
0095 #  define wand_unreferenced(x)  /* nothing */
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)  /* nothing */
0103 #  define wand_alloc_sizes(x,y)  /* nothing */
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