Fix up GCC-4.7.0 config options.

Change boost_no_cxx11_allocator.ipp to only test for allocator related features.

[SVN r78194]
This commit is contained in:
John Maddock
2012-04-25 17:18:23 +00:00
parent 95068b4510
commit ca0b295449
4 changed files with 16 additions and 11 deletions

View File

@ -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

View File

@ -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 ---

View File

@ -17,13 +17,13 @@ namespace boost_no_cxx11_allocator {
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;

View File

@ -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;
}