macros.hpp
Go to the documentation of this file.
1 
8 /*****************************************************************************
9 ** Ifdefs
10 *****************************************************************************/
11 
12 #ifndef ECL_CONFIG_UTILITY_MACROS_HPP_
13 #define ECL_CONFIG_UTILITY_MACROS_HPP_
14 
15 /*****************************************************************************
16 ** Include
17 *****************************************************************************/
18 
19 #include <ecl/config/ecl.hpp>
20 
21 /*****************************************************************************
22 ** Macros
23 *****************************************************************************/
39 #if (defined __GNUC__)
40  #define ECL_DONT_INLINE __attribute__((noinline))
41 #elif (defined _MSC_VER)
42  #define ECL_DONT_INLINE __declspec(noinline)
43 #else
44  #define ECL_DONT_INLINE
45 #endif
46 
58 #if defined(__cplusplus) && (__cplusplus >= 201103L)
59  #define ECL_CXX11_FOUND
60 #else
61  #define ECL_CXX11_NOT_FOUND
62 #endif
63 
64 /*****************************************************************************
65 ** Depracated
66 *****************************************************************************/
67 
78 #if (defined __GNUC__)
79  #define ECL_DEPRECATED __attribute__((deprecated))
80 #elif (defined _MSC_VER)
81  #define ECL_DEPRECATED __declspec(deprecated)
82 #elif defined(__clang__)
83  #define ECL_DEPRECATED __attribute__((deprecated("Use of this method is deprecated")))
84 #else
85  #define ECL_DEPRECATED
86 #endif
87 
152 #if defined(ECL_IS_WIN32) || defined(ECL_IS_CYGWIN)
153  #define ECL_HELPER_IMPORT __declspec(dllimport)
154  #define ECL_HELPER_EXPORT __declspec(dllexport)
155  #define ECL_HELPER_LOCAL
156 #else
157  #if defined(ECL_IS_POSIX) && __GNUC__ >= 4
158  #define ECL_HELPER_IMPORT __attribute__ ((visibility("default")))
159  #define ECL_HELPER_EXPORT __attribute__ ((visibility("default")))
160  #define ECL_HELPER_LOCAL __attribute__ ((visibility("hidden")))
161  #else
162  #define ECL_HELPER_IMPORT
163  #define ECL_HELPER_EXPORT
164  #define ECL_HELPER_LOCAL
165  #endif
166 #endif
167 
168 // Until we depracate this entirely, need this to avoid being interpreted as a variable
169 #define ECL_PUBLIC
170 #define ECL_LOCAL
171 
172 
173 #endif /* ECL_UTILITY_CONFIG_MACROS_HPP_ */


ecl_config
Author(s): Daniel Stonier
autogenerated on Wed Mar 2 2022 00:13:53