CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
GCC11Compatibility.h
Go to the documentation of this file.
1 #ifndef FWCORE_GCC11COMPATIBILITY_H
2 #define FWCORE_GCC11COMPATIBILITY_H
3 /*
4  * set of macro to control the level of comaptibility with c++11 standard
5  * includes also other macro more specific to gcc
6 
7  */
8 
11 
12 
13 #if defined(__REFLEX__) || defined(__CINT__)
14  #define CMS_NOCXX11
15 #endif
16 #if !GCC_PREREQUISITE(4,6,0)
17  #define CMS_NOCXX11
18 #endif
19 
20 #ifndef CMS_NOCXX11
21  #if GCC_PREREQUISITE(4,7,0)
22  #define GCC11_FINAL final
23  #define GCC11_OVERRIDE override
24  #else
25  #define GCC11_FINAL
26  #define GCC11_OVERRIDE
27  #endif // gcc 4.7
28 #else
29  #define constexpr
30  #define noexcept
31  #define nullptr 0
32  #define GCC11_FINAL
33  #define GCC11_OVERRIDE
34 #endif // NOCXX11
35 
36 #endif // FWCORE_GCC11COMPATIBILITY_H