diff --git a/include/boost/config/compiler/gcc.hpp b/include/boost/config/compiler/gcc.hpp index e4524a6a..5d9c75a2 100644 --- a/include/boost/config/compiler/gcc.hpp +++ b/include/boost/config/compiler/gcc.hpp @@ -146,9 +146,6 @@ # endif #endif -// C++0x features not implemented in any GCC version -// -#define BOOST_NO_TEMPLATE_ALIASES // C++0x features in 4.3.n and later // @@ -218,6 +215,9 @@ #define BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX #endif +#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 7) || !defined(__GXX_EXPERIMENTAL_CXX0X__) +# define BOOST_NO_TEMPLATE_ALIASES +#endif // C++0x features not supported at all yet // #define BOOST_NO_DECLTYPE_N3276 diff --git a/include/boost/config/stdlib/libstdcpp3.hpp b/include/boost/config/stdlib/libstdcpp3.hpp index 281f56ff..57d880bf 100644 --- a/include/boost/config/stdlib/libstdcpp3.hpp +++ b/include/boost/config/stdlib/libstdcpp3.hpp @@ -148,12 +148,17 @@ #if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 6) || !defined(__GXX_EXPERIMENTAL_CXX0X__) # define BOOST_NO_CXX11_HDR_TYPEINDEX #endif + +// C++0x features in GCC 4.7.0 and later +// +#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 7) || !defined(__GXX_EXPERIMENTAL_CXX0X__) +# define BOOST_NO_CXX11_ALLOCATOR +#endif // C++0x headers not yet (fully!) implemented // # define BOOST_NO_CXX11_HDR_THREAD # define BOOST_NO_CXX11_HDR_TYPE_TRAITS # define BOOST_NO_CXX11_HDR_CODECVT -# define BOOST_NO_CXX11_ALLOCATOR # define BOOST_NO_CXX11_ATOMIC_SMART_PTR // --- end --- diff --git a/test/boost_no_cxx11_allocator.ipp b/test/boost_no_cxx11_allocator.ipp index 2799daa9..2865fb7d 100644 --- a/test/boost_no_cxx11_allocator.ipp +++ b/test/boost_no_cxx11_allocator.ipp @@ -17,13 +17,13 @@ namespace boost_no_cxx11_allocator { int test() { std::pointer_traits* p = 0; - std::pointer_safety s = std::relaxed; + //std::pointer_safety s = std::relaxed; - char* (*l_undeclare_reachable)(char *p) = std::undeclare_reachable; - void (*l_declare_no_pointers)(char *p, size_t n) = std::declare_no_pointers; - void (*l_undeclare_no_pointers)(char *p, size_t n) = std::undeclare_no_pointers; - std::pointer_safety (*l_get_pointer_safety)() = std::get_pointer_safety; - void* (*l_align)(std::size_t alignment, std::size_t size, void *&ptr, std::size_t& space) = std::align; + //char* (*l_undeclare_reachable)(char *p) = std::undeclare_reachable; + //void (*l_declare_no_pointers)(char *p, size_t n) = std::declare_no_pointers; + //void (*l_undeclare_no_pointers)(char *p, size_t n) = std::undeclare_no_pointers; + //std::pointer_safety (*l_get_pointer_safety)() = std::get_pointer_safety; + //void* (*l_align)(std::size_t alignment, std::size_t size, void *&ptr, std::size_t& space) = std::align; std::allocator_arg_t aat; std::uses_allocator > ua; std::allocator_traits > at; diff --git a/test/boost_no_cxx11_hdr_chrono.ipp b/test/boost_no_cxx11_hdr_chrono.ipp index 4cbc4ff3..701b024e 100644 --- a/test/boost_no_cxx11_hdr_chrono.ipp +++ b/test/boost_no_cxx11_hdr_chrono.ipp @@ -23,7 +23,7 @@ int test() using std::chrono::minutes; using std::chrono::hours; using std::chrono::system_clock; - using std::chrono::monotonic_clock; + using std::chrono::steady_clock; using std::chrono::high_resolution_clock; return 0; }