macros.hpp
Go to the documentation of this file.
00001 
00008 /*****************************************************************************
00009 ** Ifdefs
00010 *****************************************************************************/
00011 
00012 #ifndef ECL_CONFIG_UTILITY_MACROS_HPP_
00013 #define ECL_CONFIG_UTILITY_MACROS_HPP_
00014 
00015 /*****************************************************************************
00016 ** Include
00017 *****************************************************************************/
00018 
00019 #include <ecl/config/ecl.hpp>
00020 
00021 /*****************************************************************************
00022 ** Macros
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 ** Depracated
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 // Until we depracate this entirely, need this to avoid being interpreted as a variable
00169 #define ECL_PUBLIC
00170 #define ECL_LOCAL
00171 
00172 
00173 #endif /* ECL_UTILITY_CONFIG_MACROS_HPP_ */


ecl_config
Author(s): Daniel Stonier
autogenerated on Thu Jun 16 2016 09:47:10