Go to the documentation of this file.00001
00008
00009
00010
00011
00012 #ifndef ECL_CONFIG_UTILITY_MACROS_HPP_
00013 #define ECL_CONFIG_UTILITY_MACROS_HPP_
00014
00015
00016
00017
00018
00019 #include <ecl/config/ecl.hpp>
00020
00021
00022
00023
00039 #if (defined __GNUC__)
00040 #define ECL_DONT_INLINE __attribute__((noinline))
00041 #elif (defined _MSC_VER)
00042 #define ECL_DONT_INLINE __declspec(noinline)
00043 #else
00044 #define ECL_DONT_INLINE
00045 #endif
00046
00047
00048
00049
00050
00061 #if (defined __GNUC__)
00062 #define ECL_DEPRECATED __attribute__((deprecated))
00063 #elif (defined _MSC_VER)
00064 #define ECL_DEPRECATED __declspec(deprecated)
00065 #else
00066 #define ECL_DEPRECATED
00067 #endif
00068
00133 #if defined(ECL_IS_WIN32) || defined(ECL_IS_CYGWIN)
00134 #define ECL_HELPER_IMPORT __declspec(dllimport)
00135 #define ECL_HELPER_EXPORT __declspec(dllexport)
00136 #define ECL_HELPER_LOCAL
00137 #else
00138 #if defined(ECL_IS_POSIX) && __GNUC__ >= 4
00139 #define ECL_HELPER_IMPORT __attribute__ ((visibility("default")))
00140 #define ECL_HELPER_EXPORT __attribute__ ((visibility("default")))
00141 #define ECL_HELPER_LOCAL __attribute__ ((visibility("hidden")))
00142 #else
00143 #define ECL_HELPER_IMPORT
00144 #define ECL_HELPER_EXPORT
00145 #define ECL_HELPER_LOCAL
00146 #endif
00147 #endif
00148
00149
00150 #define ECL_PUBLIC
00151 #define ECL_LOCAL
00152
00153
00154 #endif