|
Vcsn
2.0
Be Rational
|
Go to the documentation of this file. 1 #ifndef VCSN_MISC_ATTRIBUTES_HH
2 # define VCSN_MISC_ATTRIBUTES_HH
6 # define ATTRIBUTE_ALWAYS_INLINE __attribute__((always_inline))
7 # define ATTRIBUTE_CONST __attribute__((const))
8 # define ATTRIBUTE_DLLEXPORT
9 # define ATTRIBUTE_DLLIMPORT
10 # define ATTRIBUTE_HOT __attribute__((hot))
11 # define ATTRIBUTE_NORETURN [[noreturn]]
12 # define ATTRIBUTE_PURE __attribute__((pure))
14 # elif defined __GNUC__
16 # define ATTRIBUTE_ALWAYS_INLINE __attribute__((always_inline))
17 # define ATTRIBUTE_CONST __attribute__((const))
18 # define ATTRIBUTE_DLLEXPORT __attribute__((visibility("default")))
19 # define ATTRIBUTE_DLLIMPORT ATTRIBUTE_DLLEXPORT
20 # define ATTRIBUTE_HOT __attribute__((hot))
21 # define ATTRIBUTE_NORETURN __attribute__((noreturn))
22 # define ATTRIBUTE_PURE __attribute__((pure))
24 # elif defined _MSC_VER
26 # define ATTRIBUTE_ALWAYS_INLINE
27 # define ATTRIBUTE_CONST __declspec(const)
28 # define ATTRIBUTE_DLLEXPORT __declspec(dllexport)
29 # define ATTRIBUTE_DLLIMPORT __declspec(dllimport)
30 # define ATTRIBUTE_HOT
31 # define ATTRIBUTE_NORETURN [[noreturn]]
32 # define ATTRIBUTE_PURE
37 #endif // !VCSN_MISC_ATTRIBUTES_HH