include
ecl
config
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 Mon Feb 28 2022 22:16:09