Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r78194 - in trunk: boost/config/compiler boost/config/stdlib libs/config/test
From: john_at_[hidden]
Date: 2012-04-25 13:18:24


Author: johnmaddock
Date: 2012-04-25 13:18:23 EDT (Wed, 25 Apr 2012)
New Revision: 78194
URL: http://svn.boost.org/trac/boost/changeset/78194

Log:
Fix up GCC-4.7.0 config options.
Change boost_no_cxx11_allocator.ipp to only test for allocator related features.
Text files modified:
   trunk/boost/config/compiler/gcc.hpp | 6 +++---
   trunk/boost/config/stdlib/libstdcpp3.hpp | 7 ++++++-
   trunk/libs/config/test/boost_no_cxx11_allocator.ipp | 12 ++++++------
   trunk/libs/config/test/boost_no_cxx11_hdr_chrono.ipp | 2 +-
   4 files changed, 16 insertions(+), 11 deletions(-)

Modified: trunk/boost/config/compiler/gcc.hpp
==============================================================================
--- trunk/boost/config/compiler/gcc.hpp (original)
+++ trunk/boost/config/compiler/gcc.hpp 2012-04-25 13:18:23 EDT (Wed, 25 Apr 2012)
@@ -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

Modified: trunk/boost/config/stdlib/libstdcpp3.hpp
==============================================================================
--- trunk/boost/config/stdlib/libstdcpp3.hpp (original)
+++ trunk/boost/config/stdlib/libstdcpp3.hpp 2012-04-25 13:18:23 EDT (Wed, 25 Apr 2012)
@@ -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 ---

Modified: trunk/libs/config/test/boost_no_cxx11_allocator.ipp
==============================================================================
--- trunk/libs/config/test/boost_no_cxx11_allocator.ipp (original)
+++ trunk/libs/config/test/boost_no_cxx11_allocator.ipp 2012-04-25 13:18:23 EDT (Wed, 25 Apr 2012)
@@ -17,13 +17,13 @@
 int test()
 {
    std::pointer_traits<char*>* 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<int, std::allocator<int> > ua;
    std::allocator_traits<std::allocator<int> > at;

Modified: trunk/libs/config/test/boost_no_cxx11_hdr_chrono.ipp
==============================================================================
--- trunk/libs/config/test/boost_no_cxx11_hdr_chrono.ipp (original)
+++ trunk/libs/config/test/boost_no_cxx11_hdr_chrono.ipp 2012-04-25 13:18:23 EDT (Wed, 25 Apr 2012)
@@ -23,7 +23,7 @@
   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;
 }


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk