From 9e2541b030cc6775e71b4580c6ee35706be8540b Mon Sep 17 00:00:00 2001 From: Robert Ramey Date: Mon, 28 Mar 2016 14:41:53 -0700 Subject: [PATCH] a) suppress warnings in some tests b) break out test_forward_list c) fixe test operator new for mdvc --- CMake/CMakeLists.txt | 2 ++ include/boost/archive/detail/decl.hpp | 4 +--- include/boost/archive/detail/iserializer.hpp | 11 +---------- include/boost/archive/detail/utf8_codecvt_facet.hpp | 6 +++++- include/boost/serialization/forward_list.hpp | 4 ++-- include/boost/serialization/unique_ptr.hpp | 4 ++-- test/Jamfile.v2 | 2 ++ test/test_interrupts.cpp | 6 +++--- test/test_tools.hpp | 2 +- test/test_vector.cpp | 2 +- 10 files changed, 20 insertions(+), 23 deletions(-) diff --git a/CMake/CMakeLists.txt b/CMake/CMakeLists.txt index 908c3823..37a5ae5e 100644 --- a/CMake/CMakeLists.txt +++ b/CMake/CMakeLists.txt @@ -276,6 +276,8 @@ archive_test(test_derived_class A) archive_test(test_diamond) archive_test(test_diamond_complex) archive_test(test_exported polymorphic_base) +archive_test(test_forward_list A) +archive_test(test_forward_list_ptrs A) archive_test(test_helper_support) archive_test(test_interrupts) archive_test(test_list A) diff --git a/include/boost/archive/detail/decl.hpp b/include/boost/archive/detail/decl.hpp index bb386d86..4f731cde 100644 --- a/include/boost/archive/detail/decl.hpp +++ b/include/boost/archive/detail/decl.hpp @@ -29,14 +29,12 @@ #else #define BOOST_ARCHIVE_DECL BOOST_SYMBOL_IMPORT #endif + #if defined(BOOST_WARCHIVE_SOURCE) #define BOOST_WARCHIVE_DECL BOOST_SYMBOL_EXPORT #else #define BOOST_WARCHIVE_DECL BOOST_SYMBOL_IMPORT #endif - #if !defined(BOOST_WARCHIVE_SOURCE) && !defined(BOOST_ARCHIVE_SOURCE) - #define BOOST_ARCHIVE_OR_WARCHIVE_DECL BOOST_SYMBOL_IMPORT - #endif #if defined(BOOST_WARCHIVE_SOURCE) || defined(BOOST_ARCHIVE_SOURCE) #define BOOST_ARCHIVE_OR_WARCHIVE_DECL BOOST_SYMBOL_EXPORT diff --git a/include/boost/archive/detail/iserializer.hpp b/include/boost/archive/detail/iserializer.hpp index a053fba4..9e649a05 100644 --- a/include/boost/archive/detail/iserializer.hpp +++ b/include/boost/archive/detail/iserializer.hpp @@ -225,15 +225,6 @@ struct heap_allocation { static T * invoke_new() { return static_cast((T::operator new)(sizeof(T))); } - template - static void deleter(void * t, std::size_t s){ - D(t, s); - } - - template - static void deleter(void * t, std::size_t s){ - D(t); - } static void invoke_delete(T * t) { // if compilation fails here, the likely cause that the class // T has a class specific new operator but no class specific @@ -243,7 +234,7 @@ struct heap_allocation { // that the class might have class specific new with NO // class specific delete at all. Patches (compatible with // C++03) welcome! - deleter(t, sizeof(T)); + (operator delete)(t); } }; struct doesnt_have_new_operator { diff --git a/include/boost/archive/detail/utf8_codecvt_facet.hpp b/include/boost/archive/detail/utf8_codecvt_facet.hpp index 9faba38e..dfbec6bd 100644 --- a/include/boost/archive/detail/utf8_codecvt_facet.hpp +++ b/include/boost/archive/detail/utf8_codecvt_facet.hpp @@ -9,7 +9,11 @@ #include -#ifdef BOOST_NO_CXX11_HDR_CODECVT +// std::codecvt_utf8 doesn't seem to work for msvc +// versions prior to MSVC 14.0 + +#if defined(_MSC_VER) && _MSC_VER < 1900 \ +|| defined( BOOST_NO_CXX11_HDR_CODECVT ) #include #define BOOST_UTF8_BEGIN_NAMESPACE \ namespace boost { namespace archive { namespace detail { diff --git a/include/boost/serialization/forward_list.hpp b/include/boost/serialization/forward_list.hpp index f932fe0d..e1740538 100644 --- a/include/boost/serialization/forward_list.hpp +++ b/include/boost/serialization/forward_list.hpp @@ -41,7 +41,7 @@ template inline void save( Archive & ar, const std::forward_list &t, - const unsigned int file_version + const unsigned int /*file_version*/ ){ const collection_size_type count(std::distance(t.cbegin(), t.cend())); boost::serialization::stl::save_collection< @@ -90,7 +90,7 @@ template inline void load( Archive & ar, std::forward_list &t, - const unsigned int file_version + const unsigned int /*file_version*/ ){ const boost::archive::library_version_type library_version( ar.get_library_version() diff --git a/include/boost/serialization/unique_ptr.hpp b/include/boost/serialization/unique_ptr.hpp index ac615b9d..8d8703ef 100644 --- a/include/boost/serialization/unique_ptr.hpp +++ b/include/boost/serialization/unique_ptr.hpp @@ -30,7 +30,7 @@ template inline void save( Archive & ar, const std::unique_ptr< T > &t, - const unsigned int file_version + const unsigned int /*file_version*/ ){ // only the raw pointer has to be saved // the ref count is rebuilt automatically on load @@ -42,7 +42,7 @@ template inline void load( Archive & ar, std::unique_ptr< T > &t, - const unsigned int file_version + const unsigned int /*file_version*/ ){ T *tx; ar >> BOOST_SERIALIZATION_NVP(tx); diff --git a/test/Jamfile.v2 b/test/Jamfile.v2 index a42bced4..08fde1f1 100644 --- a/test/Jamfile.v2 +++ b/test/Jamfile.v2 @@ -77,6 +77,8 @@ test-suite "serialization" : [ test-bsl-run_files test_diamond ] [ test-bsl-run_files test_diamond_complex ] [ test-bsl-run_files test_exported : polymorphic_base ] + [ test-bsl-run_files test_forward_list : A : : [ requires cxx11_hdr_forward_list ] ] # BOOST_NO_CXX11_HDR_FORWARD_LIST + [ test-bsl-run_files test_forward_list_ptrs : A : : [ requires cxx11_hdr_forward_list ] ] # BOOST_NO_CXX11_HDR_FORWARD_LIST [ test-bsl-run_files test_helper_support ] [ test-bsl-run_files test_interrupts ] [ test-bsl-run_files test_list : A ] diff --git a/test/test_interrupts.cpp b/test/test_interrupts.cpp index c1c3239b..cb81712a 100644 --- a/test/test_interrupts.cpp +++ b/test/test_interrupts.cpp @@ -29,7 +29,7 @@ namespace std{ struct test_dummy_out { template - void save(Archive & ar, const unsigned int version) const { + void save(Archive & ar, const unsigned int /*version*/) const { throw boost::archive::archive_exception( boost::archive::archive_exception::other_exception ); @@ -77,10 +77,10 @@ int test_out(){ struct test_dummy_in { template - void save(Archive & ar, const unsigned int version) const { + void save(Archive & ar, const unsigned int /*version*/) const { } template - void load(Archive & ar, const unsigned int version){ + void load(Archive & ar, const unsigned int /*version*/){ throw boost::archive::archive_exception( boost::archive::archive_exception::other_exception ); diff --git a/test/test_tools.hpp b/test/test_tools.hpp index 4ac7368c..8c25db85 100644 --- a/test/test_tools.hpp +++ b/test/test_tools.hpp @@ -157,7 +157,7 @@ namespace archive { #endif // defined(__hpux) #endif // defined(_WIN32) || defined(__WIN32__) || defined(WIN32) -#include +#include #define BOOST_CHECK( P ) \ BOOST_TEST( (P) ) diff --git a/test/test_vector.cpp b/test/test_vector.cpp index 3d602550..130ddab4 100644 --- a/test/test_vector.cpp +++ b/test/test_vector.cpp @@ -75,7 +75,7 @@ public: return m_i == rhs.m_i; } template - void serialize(Archive & ar, const unsigned int version){ + void serialize(Archive & ar, const unsigned int /*version*/){ ar & BOOST_SERIALIZATION_NVP(m_i); } };