Reorganize clang config to avoid macro redefinitions and fix GCC-4.8, 4.9, and 5.0 detection.

This commit is contained in:
jzmaddock
2014-10-08 13:37:18 +01:00
parent b36566fe04
commit 32237deddc

View File

@ -121,20 +121,22 @@
// //
#ifdef __clang__ #ifdef __clang__
#if __has_include(<array>) #if __has_include(<experimental/any>)
# define BOOST_LIBSTDCXX_VERSION 40300 # define BOOST_LIBSTDCXX_VERSION 50000
#endif #elif __has_include(<shared_mutex>)
#if __has_include(<ratio>) # define BOOST_LIBSTDCXX_VERSION 40900
# define BOOST_LIBSTDCXX_VERSION 40400 #elif __has_include(<ext/cmath>)
#endif # define BOOST_LIBSTDCXX_VERSION 40800
#if __has_include(<future>) #elif __has_include(chrono)
# define BOOST_LIBSTDCXX_VERSION 40500
#endif
#if __has_include(<typeindex>)
# define BOOST_LIBSTDCXX_VERSION 40600
#endif
#if __has_include(<chrono>)
# define BOOST_LIBSTDCXX_VERSION 40700 # define BOOST_LIBSTDCXX_VERSION 40700
#elif __has_include(typeindex)
# define BOOST_LIBSTDCXX_VERSION 40600
#elif __has_include(future)
# define BOOST_LIBSTDCXX_VERSION 40500
#elif __has_include(ratio)
# define BOOST_LIBSTDCXX_VERSION 40400
#elif __has_include(array)
# define BOOST_LIBSTDCXX_VERSION 40300
#endif #endif
// //
// GCC 4.8 and 9 add working versions of <atomic> and <regex> respectively. // GCC 4.8 and 9 add working versions of <atomic> and <regex> respectively.