CMS 3D CMS Logo

/data/git/CMSSW_5_3_11_patch5/src/FWCore/Utilities/interface/GCC11Compatibility.h

Go to the documentation of this file.
00001 #ifndef FWCORE_GCC11COMPATIBILITY_H
00002 #define FWCORE_GCC11COMPATIBILITY_H
00003 /*
00004  * set of macro to control the level of comaptibility with c++11 standard
00005  * includes also other macro more specific to gcc
00006 
00007  */
00008 
00009 #include "FWCore/Utilities/interface/Visibility.h"
00010 #include "FWCore/Utilities/interface/Likely.h"
00011 
00012 
00013 #if defined(__REFLEX__) || defined(__CINT__)
00014   #define CMS_NOCXX11
00015 #endif
00016 #if !GCC_PREREQUISITE(4,6,0)
00017   #define CMS_NOCXX11
00018 #endif
00019 
00020 #ifndef CMS_NOCXX11
00021   #if GCC_PREREQUISITE(4,7,0)
00022      #define GCC11_FINAL final
00023      #define GCC11_OVERRIDE override
00024   #else
00025      #define GCC11_FINAL
00026      #define GCC11_OVERRIDE
00027   #endif // gcc 4.7
00028 #else
00029   #define constexpr
00030   #define noexcept
00031   #define nullptr 0
00032   #define GCC11_FINAL
00033   #define GCC11_OVERRIDE
00034 #endif // NOCXX11
00035 
00036 #endif  // FWCORE_GCC11COMPATIBILITY_H