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
00058 #if defined(__cplusplus) && (__cplusplus >= 201103L)
00059 #define ECL_CXX11_FOUND
00060 #else
00061 #define ECL_CXX11_NOT_FOUND
00062 #endif
00063
00064
00065
00066
00067
00078 #if (defined __GNUC__)
00079 #define ECL_DEPRECATED __attribute__((deprecated))
00080 #elif (defined _MSC_VER)
00081 #define ECL_DEPRECATED __declspec(deprecated)
00082 #elif defined(__clang__)
00083 #define ECL_DEPRECATED __attribute__((deprecated("Use of this method is deprecated")))
00084 #else
00085 #define ECL_DEPRECATED
00086 #endif
00087
00152 #if defined(ECL_IS_WIN32) || defined(ECL_IS_CYGWIN)
00153 #define ECL_HELPER_IMPORT __declspec(dllimport)
00154 #define ECL_HELPER_EXPORT __declspec(dllexport)
00155 #define ECL_HELPER_LOCAL
00156 #else
00157 #if defined(ECL_IS_POSIX) && __GNUC__ >= 4
00158 #define ECL_HELPER_IMPORT __attribute__ ((visibility("default")))
00159 #define ECL_HELPER_EXPORT __attribute__ ((visibility("default")))
00160 #define ECL_HELPER_LOCAL __attribute__ ((visibility("hidden")))
00161 #else
00162 #define ECL_HELPER_IMPORT
00163 #define ECL_HELPER_EXPORT
00164 #define ECL_HELPER_LOCAL
00165 #endif
00166 #endif
00167
00168
00169 #define ECL_PUBLIC
00170 #define ECL_LOCAL
00171
00172
00173 #endif