1 #ifndef GAUDIKERNEL_KERNEL_H
2 #define GAUDIKERNEL_KERNEL_H
7 #pragma warning ( disable : 4786 )
9 #pragma warning ( disable : 4291 )
11 #pragma warning ( disable : 4250 )
17 #ifndef NO_LONGLONG_TYPEDEF
23 #define LONGLONG_MAX 0x7FFFFFFFFFFFFFFFLL
26 #define LONGLONG_MIN 0x8000000000000000LL
30 #define ULONGLONG_MAX 0xFFFFFFFFFFFFFFFFLL
33 #define ULONGLONG_MIN 0x0000000000000000LL
35 #elif defined(__linux) || defined(__APPLE__)
36 #ifndef NO_LONGLONG_TYPEDEF
42 #define LONGLONG_MAX 0x7FFFFFFFFFFFFFFFLL
45 #define LONGLONG_MIN 0x8000000000000000LL
49 #define ULONGLONG_MAX 0xfFFFFFFFFFFFFFFFLL
52 #define ULONGLONG_MIN 0x0000000000000000LL
59 static const __longlong LONGLONG_MAX = {0x7FFFFFFF, 0xFFFFFFFF};
60 static const __longlong LONGLONG_MIN = {0x80000000, 0x00000000};
61 static const __ulonglong ULONGLONG_MAX = {0xFFFFFFFF, 0xFFFFFFFF};
62 static const __ulonglong ULONGLONG_MIN = {0x00000000, 0x00000000};
66 #define TEMPLATE_SPECIALIZATION template <>
67 #elif defined(__linux) || defined(__APPLE__)
68 #define TEMPLATE_SPECIALIZATION
73 #if !defined(GAUDI_V20_COMPAT) || defined(G21_HIDE_SYMBOLS)
76 #if __GNUC__ >= 4 && ! defined(__CINT__)
77 # define GAUDI_HASCLASSVISIBILITY
92 # if defined(GAUDI_HASCLASSVISIBILITY)
93 # define GAUDI_IMPORT __attribute__((visibility("default")))
94 # define GAUDI_EXPORT __attribute__((visibility("default")))
95 # define GAUDI_LOCAL __attribute__((visibility("hidden")))
104 #ifdef GAUDI_LINKER_LIBRARY
105 #define GAUDI_API GAUDI_EXPORT
107 #define GAUDI_API GAUDI_IMPORT
115 #endif // GAUDI_V20_COMPAT
122 # define LIKELY(x) __builtin_expect((x),1)
123 # define UNLIKELY(x) __builtin_expect((x),0)
126 # define UNLIKELY(x) x
130 #endif // GAUDIKERNEL_KERNEL_H