![Logo](tetiere_ht.jpg) |
DATAKIT API
V2025.1
|
|
Go to the documentation of this file. 1 #ifndef DTK_COMPILER_GCC_H
2 #define DTK_COMPILER_GCC_H
7 #define DTK_GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
9 #if !defined(__CUDACC__)
10 #define DTK_GCC DTK_GCC_VERSION
14 #ifdef AF51BDA7E49648f8AB95949F4CA52EF8
16 #define DTK_CDECL __attribute__((cdecl))
17 #define DTK_STDCALL __attribute__((stdcall))
22 #if defined(__GXX_EXPERIMENTAL_CXX0X__) || (__cplusplus >= 201103L)
23 # define DTK_GCC_CXX11
28 #if (DTK_GCC_VERSION >= 40300) && defined(DTK_GCC_CXX11)
32 # define DTK_HAS_STATIC_ASSERT
33 # define DTK_HAS_DECLTYPE
34 # define DTK_HAS_RVALUE_REFS
36 # define DTK_NO_CXX11_STATIC_ASSERT
37 # define DTK_NO_CXX11_DECLTYPE
38 # define DTK_NO_CXX11_RVALUE_REFERENCES
43 #if (DTK_GCC_VERSION < 40400) || !defined(DTK_GCC_CXX11)
44 # define DTK_NO_CXX11_CHAR16_T
45 # define DTK_NO_CXX11_CHAR32_T
46 # define DTK_NO_CXX11_VARIADIC_TEMPLATES
47 # define DTK_NO_CXX11_DELETED_FUNCTIONS
52 #if (DTK_GCC_VERSION < 40500) || !defined(DTK_GCC_CXX11)
53 # define DTK_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
58 #if (DTK_GCC_VERSION < 40600) || !defined(DTK_GCC_CXX11)
59 #define DTK_NO_CXX11_NULLPTR
60 #define DTK_NO_CXX11_NOEXCEPT
61 #define DTK_NO_CXX11_CONSTEXPR
65 #if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)
66 # define DTK_NO_CXX14_CONSTEXPR
69 #if defined(__GNUC__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3) && !defined(__GCCXML__))) && !defined(DTK_CLANG)
70 # define DTK_MOVE_IS_EMPTY(T) __is_empty(T)
71 # define DTK_MOVE_IS_UNION(T) __is_union(T)
72 # define DTK_MOVE_IS_ENUM(T) __is_enum(T)
80 #if !defined(__DARWIN_NO_LONG_LONG)
81 # define DTK_HAS_LONG_LONG