From 40c8299a255faef1cb59933f664c6ac54a0bb997 Mon Sep 17 00:00:00 2001 From: John Maddock Date: Sat, 10 Jan 2009 11:18:42 +0000 Subject: [PATCH] Merge changes from Trunk. [SVN r50531] --- doc/html/boost_config/acknowledgements.html | 4 +- .../boost_config/boost_macro_reference.html | 49 ++++++++++++------- .../guidelines_for_boost_authors.html | 4 +- doc/html/boost_config/rationale.html | 4 +- doc/html/index.html | 8 +-- doc/macro_reference.qbk | 8 ++- include/boost/config/auto_link.hpp | 7 ++- include/boost/config/compiler/codegear.hpp | 1 + include/boost/config/compiler/visualc.hpp | 11 ++++- include/boost/config/platform/bsd.hpp | 7 +-- include/boost/config/stdlib/dinkumware.hpp | 5 ++ include/boost/config/stdlib/libcomo.hpp | 4 ++ include/boost/config/stdlib/libstdcpp3.hpp | 5 ++ include/boost/config/stdlib/modena.hpp | 4 ++ include/boost/config/stdlib/msl.hpp | 4 ++ include/boost/config/stdlib/roguewave.hpp | 6 +++ include/boost/config/stdlib/sgi.hpp | 1 + include/boost/config/stdlib/stlport.hpp | 3 ++ include/boost/config/stdlib/vacpp.hpp | 1 + include/boost/config/suffix.hpp | 3 +- module.cmake | 0 test/all/Jamfile.v2 | 5 +- test/boost_has_hash.ipp | 20 ++++++-- test/boost_no_std_unordered.ipp | 27 ++++++++++ test/config_info.cpp | 2 + test/config_test.cpp | 12 ++++- test/no_std_unordered_fail.cpp | 37 ++++++++++++++ test/no_std_unordered_pass.cpp | 37 ++++++++++++++ 28 files changed, 236 insertions(+), 43 deletions(-) create mode 100644 module.cmake create mode 100644 test/boost_no_std_unordered.ipp create mode 100644 test/no_std_unordered_fail.cpp create mode 100644 test/no_std_unordered_pass.cpp diff --git a/doc/html/boost_config/acknowledgements.html b/doc/html/boost_config/acknowledgements.html index b02bda6a..a1c5517b 100644 --- a/doc/html/boost_config/acknowledgements.html +++ b/doc/html/boost_config/acknowledgements.html @@ -3,8 +3,8 @@ Acknowledgements - - + + diff --git a/doc/html/boost_config/boost_macro_reference.html b/doc/html/boost_config/boost_macro_reference.html index 98fa61b5..11932b66 100644 --- a/doc/html/boost_config/boost_macro_reference.html +++ b/doc/html/boost_config/boost_macro_reference.html @@ -3,8 +3,8 @@ Boost Macro Reference - - + + @@ -2218,7 +2218,6 @@ - @@ -2231,7 +2230,6 @@ Description

-  @@ -2245,7 +2243,6 @@ The compiler does not support type char16_t.

-  @@ -2258,7 +2255,6 @@ The compiler does not support type char32_t.

-  @@ -2271,7 +2267,6 @@ The compiler does not support constexpr.

-  @@ -2284,7 +2279,6 @@ The compiler does not support decltype.

-  @@ -2295,7 +2289,14 @@

The compiler does not support defaulted (= - default) functions. [[BOOST_NO_DELETED_FUNCTIONS + default) functions. +

+ + + + +

+ BOOST_NO_DELETED_FUNCTIONS

@@ -2317,7 +2318,6 @@ T()).

-  @@ -2331,7 +2331,6 @@ for templates (explicit template).

-  @@ -2344,7 +2343,6 @@ The C++ compiler does not support C++0x initializer lists.

-  @@ -2358,7 +2356,6 @@ long.

-  @@ -2371,7 +2368,6 @@ The compiler does not support raw string literals.

-  @@ -2384,7 +2380,6 @@ The compiler does not support r-value references.

-  @@ -2397,7 +2392,6 @@ The compiler does not support scoped enumerations (enum class).

-  @@ -2410,7 +2404,18 @@ The compiler does not support static_assert.

-  + + + +

+ BOOST_NO_STD_UNORDERD +

+ + +

+ The standard library does not support <unordered_map> and <unordered_set>. +

+ @@ -2421,8 +2426,14 @@

The compiler does not support Unicode (u8, - u, U#) literals. - ]] [[BOOST_NO_VARIADIC_TEMPLATES` + u, U) literals. +

+ + + + +

+ BOOST_NO_VARIADIC_TEMPLATES

diff --git a/doc/html/boost_config/guidelines_for_boost_authors.html b/doc/html/boost_config/guidelines_for_boost_authors.html index 2e16141f..17a76c72 100644 --- a/doc/html/boost_config/guidelines_for_boost_authors.html +++ b/doc/html/boost_config/guidelines_for_boost_authors.html @@ -3,8 +3,8 @@ Guidelines for Boost Authors - - + + diff --git a/doc/html/boost_config/rationale.html b/doc/html/boost_config/rationale.html index cdd610f0..fe45071e 100644 --- a/doc/html/boost_config/rationale.html +++ b/doc/html/boost_config/rationale.html @@ -3,8 +3,8 @@ Rationale - - + + diff --git a/doc/html/index.html b/doc/html/index.html index 58b2310d..8b25ea4b 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -3,8 +3,8 @@ Boost.Config - - + + @@ -28,7 +28,7 @@
-

+

Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

@@ -960,7 +960,7 @@
- +

Last revised: January 03, 2009 at 22:54:59 GMT

Last revised: December 21, 2008 at 17:07:02 GMT


diff --git a/doc/macro_reference.qbk b/doc/macro_reference.qbk index fc98548e..17dcf597 100644 --- a/doc/macro_reference.qbk +++ b/doc/macro_reference.qbk @@ -537,7 +537,8 @@ type `char32_t`. `decltype`. ]] [[`BOOST_NO_DEFAULTED_FUNCTIONS`][The compiler does not support -defaulted (`= default`) functions. +defaulted (`= default`) functions. +]] [[`BOOST_NO_DELETED_FUNCTIONS`][The compiler does not support deleted (`= delete`) functions. ]] @@ -564,8 +565,11 @@ scoped enumerations (`enum class`). [[`BOOST_NO_STATIC_ASSERT`][The compiler does not support `static_assert`. ]] +[[`BOOST_NO_STD_UNORDERD`][The standard library does not support + and . +]] [[`BOOST_NO_UNICODE_LITERALS`][The compiler does not support -Unicode (`u8`, `u`, `U') literals. +Unicode (`u8`, `u`, `U`) literals. ]] [[`BOOST_NO_VARIADIC_TEMPLATES`][The compiler does not support variadic templates. diff --git a/include/boost/config/auto_link.hpp b/include/boost/config/auto_link.hpp index df58d4f9..f2eb583f 100644 --- a/include/boost/config/auto_link.hpp +++ b/include/boost/config/auto_link.hpp @@ -135,11 +135,16 @@ BOOST_LIB_VERSION: The Boost version, in the form x_y, for Boost version x.y. // vc80: # define BOOST_LIB_TOOLSET "vc80" -#elif defined(BOOST_MSVC) && (BOOST_MSVC >= 1500) +#elif defined(BOOST_MSVC) && (BOOST_MSVC == 1500) // vc90: # define BOOST_LIB_TOOLSET "vc90" +#elif defined(BOOST_MSVC) && (BOOST_MSVC >= 1600) + + // vc10: +# define BOOST_LIB_TOOLSET "vc100" + #elif defined(__BORLANDC__) // CBuilder 6: diff --git a/include/boost/config/compiler/codegear.hpp b/include/boost/config/compiler/codegear.hpp index d27817a9..ae57d76a 100644 --- a/include/boost/config/compiler/codegear.hpp +++ b/include/boost/config/compiler/codegear.hpp @@ -79,6 +79,7 @@ # define BOOST_HAS_MACRO_USE_FACET +# define BOOST_NO_INITIALIZER_LISTS // On non-Win32 platforms let the platform config figure this out: # ifdef _WIN32 diff --git a/include/boost/config/compiler/visualc.hpp b/include/boost/config/compiler/visualc.hpp index e57f75cf..d6a474a9 100644 --- a/include/boost/config/compiler/visualc.hpp +++ b/include/boost/config/compiler/visualc.hpp @@ -22,6 +22,11 @@ # define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS # define BOOST_NO_VOID_RETURNS # define BOOST_NO_EXCEPTION_STD_NAMESPACE + +# if BOOST_MSVC == 1202 +# define BOOST_NO_STD_TYPEINFO +# endif + // disable min/max macro defines on vc6: // #endif @@ -79,7 +84,7 @@ # define BOOST_NO_MEMBER_TEMPLATE_FRIENDS #endif -#if _MSC_VER <= 1500 // 1500 == VC++ 9.0 +#if _MSC_VER <= 1600 // 1600 == VC++ 10.0 # define BOOST_NO_TWO_PHASE_NAME_LOOKUP #endif @@ -179,6 +184,8 @@ # define BOOST_COMPILER_VERSION 8.0 # elif _MSC_VER == 1500 # define BOOST_COMPILER_VERSION 9.0 +# elif _MSC_VER == 1600 +# define BOOST_COMPILER_VERSION 10.0 # else # define BOOST_COMPILER_VERSION _MSC_VER # endif @@ -194,7 +201,7 @@ #endif // // last known and checked version is 1500 (VC9): -#if (_MSC_VER > 1500) +#if (_MSC_VER > 1600) # if defined(BOOST_ASSERT_CONFIG) # error "Unknown compiler version - please run the configure tests and report the results" # else diff --git a/include/boost/config/platform/bsd.hpp b/include/boost/config/platform/bsd.hpp index 810d3707..f02b0e26 100644 --- a/include/boost/config/platform/bsd.hpp +++ b/include/boost/config/platform/bsd.hpp @@ -36,7 +36,8 @@ // FreeBSD 3.x has pthreads support, but defines _POSIX_THREADS in // and not in // -#if (defined(__FreeBSD__) && (__FreeBSD__ <= 3)) || defined(__OpenBSD__) +#if (defined(__FreeBSD__) && (__FreeBSD__ <= 3))\ + || defined(__OpenBSD__) || defined(__DragonFly__) # define BOOST_HAS_PTHREADS #endif @@ -55,13 +56,13 @@ #endif #if !((defined(__FreeBSD__) && (__FreeBSD__ >= 5)) \ - || (__NetBSD_GCC__ >= 2095003)) + || (__NetBSD_GCC__ >= 2095003) || defined(__DragonFly__)) # define BOOST_NO_CWCHAR #endif // // The BSD has macros only, no functions: // -#if !defined(__OpenBSD__) +#if !defined(__OpenBSD__) || defined(__DragonFly__) # define BOOST_NO_CTYPE_FUNCTIONS #endif diff --git a/include/boost/config/stdlib/dinkumware.hpp b/include/boost/config/stdlib/dinkumware.hpp index 01f1238d..ff1aed94 100644 --- a/include/boost/config/stdlib/dinkumware.hpp +++ b/include/boost/config/stdlib/dinkumware.hpp @@ -78,6 +78,11 @@ # define BOOST_NO_STD_ITERATOR_TRAITS #endif +// +// No std::unordered_* containers yet: +// +#define BOOST_NO_STD_UNORDERED + #if defined(__ICL) && (__ICL < 800) && defined(_CPPLIB_VER) && (_CPPLIB_VER <= 310) // Intel C++ chokes over any non-trivial use of // this may be an overly restrictive define, but regex fails without it: diff --git a/include/boost/config/stdlib/libcomo.hpp b/include/boost/config/stdlib/libcomo.hpp index 749781fe..3114094e 100644 --- a/include/boost/config/stdlib/libcomo.hpp +++ b/include/boost/config/stdlib/libcomo.hpp @@ -32,6 +32,10 @@ # define BOOST_HAS_HASH # define BOOST_HAS_SLIST #endif +// +// We never have the new C++0x unordered containers: +// +#define BOOST_NO_STD_UNORDERED // // Intrinsic type_traits support. diff --git a/include/boost/config/stdlib/libstdcpp3.hpp b/include/boost/config/stdlib/libstdcpp3.hpp index a619e3eb..8e1c811b 100644 --- a/include/boost/config/stdlib/libstdcpp3.hpp +++ b/include/boost/config/stdlib/libstdcpp3.hpp @@ -76,3 +76,8 @@ # define BOOST_HASH_MAP_HEADER # endif #endif + +#ifndef __GXX_EXPERIMENTAL_CXX0X__ +# define BOOST_NO_STD_UNORDERED +#endif + diff --git a/include/boost/config/stdlib/modena.hpp b/include/boost/config/stdlib/modena.hpp index 3d0f76be..e488d13a 100644 --- a/include/boost/config/stdlib/modena.hpp +++ b/include/boost/config/stdlib/modena.hpp @@ -21,6 +21,10 @@ #ifndef MSIPL_WCHART #define BOOST_NO_STD_WSTRING #endif +// +// We never have the new C++0x unordered containers: +// +#define BOOST_NO_STD_UNORDERED #define BOOST_STDLIB "Modena C++ standard library" diff --git a/include/boost/config/stdlib/msl.hpp b/include/boost/config/stdlib/msl.hpp index f8d8752b..746878de 100644 --- a/include/boost/config/stdlib/msl.hpp +++ b/include/boost/config/stdlib/msl.hpp @@ -45,6 +45,10 @@ # define BOOST_NO_STD_USE_FACET # define BOOST_HAS_TWO_ARG_USE_FACET #endif +// +// We never have the new C++0x unordered containers: +// +#define BOOST_NO_STD_UNORDERED #define BOOST_STDLIB "Metrowerks Standard Library version " BOOST_STRINGIZE(__MSL_CPP__) diff --git a/include/boost/config/stdlib/roguewave.hpp b/include/boost/config/stdlib/roguewave.hpp index ebf4c1f8..3e588824 100644 --- a/include/boost/config/stdlib/roguewave.hpp +++ b/include/boost/config/stdlib/roguewave.hpp @@ -151,3 +151,9 @@ # define _HP_INSTANTIATE_STD2_VL # endif #endif + +// +// We never have the new C++0x unordered containers: +// +#define BOOST_NO_STD_UNORDERED + diff --git a/include/boost/config/stdlib/sgi.hpp b/include/boost/config/stdlib/sgi.hpp index f3fa05b2..b493d49c 100644 --- a/include/boost/config/stdlib/sgi.hpp +++ b/include/boost/config/stdlib/sgi.hpp @@ -76,6 +76,7 @@ // #define BOOST_HAS_HASH #define BOOST_HAS_SLIST +#define BOOST_NO_STD_UNORDERED // // If this is GNU libstdc++2, then no and no std::wstring: diff --git a/include/boost/config/stdlib/stlport.hpp b/include/boost/config/stdlib/stlport.hpp index b1dabf23..8d0677ea 100644 --- a/include/boost/config/stdlib/stlport.hpp +++ b/include/boost/config/stdlib/stlport.hpp @@ -61,6 +61,9 @@ # endif #endif +#if defined(_STLPORT_VERSION) && (_STLPORT_VERSION < 0x500) +# define BOOST_NO_STD_UNORDERED +#endif // // Without member template support enabled, their are no template // iterate constructors, and no std::allocator: diff --git a/include/boost/config/stdlib/vacpp.hpp b/include/boost/config/stdlib/vacpp.hpp index 8321ee0c..c6c45660 100644 --- a/include/boost/config/stdlib/vacpp.hpp +++ b/include/boost/config/stdlib/vacpp.hpp @@ -11,6 +11,7 @@ #define BOOST_HAS_MACRO_USE_FACET #define BOOST_NO_STD_MESSAGES +#define BOOST_NO_STD_UNORDERED #define BOOST_STDLIB "Visual Age default standard library" diff --git a/include/boost/config/suffix.hpp b/include/boost/config/suffix.hpp index f71c644f..142e8e00 100644 --- a/include/boost/config/suffix.hpp +++ b/include/boost/config/suffix.hpp @@ -223,7 +223,8 @@ // from here then add to the appropriate compiler section): // #if (defined(__MT__) || defined(_MT) || defined(_REENTRANT) \ - || defined(_PTHREADS)) && !defined(BOOST_HAS_THREADS) + || defined(_PTHREADS) || defined(__APPLE__) || defined(__DragonFly__)) \ + && !defined(BOOST_HAS_THREADS) # define BOOST_HAS_THREADS #endif diff --git a/module.cmake b/module.cmake new file mode 100644 index 00000000..e69de29b diff --git a/test/all/Jamfile.v2 b/test/all/Jamfile.v2 index 59bb7e3e..fd81f976 100644 --- a/test/all/Jamfile.v2 +++ b/test/all/Jamfile.v2 @@ -1,7 +1,7 @@ # # Regression test Jamfile for boost configuration setup. # *** DO NOT EDIT THIS FILE BY HAND *** -# This file was automatically generated on Wed Sep 24 11:44:22 2008 +# This file was automatically generated on Tue Dec 16 16:41:41 2008 # by libs/config/tools/generate.cpp # Copyright John Maddock. # Use, modification and distribution are subject to the @@ -337,6 +337,9 @@ test-suite "BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN" : test-suite "BOOST_NO_STD_TYPEINFO" : [ run ../no_std_typeinfo_pass.cpp ] [ compile-fail ../no_std_typeinfo_fail.cpp ] ; +test-suite "BOOST_NO_STD_UNORDERED" : +[ run ../no_std_unordered_pass.cpp ] +[ compile-fail ../no_std_unordered_fail.cpp ] ; test-suite "BOOST_NO_STD_USE_FACET" : [ run ../no_std_use_facet_pass.cpp ] [ compile-fail ../no_std_use_facet_fail.cpp ] ; diff --git a/test/boost_has_hash.ipp b/test/boost_has_hash.ipp index c9cfeff8..fb89764d 100644 --- a/test/boost_has_hash.ipp +++ b/test/boost_has_hash.ipp @@ -11,9 +11,17 @@ // or hash_map classes. #if defined(__GLIBCXX__) || (defined(__GLIBCPP__) && __GLIBCPP__>=20020514) // GCC >= 3.1.0 -# define BOOST_STD_EXTENSION_NAMESPACE __gnu_cxx -#include -#include +# ifdef BOOST_NO_STD_UNORDERED +# define BOOST_STD_EXTENSION_NAMESPACE __gnu_cxx +# include +# include +# else + // If we have BOOST_NO_STD_UNORDERED *not* defined, then we must + // not include the headers as they clash with the C++0x + // headers. ie in any given translation unit we can include one + // or the other, but not both. +# define DISABLE_BOOST_HAS_HASH_TEST +# endif #else #include #include @@ -25,6 +33,8 @@ namespace boost_has_hash{ +#ifndef DISABLE_BOOST_HAS_HASH_TEST + template void foo(const BOOST_STD_EXTENSION_NAMESPACE::hash_set& ) { @@ -35,12 +45,16 @@ void foo(const BOOST_STD_EXTENSION_NAMESPACE::hash_map& ) { } +#endif + int test() { +#ifndef DISABLE_BOOST_HAS_HASH_TEST BOOST_STD_EXTENSION_NAMESPACE::hash_set hs; foo(hs); BOOST_STD_EXTENSION_NAMESPACE::hash_map hm; foo(hm); +#endif return 0; } diff --git a/test/boost_no_std_unordered.ipp b/test/boost_no_std_unordered.ipp new file mode 100644 index 00000000..c7ad0869 --- /dev/null +++ b/test/boost_no_std_unordered.ipp @@ -0,0 +1,27 @@ +// (C) Copyright John Maddock and Dave Abrahams 2002. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org/libs/config for most recent version. + +// MACRO: BOOST_NO_STD_UNORDERED +// TITLE: and +// DESCRIPTION: Check for C++0x unordered container support + +#include +#include + +namespace boost_no_std_unordered{ + +int test() +{ + std::unordered_map im; + std::unordered_set is; + std::unordered_multimap imm; + std::unordered_multiset ims; + return im.size() + is.size() + imm.size() + ims.size(); // all zero +} + +} + diff --git a/test/config_info.cpp b/test/config_info.cpp index cb8cb146..eb12b9c1 100644 --- a/test/config_info.cpp +++ b/test/config_info.cpp @@ -1001,6 +1001,7 @@ void print_boost_macros() PRINT_MACRO(BOOST_NO_STD_MIN_MAX); PRINT_MACRO(BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN); PRINT_MACRO(BOOST_NO_STD_TYPEINFO); + PRINT_MACRO(BOOST_NO_STD_UNORDERED); PRINT_MACRO(BOOST_NO_STD_USE_FACET); PRINT_MACRO(BOOST_NO_STD_WSTREAMBUF); PRINT_MACRO(BOOST_NO_STD_WSTRING); @@ -1041,6 +1042,7 @@ void print_boost_macros() + // END GENERATED BLOCK diff --git a/test/config_test.cpp b/test/config_test.cpp index 068f7525..c542a82f 100644 --- a/test/config_test.cpp +++ b/test/config_test.cpp @@ -1,4 +1,4 @@ -// This file was automatically generated on Wed Sep 24 11:44:22 2008 +// This file was automatically generated on Tue Dec 16 16:41:41 2008 // by libs/config/tools/generate.cpp // Copyright John Maddock 2002-4. // Use, modification and distribution are subject to the @@ -292,6 +292,11 @@ namespace boost_no_std_output_iterator_assign = empty_boost; #else namespace boost_no_std_typeinfo = empty_boost; #endif +#ifndef BOOST_NO_STD_UNORDERED +#include "boost_no_std_unordered.ipp" +#else +namespace boost_no_std_unordered = empty_boost; +#endif #ifndef BOOST_NO_STD_USE_FACET #include "boost_no_std_use_facet.ipp" #else @@ -1146,6 +1151,11 @@ int main( int, char *[] ) std::cerr << "Failed test for BOOST_NO_STD_TYPEINFO at: " << __FILE__ << ":" << __LINE__ << std::endl; ++error_count; } + if(0 != boost_no_std_unordered::test()) + { + std::cerr << "Failed test for BOOST_NO_STD_UNORDERED at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } if(0 != boost_no_std_use_facet::test()) { std::cerr << "Failed test for BOOST_NO_STD_USE_FACET at: " << __FILE__ << ":" << __LINE__ << std::endl; diff --git a/test/no_std_unordered_fail.cpp b/test/no_std_unordered_fail.cpp new file mode 100644 index 00000000..afc31bea --- /dev/null +++ b/test/no_std_unordered_fail.cpp @@ -0,0 +1,37 @@ +// This file was automatically generated on Tue Dec 16 16:41:40 2008 +// by libs/config/tools/generate.cpp +// Copyright John Maddock 2002-4. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org/libs/config for the most recent version.// +// Revision $Id: generate.cpp 49281 2008-10-11 15:40:44Z johnmaddock $ +// + + +// Test file for macro BOOST_NO_STD_UNORDERED +// This file should not compile, if it does then +// BOOST_NO_STD_UNORDERED should not be defined. +// See file boost_no_std_unordered.ipp for details + +// Must not have BOOST_ASSERT_CONFIG set; it defeats +// the objective of this file: +#ifdef BOOST_ASSERT_CONFIG +# undef BOOST_ASSERT_CONFIG +#endif + +#include +#include "test.hpp" + +#ifdef BOOST_NO_STD_UNORDERED +#include "boost_no_std_unordered.ipp" +#else +#error "this file should not compile" +#endif + +int main( int, char *[] ) +{ + return boost_no_std_unordered::test(); +} + diff --git a/test/no_std_unordered_pass.cpp b/test/no_std_unordered_pass.cpp new file mode 100644 index 00000000..5ef2bf02 --- /dev/null +++ b/test/no_std_unordered_pass.cpp @@ -0,0 +1,37 @@ +// This file was automatically generated on Tue Dec 16 16:41:40 2008 +// by libs/config/tools/generate.cpp +// Copyright John Maddock 2002-4. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org/libs/config for the most recent version.// +// Revision $Id: generate.cpp 49281 2008-10-11 15:40:44Z johnmaddock $ +// + + +// Test file for macro BOOST_NO_STD_UNORDERED +// This file should compile, if it does not then +// BOOST_NO_STD_UNORDERED should be defined. +// See file boost_no_std_unordered.ipp for details + +// Must not have BOOST_ASSERT_CONFIG set; it defeats +// the objective of this file: +#ifdef BOOST_ASSERT_CONFIG +# undef BOOST_ASSERT_CONFIG +#endif + +#include +#include "test.hpp" + +#ifndef BOOST_NO_STD_UNORDERED +#include "boost_no_std_unordered.ipp" +#else +namespace boost_no_std_unordered = empty_boost; +#endif + +int main( int, char *[] ) +{ + return boost_no_std_unordered::test(); +} +