summaryrefslogtreecommitdiffstats
path: root/src/boost/libs/serialization/test
diff options
context:
space:
mode:
Diffstat (limited to 'src/boost/libs/serialization/test')
-rw-r--r--src/boost/libs/serialization/test/A.cpp218
-rw-r--r--src/boost/libs/serialization/test/A.hpp95
-rw-r--r--src/boost/libs/serialization/test/A.ipp60
-rw-r--r--src/boost/libs/serialization/test/B.hpp115
-rw-r--r--src/boost/libs/serialization/test/C.hpp68
-rw-r--r--src/boost/libs/serialization/test/D.hpp88
-rw-r--r--src/boost/libs/serialization/test/J.hpp51
-rw-r--r--src/boost/libs/serialization/test/Jamfile.v2190
-rw-r--r--src/boost/libs/serialization/test/b2.log2571
-rw-r--r--src/boost/libs/serialization/test/base.hpp46
-rw-r--r--src/boost/libs/serialization/test/binary_archive.hpp24
-rw-r--r--src/boost/libs/serialization/test/binary_warchive.hpp14
-rw-r--r--src/boost/libs/serialization/test/config_test.cpp17
-rw-r--r--src/boost/libs/serialization/test/config_test.obin0 -> 344 bytes
-rw-r--r--src/boost/libs/serialization/test/derived2.hpp50
-rw-r--r--src/boost/libs/serialization/test/dll_a.cpp49
-rw-r--r--src/boost/libs/serialization/test/dll_base.cpp55
-rw-r--r--src/boost/libs/serialization/test/dll_derived2.cpp56
-rw-r--r--src/boost/libs/serialization/test/dll_polymorphic_base.cpp12
-rw-r--r--src/boost/libs/serialization/test/dll_polymorphic_derived2.cpp13
-rw-r--r--src/boost/libs/serialization/test/library_status.html369
-rw-r--r--src/boost/libs/serialization/test/links.html748
-rw-r--r--src/boost/libs/serialization/test/multi_shared1.cpp23
-rw-r--r--src/boost/libs/serialization/test/multi_shared2.cpp22
-rw-r--r--src/boost/libs/serialization/test/polymorphic_array_binary_archive.hpp13
-rw-r--r--src/boost/libs/serialization/test/polymorphic_base.cpp38
-rw-r--r--src/boost/libs/serialization/test/polymorphic_base.hpp66
-rw-r--r--src/boost/libs/serialization/test/polymorphic_binary_archive.hpp13
-rw-r--r--src/boost/libs/serialization/test/polymorphic_derived1.cpp37
-rw-r--r--src/boost/libs/serialization/test/polymorphic_derived1.hpp45
-rw-r--r--src/boost/libs/serialization/test/polymorphic_derived2.cpp52
-rw-r--r--src/boost/libs/serialization/test/polymorphic_derived2.hpp71
-rw-r--r--src/boost/libs/serialization/test/polymorphic_text_archive.hpp12
-rw-r--r--src/boost/libs/serialization/test/polymorphic_text_warchive.hpp17
-rw-r--r--src/boost/libs/serialization/test/polymorphic_xml_archive.hpp12
-rw-r--r--src/boost/libs/serialization/test/polymorphic_xml_warchive.hpp12
-rw-r--r--src/boost/libs/serialization/test/portable_binary_archive.hpp31
-rw-r--r--src/boost/libs/serialization/test/test3.dat1
-rw-r--r--src/boost/libs/serialization/test/test__helper.cpp160
-rw-r--r--src/boost/libs/serialization/test/test_array.cpp92
-rw-r--r--src/boost/libs/serialization/test/test_binary.cpp167
-rw-r--r--src/boost/libs/serialization/test/test_bitset.cpp64
-rw-r--r--src/boost/libs/serialization/test/test_boost_array.cpp93
-rw-r--r--src/boost/libs/serialization/test/test_check.cpp145
-rw-r--r--src/boost/libs/serialization/test/test_class_info_load.cpp92
-rw-r--r--src/boost/libs/serialization/test/test_class_info_save.cpp100
-rw-r--r--src/boost/libs/serialization/test/test_codecvt_null.cpp124
-rw-r--r--src/boost/libs/serialization/test/test_complex.cpp82
-rw-r--r--src/boost/libs/serialization/test/test_const_load_fail1.cpp23
-rw-r--r--src/boost/libs/serialization/test/test_const_load_fail1_nvp.cpp24
-rw-r--r--src/boost/libs/serialization/test/test_const_load_fail2.cpp23
-rw-r--r--src/boost/libs/serialization/test/test_const_load_fail2_nvp.cpp25
-rw-r--r--src/boost/libs/serialization/test/test_const_load_fail3.cpp22
-rw-r--r--src/boost/libs/serialization/test/test_const_load_fail3_nvp.cpp24
-rw-r--r--src/boost/libs/serialization/test/test_const_pass.cpp54
-rw-r--r--src/boost/libs/serialization/test/test_const_save_warn1.cpp25
-rw-r--r--src/boost/libs/serialization/test/test_const_save_warn1_nvp.cpp26
-rw-r--r--src/boost/libs/serialization/test/test_const_save_warn2.cpp24
-rw-r--r--src/boost/libs/serialization/test/test_const_save_warn2_nvp.cpp25
-rw-r--r--src/boost/libs/serialization/test/test_const_save_warn3.cpp24
-rw-r--r--src/boost/libs/serialization/test/test_const_save_warn3_nvp.cpp25
-rw-r--r--src/boost/libs/serialization/test/test_const_save_warn4.cpp37
-rw-r--r--src/boost/libs/serialization/test/test_const_save_warn4_nvp.cpp39
-rw-r--r--src/boost/libs/serialization/test/test_contained_class.cpp69
-rw-r--r--src/boost/libs/serialization/test/test_cyclic_ptrs.cpp204
-rw-r--r--src/boost/libs/serialization/test/test_delete_pointer.cpp119
-rw-r--r--src/boost/libs/serialization/test/test_deque.cpp55
-rw-r--r--src/boost/libs/serialization/test/test_derived.cpp148
-rw-r--r--src/boost/libs/serialization/test/test_derived_class.cpp49
-rw-r--r--src/boost/libs/serialization/test/test_derived_class_ptr.cpp52
-rw-r--r--src/boost/libs/serialization/test/test_diamond.cpp205
-rw-r--r--src/boost/libs/serialization/test/test_diamond_complex.cpp480
-rw-r--r--src/boost/libs/serialization/test/test_dll_exported.cpp137
-rw-r--r--src/boost/libs/serialization/test/test_dll_plugin.cpp211
-rw-r--r--src/boost/libs/serialization/test/test_dll_simple.cpp247
-rw-r--r--src/boost/libs/serialization/test/test_enable_shared_from_this.cpp195
-rw-r--r--src/boost/libs/serialization/test/test_exported.cpp104
-rw-r--r--src/boost/libs/serialization/test/test_forward_list.cpp51
-rw-r--r--src/boost/libs/serialization/test/test_forward_list_ptrs.cpp94
-rw-r--r--src/boost/libs/serialization/test/test_helper_support.cpp129
-rw-r--r--src/boost/libs/serialization/test/test_inclusion.cpp43
-rw-r--r--src/boost/libs/serialization/test/test_inclusion2.cpp25
-rw-r--r--src/boost/libs/serialization/test/test_interators.cpp0
-rw-r--r--src/boost/libs/serialization/test/test_interrupts.cpp147
-rw-r--r--src/boost/libs/serialization/test/test_iterators.cpp257
-rw-r--r--src/boost/libs/serialization/test/test_iterators_base64.cpp105
-rw-r--r--src/boost/libs/serialization/test/test_list.cpp59
-rw-r--r--src/boost/libs/serialization/test/test_list_ptrs.cpp98
-rw-r--r--src/boost/libs/serialization/test/test_map.cpp149
-rw-r--r--src/boost/libs/serialization/test/test_map_boost_unordered.cpp142
-rw-r--r--src/boost/libs/serialization/test/test_map_hashed.cpp139
-rw-r--r--src/boost/libs/serialization/test/test_map_unordered.cpp142
-rw-r--r--src/boost/libs/serialization/test/test_mi.cpp135
-rw-r--r--src/boost/libs/serialization/test/test_mult_archive_types.cpp124
-rw-r--r--src/boost/libs/serialization/test/test_multi_shared_lib.cpp30
-rw-r--r--src/boost/libs/serialization/test/test_multiple_inheritance.cpp125
-rw-r--r--src/boost/libs/serialization/test/test_multiple_ptrs.cpp50
-rw-r--r--src/boost/libs/serialization/test/test_native_array.cpp103
-rw-r--r--src/boost/libs/serialization/test/test_new_operator.cpp154
-rw-r--r--src/boost/libs/serialization/test/test_no_rtti.cpp166
-rw-r--r--src/boost/libs/serialization/test/test_non_default_ctor.cpp198
-rw-r--r--src/boost/libs/serialization/test/test_non_default_ctor2.cpp144
-rw-r--r--src/boost/libs/serialization/test/test_non_intrusive.cpp174
-rw-r--r--src/boost/libs/serialization/test/test_not_serializable.cpp47
-rw-r--r--src/boost/libs/serialization/test/test_null_ptr.cpp89
-rw-r--r--src/boost/libs/serialization/test/test_nvp.cpp68
-rw-r--r--src/boost/libs/serialization/test/test_object.cpp70
-rw-r--r--src/boost/libs/serialization/test/test_optional.cpp96
-rw-r--r--src/boost/libs/serialization/test/test_p_helper.cpp160
-rw-r--r--src/boost/libs/serialization/test/test_pimpl.cpp48
-rw-r--r--src/boost/libs/serialization/test/test_polymorphic.cpp94
-rw-r--r--src/boost/libs/serialization/test/test_polymorphic2.cpp40
-rw-r--r--src/boost/libs/serialization/test/test_polymorphic2.hpp43
-rw-r--r--src/boost/libs/serialization/test/test_polymorphic2imp.cpp44
-rw-r--r--src/boost/libs/serialization/test/test_polymorphic_A.cpp58
-rw-r--r--src/boost/libs/serialization/test/test_polymorphic_A.hpp30
-rw-r--r--src/boost/libs/serialization/test/test_primitive.cpp66
-rw-r--r--src/boost/libs/serialization/test/test_priority_queue.cpp65
-rw-r--r--src/boost/libs/serialization/test/test_private_base.cpp84
-rw-r--r--src/boost/libs/serialization/test/test_private_base2.cpp104
-rw-r--r--src/boost/libs/serialization/test/test_private_ctor.cpp66
-rw-r--r--src/boost/libs/serialization/test/test_queue.cpp56
-rw-r--r--src/boost/libs/serialization/test/test_recursion.cpp51
-rw-r--r--src/boost/libs/serialization/test/test_registered.cpp239
-rw-r--r--src/boost/libs/serialization/test/test_reset_object_address.cpp412
-rw-r--r--src/boost/libs/serialization/test/test_set.cpp111
-rw-r--r--src/boost/libs/serialization/test/test_set_boost_unordered.cpp123
-rw-r--r--src/boost/libs/serialization/test/test_set_hashed.cpp262
-rw-r--r--src/boost/libs/serialization/test/test_set_unordered.cpp123
-rw-r--r--src/boost/libs/serialization/test/test_shared_ptr.cpp322
-rw-r--r--src/boost/libs/serialization/test/test_shared_ptr_132.cpp230
-rw-r--r--src/boost/libs/serialization/test/test_shared_ptr_multi_base.cpp302
-rw-r--r--src/boost/libs/serialization/test/test_simple_class.cpp83
-rw-r--r--src/boost/libs/serialization/test/test_simple_class_ptr.cpp53
-rw-r--r--src/boost/libs/serialization/test/test_singleton.cpp74
-rw-r--r--src/boost/libs/serialization/test/test_singleton_inherited.cpp81
-rw-r--r--src/boost/libs/serialization/test/test_singleton_plain.cpp77
-rw-r--r--src/boost/libs/serialization/test/test_slist.cpp55
-rw-r--r--src/boost/libs/serialization/test/test_slist_ptrs.cpp88
-rw-r--r--src/boost/libs/serialization/test/test_smart_cast.cpp236
-rw-r--r--src/boost/libs/serialization/test/test_split.cpp165
-rw-r--r--src/boost/libs/serialization/test/test_stack.cpp56
-rw-r--r--src/boost/libs/serialization/test/test_static_warning.cpp63
-rw-r--r--src/boost/libs/serialization/test/test_strong_typedef.cpp71
-rw-r--r--src/boost/libs/serialization/test/test_tools.hpp264
-rw-r--r--src/boost/libs/serialization/test/test_tracking.cpp130
-rw-r--r--src/boost/libs/serialization/test/test_traits_fail.cpp40
-rw-r--r--src/boost/libs/serialization/test/test_traits_pass.cpp30
-rw-r--r--src/boost/libs/serialization/test/test_unique_ptr.cpp70
-rw-r--r--src/boost/libs/serialization/test/test_unregistered.cpp313
-rw-r--r--src/boost/libs/serialization/test/test_valarray.cpp56
-rw-r--r--src/boost/libs/serialization/test/test_variant.cpp299
-rw-r--r--src/boost/libs/serialization/test/test_vector.cpp128
-rw-r--r--src/boost/libs/serialization/test/test_void_cast.cpp165
-rw-r--r--src/boost/libs/serialization/test/test_z.cpp779
-rw-r--r--src/boost/libs/serialization/test/testfile2bin0 -> 8 bytes
-rw-r--r--src/boost/libs/serialization/test/text_archive.hpp13
-rw-r--r--src/boost/libs/serialization/test/text_warchive.hpp13
-rw-r--r--src/boost/libs/serialization/test/xml_archive.hpp13
-rw-r--r--src/boost/libs/serialization/test/xml_warchive.hpp13
160 files changed, 19102 insertions, 0 deletions
diff --git a/src/boost/libs/serialization/test/A.cpp b/src/boost/libs/serialization/test/A.cpp
new file mode 100644
index 000000000..332505ffa
--- /dev/null
+++ b/src/boost/libs/serialization/test/A.cpp
@@ -0,0 +1,218 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// A.cpp simple class test
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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 for updates, documentation, and revision history.
+
+#include <cassert>
+#include <cstdlib> // rand()
+#include <cstddef> // size_t
+#include <boost/math/special_functions/next.hpp>
+
+#include <boost/config.hpp>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::rand;
+ using ::size_t;
+}
+#endif
+
+#include <boost/detail/workaround.hpp>
+#if BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, == 1)
+#include <boost/archive/dinkumware.hpp>
+#endif
+
+#include "A.hpp"
+
+template<class S>
+void randomize(S &x)
+{
+ assert(0 == x.size());
+ for(;;){
+ unsigned int i = std::rand() % 27;
+ if(0 == i)
+ break;
+ x += static_cast<typename S::value_type>('a' - 1 + i);
+ }
+}
+
+template<class T>
+void accumulate(std::size_t & s, const T & t){
+ const char * tptr = (const char *)(& t);
+ unsigned int count = sizeof(t);
+ while(count-- > 0){
+ s += *tptr++;
+ }
+}
+A_DLL_DECL
+A::operator std::size_t () const {
+ std::size_t retval = 0;
+ accumulate(retval, b);
+ #ifndef BOOST_NO_INT64_T
+ accumulate(retval, f);
+ accumulate(retval, g);
+ #endif
+ accumulate(retval, l);
+ accumulate(retval, m);
+ accumulate(retval, n);
+ accumulate(retval, o);
+ accumulate(retval, p);
+ accumulate(retval, q);
+ #ifndef BOOST_NO_CWCHAR
+ accumulate(retval, r);
+ #endif
+ accumulate(retval, c);
+ accumulate(retval, s);
+ accumulate(retval, t);
+ accumulate(retval, u);
+ accumulate(retval, v);
+ return retval;
+}
+
+#if defined(_MSC_VER)
+#pragma warning(push) // Save warning settings.
+#pragma warning(disable : 4244) // Disable possible loss of data warning
+#endif
+
+A_DLL_DECL
+A::A() :
+ b(true),
+ #ifndef BOOST_NO_INT64_T
+ f(static_cast<boost::int64_t>(std::rand()) * static_cast<boost::int64_t>(std::rand())),
+ g(static_cast<boost::uint64_t>(std::rand()) * static_cast<boost::uint64_t>(std::rand())),
+ #endif
+ l(static_cast<enum h>(std::rand() % 3)),
+ m(std::rand()),
+ n(std::rand()),
+ o(std::rand()),
+ p(std::rand()),
+ q(std::rand()),
+ #ifndef BOOST_NO_CWCHAR
+ r(std::rand()),
+ #endif
+ c(0xff & std::rand()),
+ s(0xff & std::rand()),
+ t(0xff & std::rand()),
+ u(std::rand()),
+ v(std::rand()),
+ w((float)std::rand()),
+ x((double)std::rand())
+{
+ randomize(y);
+ #ifndef BOOST_NO_STD_WSTRING
+ randomize(z);
+ #endif
+}
+
+#if defined(_MSC_VER)
+#pragma warning(pop) // Restore warnings to previous state.
+#endif
+
+A_DLL_DECL bool
+A::operator==(const A &rhs) const {
+ if(b != rhs.b)
+ return false;
+ if(l != rhs.l)
+ return false;
+ #ifndef BOOST_NO_INT64_T
+ if(f != rhs.f)
+ return false;
+ if(g != rhs.g)
+ return false;
+ #endif
+ if(m != rhs.m)
+ return false;
+ if(n != rhs.n)
+ return false;
+ if(o != rhs.o)
+ return false;
+ if(p != rhs.p)
+ return false;
+ if(q != rhs.q)
+ return false;
+ #ifndef BOOST_NO_CWCHAR
+ if(r != rhs.r)
+ return false;
+ #endif
+ if(c != rhs.c)
+ return false;
+ if(s != rhs.s)
+ return false;
+ if(t != rhs.t)
+ return false;
+ if(u != rhs.u)
+ return false;
+ if(v != rhs.v)
+ return false;
+ if(std::abs( boost::math::float_distance(w, rhs.w)) > 1)
+ return false;
+ if(std::abs( boost::math::float_distance(x, rhs.x)) > 1)
+ return false;
+ if(0 != y.compare(rhs.y))
+ return false;
+ #ifndef BOOST_NO_STD_WSTRING
+ if(0 != z.compare(rhs.z))
+ return false;
+ #endif
+ return true;
+}
+
+A_DLL_DECL bool
+A::operator!=(const A &rhs) const {
+ return ! (*this == rhs);
+}
+
+A_DLL_DECL bool
+A::operator<(const A &rhs) const {
+ if(b != rhs.b)
+ return b < rhs.b;
+ #ifndef BOOST_NO_INT64_T
+ if(f != rhs.f)
+ return f < rhs.f;
+ if(g != rhs.g)
+ return g < rhs.g;
+ #endif
+ if(l != rhs.l )
+ return l < rhs.l;
+ if(m != rhs.m )
+ return m < rhs.m;
+ if(n != rhs.n )
+ return n < rhs.n;
+ if(o != rhs.o )
+ return o < rhs.o;
+ if(p != rhs.p )
+ return p < rhs.p;
+ if(q != rhs.q )
+ return q < rhs.q;
+ #ifndef BOOST_NO_CWCHAR
+ if(r != rhs.r )
+ return r < rhs.r;
+ #endif
+ if(c != rhs.c )
+ return c < rhs.c;
+ if(s != rhs.s )
+ return s < rhs.s;
+ if(t != rhs.t )
+ return t < rhs.t;
+ if(u != rhs.u )
+ return u < rhs.u;
+ if(v != rhs.v )
+ return v < rhs.v;
+ if(w != rhs.w )
+ return w < rhs.w;
+ if(x != rhs.x )
+ return x < rhs.x;
+ int i = y.compare(rhs.y);
+ if(i != 0 )
+ return i < 0;
+ #ifndef BOOST_NO_STD_WSTRING
+ int j = z.compare(rhs.z);
+ if(j != 0 )
+ return j < 0;
+ #endif
+ return false;
+}
diff --git a/src/boost/libs/serialization/test/A.hpp b/src/boost/libs/serialization/test/A.hpp
new file mode 100644
index 000000000..67445d7b4
--- /dev/null
+++ b/src/boost/libs/serialization/test/A.hpp
@@ -0,0 +1,95 @@
+#ifndef BOOST_SERIALIZATION_TEST_A_HPP
+#define BOOST_SERIALIZATION_TEST_A_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// A.hpp simple class test
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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 for updates, documentation, and revision history.
+
+#include <ostream> // for friend output operators
+#include <cstddef> // size_t
+#include <boost/config.hpp>
+
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::size_t;
+}
+#endif
+
+#include <boost/limits.hpp>
+#include <boost/cstdint.hpp>
+
+#include <boost/serialization/access.hpp>
+#include <boost/serialization/string.hpp>
+
+#if defined(A_IMPORT)
+ #define A_DLL_DECL BOOST_SYMBOL_IMPORT
+ #pragma message("A imported")
+#elif defined(A_EXPORT)
+ #define A_DLL_DECL BOOST_SYMBOL_EXPORT
+ #pragma message ("A exported")
+#endif
+
+#ifndef A_DLL_DECL
+ #define A_DLL_DECL
+#endif
+
+class A_DLL_DECL A {
+private:
+ friend class boost::serialization::access;
+ template<class Archive>
+ void serialize(
+ Archive &ar,
+ const unsigned int /* file_version */
+ );
+ bool b;
+ #ifndef BOOST_NO_INT64_T
+ boost::int64_t f;
+ boost::uint64_t g;
+ #endif
+ enum h {
+ i = 0,
+ j,
+ k
+ } l;
+ std::size_t m;
+ signed long n;
+ unsigned long o;
+ signed short p;
+ unsigned short q;
+ #ifndef BOOST_NO_CWCHAR
+ wchar_t r;
+ #endif
+ char c;
+ signed char s;
+ unsigned char t;
+ signed int u;
+ unsigned int v;
+ float w;
+ double x;
+ std::string y;
+ #ifndef BOOST_NO_STD_WSTRING
+ std::wstring z;
+ #endif
+public:
+ A();
+ bool check_equal(const A &rhs) const;
+ bool operator==(const A &rhs) const;
+ bool operator!=(const A &rhs) const;
+ bool operator<(const A &rhs) const; // used by less
+ // hash function for class A
+ operator std::size_t () const;
+ friend std::ostream & operator<<(std::ostream & os, A const & a);
+};
+
+#endif // BOOST_SERIALIZATION_TEST_A_HPP
diff --git a/src/boost/libs/serialization/test/A.ipp b/src/boost/libs/serialization/test/A.ipp
new file mode 100644
index 000000000..552e5fa19
--- /dev/null
+++ b/src/boost/libs/serialization/test/A.ipp
@@ -0,0 +1,60 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// A.ipp simple class test
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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 for updates, documentation, and revision history.
+
+#if BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, == 1)
+#include <boost/archive/dinkumware.hpp>
+#endif
+
+#include <boost/serialization/nvp.hpp>
+#include "A.hpp"
+
+template<class Archive>
+void A::serialize(
+ Archive &ar,
+ const unsigned int /* file_version */
+){
+ ar & BOOST_SERIALIZATION_NVP(b);
+ #ifndef BOOST_NO_INT64_T
+ ar & BOOST_SERIALIZATION_NVP(f);
+ ar & BOOST_SERIALIZATION_NVP(g);
+ #endif
+ #if BOOST_WORKAROUND(__BORLANDC__, <= 0x551 )
+ int i;
+ if(BOOST_DEDUCED_TYPENAME Archive::is_saving::value){
+ i = l;
+ ar & BOOST_SERIALIZATION_NVP(i);
+ }
+ else{
+ ar & BOOST_SERIALIZATION_NVP(i);
+ l = i;
+ }
+ #else
+ ar & BOOST_SERIALIZATION_NVP(l);
+ #endif
+ ar & BOOST_SERIALIZATION_NVP(m);
+ ar & BOOST_SERIALIZATION_NVP(n);
+ ar & BOOST_SERIALIZATION_NVP(o);
+ ar & BOOST_SERIALIZATION_NVP(p);
+ ar & BOOST_SERIALIZATION_NVP(q);
+ #ifndef BOOST_NO_CWCHAR
+ ar & BOOST_SERIALIZATION_NVP(r);
+ #endif
+ ar & BOOST_SERIALIZATION_NVP(c);
+ ar & BOOST_SERIALIZATION_NVP(s);
+ ar & BOOST_SERIALIZATION_NVP(t);
+ ar & BOOST_SERIALIZATION_NVP(u);
+ ar & BOOST_SERIALIZATION_NVP(v);
+ ar & BOOST_SERIALIZATION_NVP(w);
+ ar & BOOST_SERIALIZATION_NVP(x);
+ ar & BOOST_SERIALIZATION_NVP(y);
+ #ifndef BOOST_NO_STD_WSTRING
+ ar & BOOST_SERIALIZATION_NVP(z);
+ #endif
+}
diff --git a/src/boost/libs/serialization/test/B.hpp b/src/boost/libs/serialization/test/B.hpp
new file mode 100644
index 000000000..9111b1326
--- /dev/null
+++ b/src/boost/libs/serialization/test/B.hpp
@@ -0,0 +1,115 @@
+#ifndef BOOST_SERIALIZATION_TEST_B_HPP
+#define BOOST_SERIALIZATION_TEST_B_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// B.hpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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 for updates, documentation, and revision history.
+
+#include <cstdlib> // for rand()
+#include <cmath>
+#include <boost/math/special_functions/next.hpp>
+
+#include <boost/config.hpp>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::rand;
+}
+#endif
+
+#include <boost/serialization/version.hpp>
+#include <boost/serialization/split_member.hpp>
+#include <boost/serialization/base_object.hpp>
+
+#include "A.hpp"
+
+///////////////////////////////////////////////////////
+// Derived class test
+class B : public A
+{
+private:
+ friend class boost::serialization::access;
+ template<class Archive>
+ void save(Archive &ar, const unsigned int /* file_version */) const
+ {
+ // write any base class info to the archive
+ ar << BOOST_SERIALIZATION_BASE_OBJECT_NVP(A);
+
+ // write out members
+ ar << BOOST_SERIALIZATION_NVP(s);
+ ar << BOOST_SERIALIZATION_NVP(t);
+ ar << BOOST_SERIALIZATION_NVP(u);
+ ar << BOOST_SERIALIZATION_NVP(v);
+ ar << BOOST_SERIALIZATION_NVP(w);
+ ar << BOOST_SERIALIZATION_NVP(x);
+ }
+
+ template<class Archive>
+ void load(Archive & ar, const unsigned int file_version)
+ {
+ // read any base class info to the archive
+ ar >> BOOST_SERIALIZATION_BASE_OBJECT_NVP(A);
+ switch(file_version){
+ case 1:
+ case 2:
+ ar >> BOOST_SERIALIZATION_NVP(s);
+ ar >> BOOST_SERIALIZATION_NVP(t);
+ ar >> BOOST_SERIALIZATION_NVP(u);
+ ar >> BOOST_SERIALIZATION_NVP(v);
+ ar >> BOOST_SERIALIZATION_NVP(w);
+ ar >> BOOST_SERIALIZATION_NVP(x);
+ break;
+ default:
+ break;
+ }
+ }
+
+ BOOST_SERIALIZATION_SPLIT_MEMBER()
+ signed char s;
+ unsigned char t;
+ signed int u;
+ unsigned int v;
+ float w;
+ double x;
+public:
+ B();
+ virtual ~B(){};
+ bool operator==(const B &rhs) const;
+};
+
+B::B() :
+ s(static_cast<signed char>(std::rand())),
+ t(static_cast<unsigned char>(std::rand())),
+ u(std::rand()),
+ v(std::rand()),
+ w((float)std::rand() / std::rand()),
+ x((double)std::rand() / std::rand())
+{
+}
+
+BOOST_CLASS_VERSION(B, 2)
+
+inline bool B::operator==(const B &rhs) const
+{
+ return
+ A::operator==(rhs)
+ && s == rhs.s
+ && t == rhs.t
+ && u == rhs.u
+ && v == rhs.v
+ && std::abs( boost::math::float_distance(w, rhs.w)) < 2
+ && std::abs( boost::math::float_distance(x, rhs.x)) < 2
+ ;
+}
+
+#endif // BOOST_SERIALIZATION_TEST_B_HPP
diff --git a/src/boost/libs/serialization/test/C.hpp b/src/boost/libs/serialization/test/C.hpp
new file mode 100644
index 000000000..a183db854
--- /dev/null
+++ b/src/boost/libs/serialization/test/C.hpp
@@ -0,0 +1,68 @@
+#ifndef BOOST_SERIALIZATION_TEST_A_HPP
+#define BOOST_SERIALIZATION_TEST_A_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// C.hpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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 for updates, documentation, and revision history.
+
+#include <boost/config.hpp>
+#include <boost/serialization/traits.hpp>
+#include <boost/serialization/split.hpp>
+
+#include "B.hpp"
+
+///////////////////////////////////////////////////////
+// Contained class
+class C
+{
+private:
+ friend class boost::serialization::access;
+ template<class Archive>
+ void save(Archive &ar, boost::archive::version_type file_version) const;
+ template<class Archive>
+ void load(Archive & ar, boost::archive::version_type file_version);
+ BOOST_SERIALIZATION_MEMBER_SPLIT()
+ B b;
+public:
+ bool operator==(const C &rhs) const;
+};
+
+BOOST_CLASS_VERSION(C, 1)
+
+inline bool C::operator==(const C &rhs) const
+{
+ return b == rhs.b;
+}
+
+template<class Archive>
+inline void save(Archive &ar, boost::archive::version_type file_version) const
+{
+ ar << b;
+}
+
+template<class Archive>
+inline void load(Archive & ar, boost::archive::version_type file_version){
+{
+ switch(file_version){
+ case 1:
+ ar >> b;
+ break;
+ case 2:
+ default:
+ assert(false);
+ break;
+ }
+}
+
+#endif // BOOST_SERIALIZATION_TEST_C_HPP
diff --git a/src/boost/libs/serialization/test/D.hpp b/src/boost/libs/serialization/test/D.hpp
new file mode 100644
index 000000000..8af030b68
--- /dev/null
+++ b/src/boost/libs/serialization/test/D.hpp
@@ -0,0 +1,88 @@
+#ifndef BOOST_SERIALIZATION_TEST_D_HPP
+#define BOOST_SERIALIZATION_TEST_D_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// D.hpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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 for updates, documentation, and revision history.
+
+#include <cstddef> // NULL
+
+#include "test_tools.hpp"
+#include <boost/detail/no_exceptions_support.hpp>
+#include <boost/serialization/throw_exception.hpp>
+#include <boost/serialization/split_member.hpp>
+
+#include "B.hpp"
+
+///////////////////////////////////////////////////////
+// Contained class with multiple identical pointers
+class D
+{
+private:
+ friend class boost::serialization::access;
+ B *b1;
+ B *b2;
+ template<class Archive>
+ void save(Archive &ar, const unsigned int file_version) const{
+ ar << BOOST_SERIALIZATION_NVP(b1);
+ ar << BOOST_SERIALIZATION_NVP(b2);
+ }
+
+ template<class Archive>
+ void load(Archive & ar, const unsigned int file_version){
+ BOOST_TRY {
+ ar >> boost::serialization::make_nvp("b", b1);
+ ar >> boost::serialization::make_nvp("b", b2);
+ }
+ BOOST_CATCH (...){
+ // eliminate invalid pointers
+ b1 = NULL;
+ b2 = NULL;
+ BOOST_FAIL( "multiple identical pointers failed to load" );
+ }
+ BOOST_CATCH_END
+ // check that loading was correct
+ BOOST_CHECK(b1 == b2);
+ }
+
+ BOOST_SERIALIZATION_SPLIT_MEMBER()
+public:
+ D();
+ ~D();
+ bool operator==(const D &rhs) const;
+};
+
+BOOST_CLASS_VERSION(D, 3)
+
+D::D()
+{
+ b1 = new B();
+ b2 = b1;
+}
+
+D::~D()
+{
+ delete b1;
+}
+
+bool D::operator==(const D &rhs) const
+{
+ if(! (*b1 == *(rhs.b1)) )
+ return false;
+ if(! (*b2 == *(rhs.b2)) )
+ return false;
+ return true;
+}
+
+#endif // BOOST_SERIALIZATION_TEST_D_HPP
diff --git a/src/boost/libs/serialization/test/J.hpp b/src/boost/libs/serialization/test/J.hpp
new file mode 100644
index 000000000..1849ee755
--- /dev/null
+++ b/src/boost/libs/serialization/test/J.hpp
@@ -0,0 +1,51 @@
+#ifndef BOOST_SERIALIZATION_TEST_J_HPP
+#define BOOST_SERIALIZATION_TEST_J_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// J.hpp simple class test
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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 for updates, documentation, and revision history.
+
+#include <boost/serialization/base_object.hpp>
+
+#include "A.hpp"
+
+///////////////////////////////////////////////////////
+// class with a member which refers to itself
+class J : public A
+{
+private:
+ friend class boost::serialization::access;
+ template<class Archive>
+ void serialize(
+ Archive &ar,
+ const unsigned int /* file_version */
+ ){
+ ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(A);
+ ar & BOOST_SERIALIZATION_NVP(j);
+ }
+public:
+ bool operator==(const J &rhs) const;
+ J *j;
+ J(J *_j) : j(_j) {}
+ J() : j(NULL){}
+};
+
+BOOST_CLASS_VERSION(J, 6)
+
+bool J::operator==(const J &rhs) const
+{
+ return static_cast<const A &>(*this) == static_cast<const A &>(rhs);
+}
+
+#endif // BOOST_SERIALIZATION_TEST_J_HPP
diff --git a/src/boost/libs/serialization/test/Jamfile.v2 b/src/boost/libs/serialization/test/Jamfile.v2
new file mode 100644
index 000000000..cce152167
--- /dev/null
+++ b/src/boost/libs/serialization/test/Jamfile.v2
@@ -0,0 +1,190 @@
+# Boost serialization Library test Jamfile
+
+# (C) Copyright Robert Ramey 2002-2004.
+# 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)
+#
+
+project libs/serialization/test
+ : id serialization_test
+ : requirements <library>/boost/filesystem
+ ;
+
+# import rules for testing conditional on config file variables
+import ../../config/checks/config : requires ;
+
+# import rules from the boost serialization test
+import ../util/test :
+ run-template
+ run-invoke
+ run-winvoke
+ test-bsl-run-no-lib
+ test-bsl-run
+ test-bsl-run_archive
+ test-bsl-run_files
+ test-bsl-run_polymorphic_files
+;
+
+BOOST_ARCHIVE_LIST = [ modules.peek : BOOST_ARCHIVE_LIST ] ;
+
+lib dll_a
+ :
+ dll_a.cpp
+ ../build//boost_serialization
+ :
+ <link>shared
+ ;
+
+lib dll_polymorphic_base
+ :
+ dll_polymorphic_base.cpp
+ ../build//boost_serialization
+ :
+ <link>shared
+ ;
+
+lib dll_polymorphic_derived2
+ :
+ dll_polymorphic_derived2.cpp
+ dll_polymorphic_base
+ ../build//boost_serialization
+ :
+ <link>shared
+ ;
+
+test-suite "serialization" :
+ [ test-bsl-run_files test_array : A : : [ requires cxx11_hdr_array ] ] # BOOST_NO_CXX11_HDR_ARRAY
+ [ test-bsl-run_files test_boost_array : A ]
+ [ test-bsl-run_files test_native_array : A ]
+ [ test-bsl-run_files test_binary ]
+ [ test-bsl-run_files test_class_info_save ]
+ [ test-bsl-run_files test_class_info_load ]
+ [ test-bsl-run_files test_bitset ]
+ [ test-bsl-run_files test_complex ]
+ [ test-bsl-run_files test_contained_class : A ]
+ [ test-bsl-run_files test_cyclic_ptrs : A ]
+ [ test-bsl-run_files test_delete_pointer ]
+ [ test-bsl-run_files test_deque : A ]
+ [ test-bsl-run_files test_derived ]
+ [ test-bsl-run_files test_derived_class : A ]
+ [ test-bsl-run_files test_derived_class_ptr : A ]
+ [ test-bsl-run_files test_diamond ]
+ [ test-bsl-run_files test_diamond_complex ]
+ [ 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 ]
+ [ test-bsl-run_files test_list_ptrs : A ]
+ [ test-bsl-run_files test_map : A ]
+ [ test-bsl-run_files test_map_hashed : A : : [ requires hash ] ] # BOOST_HAS_HASH
+ [ test-bsl-run_files test_map_unordered : A : : [ requires cxx11_hdr_unordered_map ] ] # BOOST_NO_CXX11_HDR_UNORDERED_MAP
+ [ test-bsl-run_files test_map_boost_unordered : A ]
+ [ test-bsl-run_files test_mi ]
+ [ test-bsl-run_files test_multiple_ptrs : A ]
+ [ test-bsl-run_files test_multiple_inheritance ]
+ [ test-bsl-run_files test_non_intrusive ]
+ [ test-bsl-run_files test_non_default_ctor ]
+ [ test-bsl-run_files test_non_default_ctor2 ]
+ [ test-bsl-run_files test_null_ptr ]
+ [ test-bsl-run_files test_nvp : A ]
+ [ test-bsl-run_files test_object ]
+ [ test-bsl-run_files test_primitive ]
+ [ test-bsl-run_files test_priority_queue : A ]
+ [ test-bsl-run_files test_queue : A ]
+ [ test-bsl-run_files test_recursion : A ]
+ [ test-bsl-run_files test_registered ]
+ [ test-bsl-run_files test_set : A ]
+ [ test-bsl-run_files test_set_hashed : A : : [ requires hash ] ] # BOOST_HAS_HASH
+ [ test-bsl-run_files test_set_unordered : A : : [ requires cxx11_hdr_unordered_set ] ] # BOOST_NO_CXX11_HDR_UNORDERED_SET
+ [ test-bsl-run_files test_set_boost_unordered : A ]
+ [ test-bsl-run_files test_simple_class : A ]
+ [ test-bsl-run_files test_simple_class_ptr : A ]
+ [ test-bsl-run_files test_slist : A : : [ requires slist ] ] # BOOST_HAS_SLIST ]
+ [ test-bsl-run_files test_slist_ptrs : A : : [ requires slist ] ] # BOOST_HAS_SLIST ] ]
+ [ test-bsl-run_files test_split ]
+ [ test-bsl-run_files test_stack : A ]
+ [ test-bsl-run_files test_tracking ]
+ [ test-bsl-run_files test_unregistered ]
+ [ test-bsl-run_files test_unique_ptr ]
+ [ test-bsl-run_files test_valarray ]
+ [ test-bsl-run_files test_variant : A ]
+ [ test-bsl-run_files test_vector : A ]
+ [ test-bsl-run_files test_new_operator : A ]
+ [ test-bsl-run_files test_optional ]
+ [ test-bsl-run_files test_shared_ptr ]
+ [ test-bsl-run_files test_shared_ptr_multi_base ]
+ [ test-bsl-run_files test_shared_ptr_132 : : : [ requires auto_ptr ] ] # BOOST_NO_AUTO_PTR
+
+ [ test-bsl-run_polymorphic_files test_polymorphic : test_polymorphic_A A ]
+ [ test-bsl-run_polymorphic_files test_polymorphic2 : test_polymorphic2imp ]
+ [ test-bsl-run_polymorphic_files test_p_helper ]
+
+ # this test should pass with both shared and static linking. But B2 get's mixed up with static linking
+ # so we'll just run the shared version of the test, which is the one that we're most interested
+ # in anyway.
+ [ test-bsl-run_polymorphic_files test_dll_exported : polymorphic_derived1 : dll_polymorphic_base dll_polymorphic_derived2 : <link>static:<build>no ]
+
+ [ test-bsl-run_polymorphic_files test_no_rtti : polymorphic_base polymorphic_derived1 polymorphic_derived2 ]
+ [ test-bsl-run_polymorphic_files test_exported : polymorphic_base polymorphic_derived1 polymorphic_derived2 ]
+
+ # should compile
+ [ compile test_strong_typedef.cpp ]
+ ;
+
+if ! $(BOOST_ARCHIVE_LIST) {
+ test-suite "serialization2" :
+ [ test-bsl-run test_inclusion ]
+ [ test-bsl-run test_inclusion2 ]
+ # boost build has the feature that the building if libraries vs dll is automatic
+ # in that dependent libraries are built the same way - shared/static - that
+ # the application is. On some platforms (e.g windows) this is required to avoid
+ # problems of linking incompatible versions of the runtime library. So
+ # we suppress tests of our dlls when using static libraries
+
+ [ test-bsl-run test_dll_simple : : dll_a : <link>static:<build>no ]
+ # [ test-bsl-run test_dll_plugin : : dll_derived2 : <link>static:<build>no <target-os>linux:<linkflags>-ldl ]
+
+ [ test-bsl-run test_private_ctor ]
+ [ test-bsl-run test_reset_object_address : A ]
+ [ test-bsl-run test_void_cast ]
+ [ test-bsl-run test_mult_archive_types ]
+ [ test-bsl-run test_iterators ]
+ [ test-bsl-run test_iterators_base64 ]
+ [ test-bsl-run test_smart_cast ]
+ [ test-bsl-run test_codecvt_null ]
+ [ test-bsl-run test_singleton ]
+ [ test-bsl-run test_singleton_inherited ]
+ [ test-bsl-run test_singleton_plain ]
+
+ # [ test-bsl-run test_z ]
+
+ # should fail compilation
+ [ compile-fail test_not_serializable.cpp ]
+ [ compile-fail test_traits_fail.cpp ]
+ [ compile-fail test_const_load_fail1.cpp ]
+ [ compile-fail test_const_load_fail2.cpp ]
+ [ compile-fail test_const_load_fail3.cpp ]
+ [ compile-fail test_const_load_fail1_nvp.cpp ]
+ [ compile-fail test_const_load_fail2_nvp.cpp ]
+ [ compile-fail test_const_load_fail3_nvp.cpp ]
+ [ compile-fail test_check.cpp ]
+
+ # should compile with a warning message
+ [ compile test_static_warning.cpp ]
+ [ compile test_const_save_warn1.cpp ]
+ [ compile test_const_save_warn2.cpp ]
+ [ compile test_const_save_warn3.cpp ]
+
+ # note - library unable to detect these errors for now
+ #[ compile test_const_save_warn1_nvp.cpp ]
+ #[ compile test_const_save_warn2_nvp.cpp ]
+ #[ compile test_const_save_warn3_nvp.cpp ]
+
+ # should compile
+ [ compile test_traits_pass.cpp ]
+ [ compile test_const_pass.cpp ]
+ ;
+}
+
diff --git a/src/boost/libs/serialization/test/b2.log b/src/boost/libs/serialization/test/b2.log
new file mode 100644
index 000000000..03e7510b1
--- /dev/null
+++ b/src/boost/libs/serialization/test/b2.log
@@ -0,0 +1,2571 @@
+warning: mismatched versions of Boost.Build engine and core
+warning: Boost.Build engine (b2) is 2018.02.00
+warning: Boost.Build core (at /Users/robertramey/WorkingProjects/modular-boost/tools/build/src) is 4.0-git
+polymorphic_text_archive
+polymorphic_text_warchive
+polymorphic_binary_archive
+polymorphic_xml_archive
+polymorphic_xml_warchive
+polymorphic_text_archive
+polymorphic_text_warchive
+polymorphic_binary_archive
+polymorphic_xml_archive
+polymorphic_xml_warchive
+polymorphic_text_archive
+polymorphic_text_warchive
+polymorphic_binary_archive
+polymorphic_xml_archive
+polymorphic_xml_warchive
+polymorphic_text_archive
+polymorphic_text_warchive
+polymorphic_binary_archive
+polymorphic_xml_archive
+polymorphic_xml_warchive
+polymorphic_text_archive
+polymorphic_text_warchive
+polymorphic_binary_archive
+polymorphic_xml_archive
+polymorphic_xml_warchive
+polymorphic_text_archive
+polymorphic_text_warchive
+polymorphic_binary_archive
+polymorphic_xml_archive
+polymorphic_xml_warchive
+Performing configuration checks
+
+ - default address-model : 64-bit (cached)
+ - default architecture : x86 (cached)
+ - symlinks supported : yes (cached)
+ - Boost.Config Feature Check: cxx11_hdr_array : yes (cached)
+ - Boost.Config Feature Check: std_wstreambuf : yes (cached)
+ - Boost.Config Feature Check: cxx11_hdr_forward_list : yes (cached)
+ - Boost.Config Feature Check: hash : no (cached)
+ - Boost.Config Feature Check: cxx11_hdr_unordered_map : no (cached)
+ - Boost.Config Feature Check: cxx11_hdr_unordered_set : no (cached)
+ - Boost.Config Feature Check: slist : no (cached)
+ - Boost.Config Feature Check: auto_ptr : yes (cached)
+boost-test(RUN) "serialization/test_array_text_archive" : "libs/serialization/test/test_array.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_array_text_warchive" : "libs/serialization/test/test_array.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_array_binary_archive" : "libs/serialization/test/test_array.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_array_xml_archive" : "libs/serialization/test/test_array.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_array_xml_warchive" : "libs/serialization/test/test_array.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_boost_array_text_archive" : "libs/serialization/test/test_boost_array.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_boost_array_text_warchive" : "libs/serialization/test/test_boost_array.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_boost_array_binary_archive" : "libs/serialization/test/test_boost_array.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_boost_array_xml_archive" : "libs/serialization/test/test_boost_array.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_boost_array_xml_warchive" : "libs/serialization/test/test_boost_array.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_native_array_text_archive" : "libs/serialization/test/test_native_array.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_native_array_text_warchive" : "libs/serialization/test/test_native_array.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_native_array_binary_archive" : "libs/serialization/test/test_native_array.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_native_array_xml_archive" : "libs/serialization/test/test_native_array.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_native_array_xml_warchive" : "libs/serialization/test/test_native_array.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_binary_text_archive" : "libs/serialization/test/test_binary.cpp"
+boost-test(RUN) "serialization/test_binary_text_warchive" : "libs/serialization/test/test_binary.cpp"
+boost-test(RUN) "serialization/test_binary_binary_archive" : "libs/serialization/test/test_binary.cpp"
+boost-test(RUN) "serialization/test_binary_xml_archive" : "libs/serialization/test/test_binary.cpp"
+boost-test(RUN) "serialization/test_binary_xml_warchive" : "libs/serialization/test/test_binary.cpp"
+boost-test(RUN) "serialization/test_class_info_save_text_archive" : "libs/serialization/test/test_class_info_save.cpp"
+boost-test(RUN) "serialization/test_class_info_save_text_warchive" : "libs/serialization/test/test_class_info_save.cpp"
+boost-test(RUN) "serialization/test_class_info_save_binary_archive" : "libs/serialization/test/test_class_info_save.cpp"
+boost-test(RUN) "serialization/test_class_info_save_xml_archive" : "libs/serialization/test/test_class_info_save.cpp"
+boost-test(RUN) "serialization/test_class_info_save_xml_warchive" : "libs/serialization/test/test_class_info_save.cpp"
+boost-test(RUN) "serialization/test_class_info_load_text_archive" : "libs/serialization/test/test_class_info_load.cpp"
+boost-test(RUN) "serialization/test_class_info_load_text_warchive" : "libs/serialization/test/test_class_info_load.cpp"
+boost-test(RUN) "serialization/test_class_info_load_binary_archive" : "libs/serialization/test/test_class_info_load.cpp"
+boost-test(RUN) "serialization/test_class_info_load_xml_archive" : "libs/serialization/test/test_class_info_load.cpp"
+boost-test(RUN) "serialization/test_class_info_load_xml_warchive" : "libs/serialization/test/test_class_info_load.cpp"
+boost-test(RUN) "serialization/test_bitset_text_archive" : "libs/serialization/test/test_bitset.cpp"
+boost-test(RUN) "serialization/test_bitset_text_warchive" : "libs/serialization/test/test_bitset.cpp"
+boost-test(RUN) "serialization/test_bitset_binary_archive" : "libs/serialization/test/test_bitset.cpp"
+boost-test(RUN) "serialization/test_bitset_xml_archive" : "libs/serialization/test/test_bitset.cpp"
+boost-test(RUN) "serialization/test_bitset_xml_warchive" : "libs/serialization/test/test_bitset.cpp"
+boost-test(RUN) "serialization/test_complex_text_archive" : "libs/serialization/test/test_complex.cpp"
+boost-test(RUN) "serialization/test_complex_text_warchive" : "libs/serialization/test/test_complex.cpp"
+boost-test(RUN) "serialization/test_complex_binary_archive" : "libs/serialization/test/test_complex.cpp"
+boost-test(RUN) "serialization/test_complex_xml_archive" : "libs/serialization/test/test_complex.cpp"
+boost-test(RUN) "serialization/test_complex_xml_warchive" : "libs/serialization/test/test_complex.cpp"
+boost-test(RUN) "serialization/test_contained_class_text_archive" : "libs/serialization/test/test_contained_class.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_contained_class_text_warchive" : "libs/serialization/test/test_contained_class.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_contained_class_binary_archive" : "libs/serialization/test/test_contained_class.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_contained_class_xml_archive" : "libs/serialization/test/test_contained_class.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_contained_class_xml_warchive" : "libs/serialization/test/test_contained_class.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_cyclic_ptrs_text_archive" : "libs/serialization/test/test_cyclic_ptrs.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_cyclic_ptrs_text_warchive" : "libs/serialization/test/test_cyclic_ptrs.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_cyclic_ptrs_binary_archive" : "libs/serialization/test/test_cyclic_ptrs.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_cyclic_ptrs_xml_archive" : "libs/serialization/test/test_cyclic_ptrs.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_cyclic_ptrs_xml_warchive" : "libs/serialization/test/test_cyclic_ptrs.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_delete_pointer_text_archive" : "libs/serialization/test/test_delete_pointer.cpp"
+boost-test(RUN) "serialization/test_delete_pointer_text_warchive" : "libs/serialization/test/test_delete_pointer.cpp"
+boost-test(RUN) "serialization/test_delete_pointer_binary_archive" : "libs/serialization/test/test_delete_pointer.cpp"
+boost-test(RUN) "serialization/test_delete_pointer_xml_archive" : "libs/serialization/test/test_delete_pointer.cpp"
+boost-test(RUN) "serialization/test_delete_pointer_xml_warchive" : "libs/serialization/test/test_delete_pointer.cpp"
+boost-test(RUN) "serialization/test_deque_text_archive" : "libs/serialization/test/test_deque.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_deque_text_warchive" : "libs/serialization/test/test_deque.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_deque_binary_archive" : "libs/serialization/test/test_deque.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_deque_xml_archive" : "libs/serialization/test/test_deque.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_deque_xml_warchive" : "libs/serialization/test/test_deque.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_derived_text_archive" : "libs/serialization/test/test_derived.cpp"
+boost-test(RUN) "serialization/test_derived_text_warchive" : "libs/serialization/test/test_derived.cpp"
+boost-test(RUN) "serialization/test_derived_binary_archive" : "libs/serialization/test/test_derived.cpp"
+boost-test(RUN) "serialization/test_derived_xml_archive" : "libs/serialization/test/test_derived.cpp"
+boost-test(RUN) "serialization/test_derived_xml_warchive" : "libs/serialization/test/test_derived.cpp"
+boost-test(RUN) "serialization/test_derived_class_text_archive" : "libs/serialization/test/test_derived_class.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_derived_class_text_warchive" : "libs/serialization/test/test_derived_class.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_derived_class_binary_archive" : "libs/serialization/test/test_derived_class.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_derived_class_xml_archive" : "libs/serialization/test/test_derived_class.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_derived_class_xml_warchive" : "libs/serialization/test/test_derived_class.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_derived_class_ptr_text_archive" : "libs/serialization/test/test_derived_class_ptr.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_derived_class_ptr_text_warchive" : "libs/serialization/test/test_derived_class_ptr.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_derived_class_ptr_binary_archive" : "libs/serialization/test/test_derived_class_ptr.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_derived_class_ptr_xml_archive" : "libs/serialization/test/test_derived_class_ptr.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_derived_class_ptr_xml_warchive" : "libs/serialization/test/test_derived_class_ptr.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_diamond_text_archive" : "libs/serialization/test/test_diamond.cpp"
+boost-test(RUN) "serialization/test_diamond_text_warchive" : "libs/serialization/test/test_diamond.cpp"
+boost-test(RUN) "serialization/test_diamond_binary_archive" : "libs/serialization/test/test_diamond.cpp"
+boost-test(RUN) "serialization/test_diamond_xml_archive" : "libs/serialization/test/test_diamond.cpp"
+boost-test(RUN) "serialization/test_diamond_xml_warchive" : "libs/serialization/test/test_diamond.cpp"
+boost-test(RUN) "serialization/test_diamond_complex_text_archive" : "libs/serialization/test/test_diamond_complex.cpp"
+boost-test(RUN) "serialization/test_diamond_complex_text_warchive" : "libs/serialization/test/test_diamond_complex.cpp"
+boost-test(RUN) "serialization/test_diamond_complex_binary_archive" : "libs/serialization/test/test_diamond_complex.cpp"
+boost-test(RUN) "serialization/test_diamond_complex_xml_archive" : "libs/serialization/test/test_diamond_complex.cpp"
+boost-test(RUN) "serialization/test_diamond_complex_xml_warchive" : "libs/serialization/test/test_diamond_complex.cpp"
+boost-test(RUN) "serialization/test_forward_list_text_archive" : "libs/serialization/test/test_forward_list.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_forward_list_text_warchive" : "libs/serialization/test/test_forward_list.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_forward_list_binary_archive" : "libs/serialization/test/test_forward_list.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_forward_list_xml_archive" : "libs/serialization/test/test_forward_list.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_forward_list_xml_warchive" : "libs/serialization/test/test_forward_list.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_forward_list_ptrs_text_archive" : "libs/serialization/test/test_forward_list_ptrs.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_forward_list_ptrs_text_warchive" : "libs/serialization/test/test_forward_list_ptrs.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_forward_list_ptrs_binary_archive" : "libs/serialization/test/test_forward_list_ptrs.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_forward_list_ptrs_xml_archive" : "libs/serialization/test/test_forward_list_ptrs.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_forward_list_ptrs_xml_warchive" : "libs/serialization/test/test_forward_list_ptrs.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_helper_support_text_archive" : "libs/serialization/test/test_helper_support.cpp"
+boost-test(RUN) "serialization/test_helper_support_text_warchive" : "libs/serialization/test/test_helper_support.cpp"
+boost-test(RUN) "serialization/test_helper_support_binary_archive" : "libs/serialization/test/test_helper_support.cpp"
+boost-test(RUN) "serialization/test_helper_support_xml_archive" : "libs/serialization/test/test_helper_support.cpp"
+boost-test(RUN) "serialization/test_helper_support_xml_warchive" : "libs/serialization/test/test_helper_support.cpp"
+boost-test(RUN) "serialization/test_interrupts_text_archive" : "libs/serialization/test/test_interrupts.cpp"
+boost-test(RUN) "serialization/test_interrupts_text_warchive" : "libs/serialization/test/test_interrupts.cpp"
+boost-test(RUN) "serialization/test_interrupts_binary_archive" : "libs/serialization/test/test_interrupts.cpp"
+boost-test(RUN) "serialization/test_interrupts_xml_archive" : "libs/serialization/test/test_interrupts.cpp"
+boost-test(RUN) "serialization/test_interrupts_xml_warchive" : "libs/serialization/test/test_interrupts.cpp"
+boost-test(RUN) "serialization/test_list_text_archive" : "libs/serialization/test/test_list.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_list_text_warchive" : "libs/serialization/test/test_list.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_list_binary_archive" : "libs/serialization/test/test_list.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_list_xml_archive" : "libs/serialization/test/test_list.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_list_xml_warchive" : "libs/serialization/test/test_list.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_list_ptrs_text_archive" : "libs/serialization/test/test_list_ptrs.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_list_ptrs_text_warchive" : "libs/serialization/test/test_list_ptrs.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_list_ptrs_binary_archive" : "libs/serialization/test/test_list_ptrs.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_list_ptrs_xml_archive" : "libs/serialization/test/test_list_ptrs.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_list_ptrs_xml_warchive" : "libs/serialization/test/test_list_ptrs.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_map_text_archive" : "libs/serialization/test/test_map.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_map_text_warchive" : "libs/serialization/test/test_map.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_map_binary_archive" : "libs/serialization/test/test_map.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_map_xml_archive" : "libs/serialization/test/test_map.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_map_xml_warchive" : "libs/serialization/test/test_map.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_map_hashed_text_archive" : "libs/serialization/test/test_map_hashed.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_map_hashed_text_warchive" : "libs/serialization/test/test_map_hashed.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_map_hashed_binary_archive" : "libs/serialization/test/test_map_hashed.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_map_hashed_xml_archive" : "libs/serialization/test/test_map_hashed.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_map_hashed_xml_warchive" : "libs/serialization/test/test_map_hashed.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_map_unordered_text_archive" : "libs/serialization/test/test_map_unordered.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_map_unordered_text_warchive" : "libs/serialization/test/test_map_unordered.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_map_unordered_binary_archive" : "libs/serialization/test/test_map_unordered.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_map_unordered_xml_archive" : "libs/serialization/test/test_map_unordered.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_map_unordered_xml_warchive" : "libs/serialization/test/test_map_unordered.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_map_boost_unordered_text_archive" : "libs/serialization/test/test_map_boost_unordered.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_map_boost_unordered_text_warchive" : "libs/serialization/test/test_map_boost_unordered.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_map_boost_unordered_binary_archive" : "libs/serialization/test/test_map_boost_unordered.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_map_boost_unordered_xml_archive" : "libs/serialization/test/test_map_boost_unordered.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_map_boost_unordered_xml_warchive" : "libs/serialization/test/test_map_boost_unordered.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_mi_text_archive" : "libs/serialization/test/test_mi.cpp"
+boost-test(RUN) "serialization/test_mi_text_warchive" : "libs/serialization/test/test_mi.cpp"
+boost-test(RUN) "serialization/test_mi_binary_archive" : "libs/serialization/test/test_mi.cpp"
+boost-test(RUN) "serialization/test_mi_xml_archive" : "libs/serialization/test/test_mi.cpp"
+boost-test(RUN) "serialization/test_mi_xml_warchive" : "libs/serialization/test/test_mi.cpp"
+boost-test(RUN) "serialization/test_multiple_ptrs_text_archive" : "libs/serialization/test/test_multiple_ptrs.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_multiple_ptrs_text_warchive" : "libs/serialization/test/test_multiple_ptrs.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_multiple_ptrs_binary_archive" : "libs/serialization/test/test_multiple_ptrs.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_multiple_ptrs_xml_archive" : "libs/serialization/test/test_multiple_ptrs.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_multiple_ptrs_xml_warchive" : "libs/serialization/test/test_multiple_ptrs.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_multiple_inheritance_text_archive" : "libs/serialization/test/test_multiple_inheritance.cpp"
+boost-test(RUN) "serialization/test_multiple_inheritance_text_warchive" : "libs/serialization/test/test_multiple_inheritance.cpp"
+boost-test(RUN) "serialization/test_multiple_inheritance_binary_archive" : "libs/serialization/test/test_multiple_inheritance.cpp"
+boost-test(RUN) "serialization/test_multiple_inheritance_xml_archive" : "libs/serialization/test/test_multiple_inheritance.cpp"
+boost-test(RUN) "serialization/test_multiple_inheritance_xml_warchive" : "libs/serialization/test/test_multiple_inheritance.cpp"
+boost-test(RUN) "serialization/test_non_intrusive_text_archive" : "libs/serialization/test/test_non_intrusive.cpp"
+boost-test(RUN) "serialization/test_non_intrusive_text_warchive" : "libs/serialization/test/test_non_intrusive.cpp"
+boost-test(RUN) "serialization/test_non_intrusive_binary_archive" : "libs/serialization/test/test_non_intrusive.cpp"
+boost-test(RUN) "serialization/test_non_intrusive_xml_archive" : "libs/serialization/test/test_non_intrusive.cpp"
+boost-test(RUN) "serialization/test_non_intrusive_xml_warchive" : "libs/serialization/test/test_non_intrusive.cpp"
+boost-test(RUN) "serialization/test_non_default_ctor_text_archive" : "libs/serialization/test/test_non_default_ctor.cpp"
+boost-test(RUN) "serialization/test_non_default_ctor_text_warchive" : "libs/serialization/test/test_non_default_ctor.cpp"
+boost-test(RUN) "serialization/test_non_default_ctor_binary_archive" : "libs/serialization/test/test_non_default_ctor.cpp"
+boost-test(RUN) "serialization/test_non_default_ctor_xml_archive" : "libs/serialization/test/test_non_default_ctor.cpp"
+boost-test(RUN) "serialization/test_non_default_ctor_xml_warchive" : "libs/serialization/test/test_non_default_ctor.cpp"
+boost-test(RUN) "serialization/test_non_default_ctor2_text_archive" : "libs/serialization/test/test_non_default_ctor2.cpp"
+boost-test(RUN) "serialization/test_non_default_ctor2_text_warchive" : "libs/serialization/test/test_non_default_ctor2.cpp"
+boost-test(RUN) "serialization/test_non_default_ctor2_binary_archive" : "libs/serialization/test/test_non_default_ctor2.cpp"
+boost-test(RUN) "serialization/test_non_default_ctor2_xml_archive" : "libs/serialization/test/test_non_default_ctor2.cpp"
+boost-test(RUN) "serialization/test_non_default_ctor2_xml_warchive" : "libs/serialization/test/test_non_default_ctor2.cpp"
+boost-test(RUN) "serialization/test_null_ptr_text_archive" : "libs/serialization/test/test_null_ptr.cpp"
+boost-test(RUN) "serialization/test_null_ptr_text_warchive" : "libs/serialization/test/test_null_ptr.cpp"
+boost-test(RUN) "serialization/test_null_ptr_binary_archive" : "libs/serialization/test/test_null_ptr.cpp"
+boost-test(RUN) "serialization/test_null_ptr_xml_archive" : "libs/serialization/test/test_null_ptr.cpp"
+boost-test(RUN) "serialization/test_null_ptr_xml_warchive" : "libs/serialization/test/test_null_ptr.cpp"
+boost-test(RUN) "serialization/test_nvp_text_archive" : "libs/serialization/test/test_nvp.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_nvp_text_warchive" : "libs/serialization/test/test_nvp.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_nvp_binary_archive" : "libs/serialization/test/test_nvp.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_nvp_xml_archive" : "libs/serialization/test/test_nvp.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_nvp_xml_warchive" : "libs/serialization/test/test_nvp.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_object_text_archive" : "libs/serialization/test/test_object.cpp"
+boost-test(RUN) "serialization/test_object_text_warchive" : "libs/serialization/test/test_object.cpp"
+boost-test(RUN) "serialization/test_object_binary_archive" : "libs/serialization/test/test_object.cpp"
+boost-test(RUN) "serialization/test_object_xml_archive" : "libs/serialization/test/test_object.cpp"
+boost-test(RUN) "serialization/test_object_xml_warchive" : "libs/serialization/test/test_object.cpp"
+boost-test(RUN) "serialization/test_primitive_text_archive" : "libs/serialization/test/test_primitive.cpp"
+boost-test(RUN) "serialization/test_primitive_text_warchive" : "libs/serialization/test/test_primitive.cpp"
+boost-test(RUN) "serialization/test_primitive_binary_archive" : "libs/serialization/test/test_primitive.cpp"
+boost-test(RUN) "serialization/test_primitive_xml_archive" : "libs/serialization/test/test_primitive.cpp"
+boost-test(RUN) "serialization/test_primitive_xml_warchive" : "libs/serialization/test/test_primitive.cpp"
+boost-test(RUN) "serialization/test_priority_queue_text_archive" : "libs/serialization/test/test_priority_queue.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_priority_queue_text_warchive" : "libs/serialization/test/test_priority_queue.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_priority_queue_binary_archive" : "libs/serialization/test/test_priority_queue.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_priority_queue_xml_archive" : "libs/serialization/test/test_priority_queue.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_priority_queue_xml_warchive" : "libs/serialization/test/test_priority_queue.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_queue_text_archive" : "libs/serialization/test/test_queue.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_queue_text_warchive" : "libs/serialization/test/test_queue.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_queue_binary_archive" : "libs/serialization/test/test_queue.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_queue_xml_archive" : "libs/serialization/test/test_queue.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_queue_xml_warchive" : "libs/serialization/test/test_queue.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_recursion_text_archive" : "libs/serialization/test/test_recursion.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_recursion_text_warchive" : "libs/serialization/test/test_recursion.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_recursion_binary_archive" : "libs/serialization/test/test_recursion.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_recursion_xml_archive" : "libs/serialization/test/test_recursion.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_recursion_xml_warchive" : "libs/serialization/test/test_recursion.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_registered_text_archive" : "libs/serialization/test/test_registered.cpp"
+boost-test(RUN) "serialization/test_registered_text_warchive" : "libs/serialization/test/test_registered.cpp"
+boost-test(RUN) "serialization/test_registered_binary_archive" : "libs/serialization/test/test_registered.cpp"
+boost-test(RUN) "serialization/test_registered_xml_archive" : "libs/serialization/test/test_registered.cpp"
+boost-test(RUN) "serialization/test_registered_xml_warchive" : "libs/serialization/test/test_registered.cpp"
+boost-test(RUN) "serialization/test_set_text_archive" : "libs/serialization/test/test_set.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_set_text_warchive" : "libs/serialization/test/test_set.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_set_binary_archive" : "libs/serialization/test/test_set.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_set_xml_archive" : "libs/serialization/test/test_set.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_set_xml_warchive" : "libs/serialization/test/test_set.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_set_hashed_text_archive" : "libs/serialization/test/test_set_hashed.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_set_hashed_text_warchive" : "libs/serialization/test/test_set_hashed.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_set_hashed_binary_archive" : "libs/serialization/test/test_set_hashed.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_set_hashed_xml_archive" : "libs/serialization/test/test_set_hashed.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_set_hashed_xml_warchive" : "libs/serialization/test/test_set_hashed.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_set_unordered_text_archive" : "libs/serialization/test/test_set_unordered.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_set_unordered_text_warchive" : "libs/serialization/test/test_set_unordered.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_set_unordered_binary_archive" : "libs/serialization/test/test_set_unordered.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_set_unordered_xml_archive" : "libs/serialization/test/test_set_unordered.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_set_unordered_xml_warchive" : "libs/serialization/test/test_set_unordered.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_set_boost_unordered_text_archive" : "libs/serialization/test/test_set_boost_unordered.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_set_boost_unordered_text_warchive" : "libs/serialization/test/test_set_boost_unordered.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_set_boost_unordered_binary_archive" : "libs/serialization/test/test_set_boost_unordered.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_set_boost_unordered_xml_archive" : "libs/serialization/test/test_set_boost_unordered.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_set_boost_unordered_xml_warchive" : "libs/serialization/test/test_set_boost_unordered.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_simple_class_text_archive" : "libs/serialization/test/test_simple_class.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_simple_class_text_warchive" : "libs/serialization/test/test_simple_class.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_simple_class_binary_archive" : "libs/serialization/test/test_simple_class.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_simple_class_xml_archive" : "libs/serialization/test/test_simple_class.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_simple_class_xml_warchive" : "libs/serialization/test/test_simple_class.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_simple_class_ptr_text_archive" : "libs/serialization/test/test_simple_class_ptr.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_simple_class_ptr_text_warchive" : "libs/serialization/test/test_simple_class_ptr.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_simple_class_ptr_binary_archive" : "libs/serialization/test/test_simple_class_ptr.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_simple_class_ptr_xml_archive" : "libs/serialization/test/test_simple_class_ptr.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_simple_class_ptr_xml_warchive" : "libs/serialization/test/test_simple_class_ptr.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_slist_text_archive" : "libs/serialization/test/test_slist.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_slist_text_warchive" : "libs/serialization/test/test_slist.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_slist_binary_archive" : "libs/serialization/test/test_slist.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_slist_xml_archive" : "libs/serialization/test/test_slist.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_slist_xml_warchive" : "libs/serialization/test/test_slist.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_slist_ptrs_text_archive" : "libs/serialization/test/test_slist_ptrs.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_slist_ptrs_text_warchive" : "libs/serialization/test/test_slist_ptrs.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_slist_ptrs_binary_archive" : "libs/serialization/test/test_slist_ptrs.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_slist_ptrs_xml_archive" : "libs/serialization/test/test_slist_ptrs.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_slist_ptrs_xml_warchive" : "libs/serialization/test/test_slist_ptrs.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_split_text_archive" : "libs/serialization/test/test_split.cpp"
+boost-test(RUN) "serialization/test_split_text_warchive" : "libs/serialization/test/test_split.cpp"
+boost-test(RUN) "serialization/test_split_binary_archive" : "libs/serialization/test/test_split.cpp"
+boost-test(RUN) "serialization/test_split_xml_archive" : "libs/serialization/test/test_split.cpp"
+boost-test(RUN) "serialization/test_split_xml_warchive" : "libs/serialization/test/test_split.cpp"
+boost-test(RUN) "serialization/test_stack_text_archive" : "libs/serialization/test/test_stack.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_stack_text_warchive" : "libs/serialization/test/test_stack.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_stack_binary_archive" : "libs/serialization/test/test_stack.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_stack_xml_archive" : "libs/serialization/test/test_stack.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_stack_xml_warchive" : "libs/serialization/test/test_stack.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_tracking_text_archive" : "libs/serialization/test/test_tracking.cpp"
+boost-test(RUN) "serialization/test_tracking_text_warchive" : "libs/serialization/test/test_tracking.cpp"
+boost-test(RUN) "serialization/test_tracking_binary_archive" : "libs/serialization/test/test_tracking.cpp"
+boost-test(RUN) "serialization/test_tracking_xml_archive" : "libs/serialization/test/test_tracking.cpp"
+boost-test(RUN) "serialization/test_tracking_xml_warchive" : "libs/serialization/test/test_tracking.cpp"
+boost-test(RUN) "serialization/test_unregistered_text_archive" : "libs/serialization/test/test_unregistered.cpp"
+boost-test(RUN) "serialization/test_unregistered_text_warchive" : "libs/serialization/test/test_unregistered.cpp"
+boost-test(RUN) "serialization/test_unregistered_binary_archive" : "libs/serialization/test/test_unregistered.cpp"
+boost-test(RUN) "serialization/test_unregistered_xml_archive" : "libs/serialization/test/test_unregistered.cpp"
+boost-test(RUN) "serialization/test_unregistered_xml_warchive" : "libs/serialization/test/test_unregistered.cpp"
+boost-test(RUN) "serialization/test_unique_ptr_text_archive" : "libs/serialization/test/test_unique_ptr.cpp"
+boost-test(RUN) "serialization/test_unique_ptr_text_warchive" : "libs/serialization/test/test_unique_ptr.cpp"
+boost-test(RUN) "serialization/test_unique_ptr_binary_archive" : "libs/serialization/test/test_unique_ptr.cpp"
+boost-test(RUN) "serialization/test_unique_ptr_xml_archive" : "libs/serialization/test/test_unique_ptr.cpp"
+boost-test(RUN) "serialization/test_unique_ptr_xml_warchive" : "libs/serialization/test/test_unique_ptr.cpp"
+boost-test(RUN) "serialization/test_valarray_text_archive" : "libs/serialization/test/test_valarray.cpp"
+boost-test(RUN) "serialization/test_valarray_text_warchive" : "libs/serialization/test/test_valarray.cpp"
+boost-test(RUN) "serialization/test_valarray_binary_archive" : "libs/serialization/test/test_valarray.cpp"
+boost-test(RUN) "serialization/test_valarray_xml_archive" : "libs/serialization/test/test_valarray.cpp"
+boost-test(RUN) "serialization/test_valarray_xml_warchive" : "libs/serialization/test/test_valarray.cpp"
+boost-test(RUN) "serialization/test_variant_text_archive" : "libs/serialization/test/test_variant.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_variant_text_warchive" : "libs/serialization/test/test_variant.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_variant_binary_archive" : "libs/serialization/test/test_variant.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_variant_xml_archive" : "libs/serialization/test/test_variant.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_variant_xml_warchive" : "libs/serialization/test/test_variant.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_vector_text_archive" : "libs/serialization/test/test_vector.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_vector_text_warchive" : "libs/serialization/test/test_vector.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_vector_binary_archive" : "libs/serialization/test/test_vector.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_vector_xml_archive" : "libs/serialization/test/test_vector.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_vector_xml_warchive" : "libs/serialization/test/test_vector.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_new_operator_text_archive" : "libs/serialization/test/test_new_operator.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_new_operator_text_warchive" : "libs/serialization/test/test_new_operator.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_new_operator_binary_archive" : "libs/serialization/test/test_new_operator.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_new_operator_xml_archive" : "libs/serialization/test/test_new_operator.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_new_operator_xml_warchive" : "libs/serialization/test/test_new_operator.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_optional_text_archive" : "libs/serialization/test/test_optional.cpp"
+boost-test(RUN) "serialization/test_optional_text_warchive" : "libs/serialization/test/test_optional.cpp"
+boost-test(RUN) "serialization/test_optional_binary_archive" : "libs/serialization/test/test_optional.cpp"
+boost-test(RUN) "serialization/test_optional_xml_archive" : "libs/serialization/test/test_optional.cpp"
+boost-test(RUN) "serialization/test_optional_xml_warchive" : "libs/serialization/test/test_optional.cpp"
+boost-test(RUN) "serialization/test_shared_ptr_text_archive" : "libs/serialization/test/test_shared_ptr.cpp"
+boost-test(RUN) "serialization/test_shared_ptr_text_warchive" : "libs/serialization/test/test_shared_ptr.cpp"
+boost-test(RUN) "serialization/test_shared_ptr_binary_archive" : "libs/serialization/test/test_shared_ptr.cpp"
+boost-test(RUN) "serialization/test_shared_ptr_xml_archive" : "libs/serialization/test/test_shared_ptr.cpp"
+boost-test(RUN) "serialization/test_shared_ptr_xml_warchive" : "libs/serialization/test/test_shared_ptr.cpp"
+boost-test(RUN) "serialization/test_shared_ptr_multi_base_text_archive" : "libs/serialization/test/test_shared_ptr_multi_base.cpp"
+boost-test(RUN) "serialization/test_shared_ptr_multi_base_text_warchive" : "libs/serialization/test/test_shared_ptr_multi_base.cpp"
+boost-test(RUN) "serialization/test_shared_ptr_multi_base_binary_archive" : "libs/serialization/test/test_shared_ptr_multi_base.cpp"
+boost-test(RUN) "serialization/test_shared_ptr_multi_base_xml_archive" : "libs/serialization/test/test_shared_ptr_multi_base.cpp"
+boost-test(RUN) "serialization/test_shared_ptr_multi_base_xml_warchive" : "libs/serialization/test/test_shared_ptr_multi_base.cpp"
+boost-test(RUN) "serialization/test_shared_ptr_132_text_archive" : "libs/serialization/test/test_shared_ptr_132.cpp"
+boost-test(RUN) "serialization/test_shared_ptr_132_text_warchive" : "libs/serialization/test/test_shared_ptr_132.cpp"
+boost-test(RUN) "serialization/test_shared_ptr_132_binary_archive" : "libs/serialization/test/test_shared_ptr_132.cpp"
+boost-test(RUN) "serialization/test_shared_ptr_132_xml_archive" : "libs/serialization/test/test_shared_ptr_132.cpp"
+boost-test(RUN) "serialization/test_shared_ptr_132_xml_warchive" : "libs/serialization/test/test_shared_ptr_132.cpp"
+boost-test(RUN) "serialization/test_polymorphic_polymorphic_text_archive" : "libs/serialization/test/test_polymorphic.cpp" "libs/serialization/test/test_polymorphic_A.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_polymorphic_polymorphic_text_warchive" : "libs/serialization/test/test_polymorphic.cpp" "libs/serialization/test/test_polymorphic_A.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_polymorphic_polymorphic_binary_archive" : "libs/serialization/test/test_polymorphic.cpp" "libs/serialization/test/test_polymorphic_A.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_polymorphic_polymorphic_xml_archive" : "libs/serialization/test/test_polymorphic.cpp" "libs/serialization/test/test_polymorphic_A.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_polymorphic_polymorphic_xml_warchive" : "libs/serialization/test/test_polymorphic.cpp" "libs/serialization/test/test_polymorphic_A.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_polymorphic2_polymorphic_text_archive" : "libs/serialization/test/test_polymorphic2.cpp" "libs/serialization/test/test_polymorphic2imp.cpp"
+boost-test(RUN) "serialization/test_polymorphic2_polymorphic_text_warchive" : "libs/serialization/test/test_polymorphic2.cpp" "libs/serialization/test/test_polymorphic2imp.cpp"
+boost-test(RUN) "serialization/test_polymorphic2_polymorphic_binary_archive" : "libs/serialization/test/test_polymorphic2.cpp" "libs/serialization/test/test_polymorphic2imp.cpp"
+boost-test(RUN) "serialization/test_polymorphic2_polymorphic_xml_archive" : "libs/serialization/test/test_polymorphic2.cpp" "libs/serialization/test/test_polymorphic2imp.cpp"
+boost-test(RUN) "serialization/test_polymorphic2_polymorphic_xml_warchive" : "libs/serialization/test/test_polymorphic2.cpp" "libs/serialization/test/test_polymorphic2imp.cpp"
+boost-test(RUN) "serialization/test_p_helper_polymorphic_text_archive" : "libs/serialization/test/test_p_helper.cpp"
+boost-test(RUN) "serialization/test_p_helper_polymorphic_text_warchive" : "libs/serialization/test/test_p_helper.cpp"
+boost-test(RUN) "serialization/test_p_helper_polymorphic_binary_archive" : "libs/serialization/test/test_p_helper.cpp"
+boost-test(RUN) "serialization/test_p_helper_polymorphic_xml_archive" : "libs/serialization/test/test_p_helper.cpp"
+boost-test(RUN) "serialization/test_p_helper_polymorphic_xml_warchive" : "libs/serialization/test/test_p_helper.cpp"
+boost-test(RUN) "serialization/test_dll_exported_polymorphic_text_archive" : "libs/serialization/test/test_dll_exported.cpp" "libs/serialization/test/polymorphic_derived1.cpp"
+boost-test(RUN) "serialization/test_dll_exported_polymorphic_text_warchive" : "libs/serialization/test/test_dll_exported.cpp" "libs/serialization/test/polymorphic_derived1.cpp"
+boost-test(RUN) "serialization/test_dll_exported_polymorphic_binary_archive" : "libs/serialization/test/test_dll_exported.cpp" "libs/serialization/test/polymorphic_derived1.cpp"
+boost-test(RUN) "serialization/test_dll_exported_polymorphic_xml_archive" : "libs/serialization/test/test_dll_exported.cpp" "libs/serialization/test/polymorphic_derived1.cpp"
+boost-test(RUN) "serialization/test_dll_exported_polymorphic_xml_warchive" : "libs/serialization/test/test_dll_exported.cpp" "libs/serialization/test/polymorphic_derived1.cpp"
+boost-test(RUN) "serialization/test_no_rtti_polymorphic_text_archive" : "libs/serialization/test/test_no_rtti.cpp" "libs/serialization/test/polymorphic_base.cpp" "libs/serialization/test/polymorphic_derived1.cpp" "libs/serialization/test/polymorphic_derived2.cpp"
+boost-test(RUN) "serialization/test_no_rtti_polymorphic_text_warchive" : "libs/serialization/test/test_no_rtti.cpp" "libs/serialization/test/polymorphic_base.cpp" "libs/serialization/test/polymorphic_derived1.cpp" "libs/serialization/test/polymorphic_derived2.cpp"
+boost-test(RUN) "serialization/test_no_rtti_polymorphic_binary_archive" : "libs/serialization/test/test_no_rtti.cpp" "libs/serialization/test/polymorphic_base.cpp" "libs/serialization/test/polymorphic_derived1.cpp" "libs/serialization/test/polymorphic_derived2.cpp"
+boost-test(RUN) "serialization/test_no_rtti_polymorphic_xml_archive" : "libs/serialization/test/test_no_rtti.cpp" "libs/serialization/test/polymorphic_base.cpp" "libs/serialization/test/polymorphic_derived1.cpp" "libs/serialization/test/polymorphic_derived2.cpp"
+boost-test(RUN) "serialization/test_no_rtti_polymorphic_xml_warchive" : "libs/serialization/test/test_no_rtti.cpp" "libs/serialization/test/polymorphic_base.cpp" "libs/serialization/test/polymorphic_derived1.cpp" "libs/serialization/test/polymorphic_derived2.cpp"
+boost-test(RUN) "serialization/test_exported_polymorphic_text_archive" : "libs/serialization/test/test_exported.cpp" "libs/serialization/test/polymorphic_base.cpp" "libs/serialization/test/polymorphic_derived1.cpp" "libs/serialization/test/polymorphic_derived2.cpp"
+boost-test(RUN) "serialization/test_exported_polymorphic_text_warchive" : "libs/serialization/test/test_exported.cpp" "libs/serialization/test/polymorphic_base.cpp" "libs/serialization/test/polymorphic_derived1.cpp" "libs/serialization/test/polymorphic_derived2.cpp"
+boost-test(RUN) "serialization/test_exported_polymorphic_binary_archive" : "libs/serialization/test/test_exported.cpp" "libs/serialization/test/polymorphic_base.cpp" "libs/serialization/test/polymorphic_derived1.cpp" "libs/serialization/test/polymorphic_derived2.cpp"
+boost-test(RUN) "serialization/test_exported_polymorphic_xml_archive" : "libs/serialization/test/test_exported.cpp" "libs/serialization/test/polymorphic_base.cpp" "libs/serialization/test/polymorphic_derived1.cpp" "libs/serialization/test/polymorphic_derived2.cpp"
+boost-test(RUN) "serialization/test_exported_polymorphic_xml_warchive" : "libs/serialization/test/test_exported.cpp" "libs/serialization/test/polymorphic_base.cpp" "libs/serialization/test/polymorphic_derived1.cpp" "libs/serialization/test/polymorphic_derived2.cpp"
+boost-test(COMPILE) "serialization/test_strong_typedef" : "libs/serialization/test/test_strong_typedef.cpp"
+boost-test(RUN) "serialization/test_inclusion" : "libs/serialization/test/test_inclusion.cpp"
+boost-test(RUN) "serialization/test_inclusion2" : "libs/serialization/test/test_inclusion2.cpp"
+boost-test(RUN) "serialization/test_dll_simple" : "libs/serialization/test/test_dll_simple.cpp"
+boost-test(RUN) "serialization/test_private_ctor" : "libs/serialization/test/test_private_ctor.cpp"
+boost-test(RUN) "serialization/test_reset_object_address" : "libs/serialization/test/test_reset_object_address.cpp" "libs/serialization/test/A.cpp"
+boost-test(RUN) "serialization/test_void_cast" : "libs/serialization/test/test_void_cast.cpp"
+boost-test(RUN) "serialization/test_mult_archive_types" : "libs/serialization/test/test_mult_archive_types.cpp"
+boost-test(RUN) "serialization/test_iterators" : "libs/serialization/test/test_iterators.cpp"
+boost-test(RUN) "serialization/test_iterators_base64" : "libs/serialization/test/test_iterators_base64.cpp"
+boost-test(RUN) "serialization/test_smart_cast" : "libs/serialization/test/test_smart_cast.cpp"
+boost-test(RUN) "serialization/test_codecvt_null" : "libs/serialization/test/test_codecvt_null.cpp"
+boost-test(RUN) "serialization/test_singleton" : "libs/serialization/test/test_singleton.cpp"
+boost-test(RUN) "serialization/test_singleton_inherited" : "libs/serialization/test/test_singleton_inherited.cpp"
+boost-test(RUN) "serialization/test_singleton_plain" : "libs/serialization/test/test_singleton_plain.cpp"
+boost-test(COMPILE_FAIL) "serialization/test_not_serializable" : "libs/serialization/test/test_not_serializable.cpp"
+boost-test(COMPILE_FAIL) "serialization/test_traits_fail" : "libs/serialization/test/test_traits_fail.cpp"
+boost-test(COMPILE_FAIL) "serialization/test_const_load_fail1" : "libs/serialization/test/test_const_load_fail1.cpp"
+boost-test(COMPILE_FAIL) "serialization/test_const_load_fail2" : "libs/serialization/test/test_const_load_fail2.cpp"
+boost-test(COMPILE_FAIL) "serialization/test_const_load_fail3" : "libs/serialization/test/test_const_load_fail3.cpp"
+boost-test(COMPILE_FAIL) "serialization/test_const_load_fail1_nvp" : "libs/serialization/test/test_const_load_fail1_nvp.cpp"
+boost-test(COMPILE_FAIL) "serialization/test_const_load_fail2_nvp" : "libs/serialization/test/test_const_load_fail2_nvp.cpp"
+boost-test(COMPILE_FAIL) "serialization/test_const_load_fail3_nvp" : "libs/serialization/test/test_const_load_fail3_nvp.cpp"
+boost-test(COMPILE_FAIL) "serialization/test_check" : "libs/serialization/test/test_check.cpp"
+boost-test(COMPILE) "serialization/test_static_warning" : "libs/serialization/test/test_static_warning.cpp"
+boost-test(COMPILE) "serialization/test_const_save_warn1" : "libs/serialization/test/test_const_save_warn1.cpp"
+boost-test(COMPILE) "serialization/test_const_save_warn2" : "libs/serialization/test/test_const_save_warn2.cpp"
+boost-test(COMPILE) "serialization/test_const_save_warn3" : "libs/serialization/test/test_const_save_warn3.cpp"
+boost-test(COMPILE) "serialization/test_traits_pass" : "libs/serialization/test/test_traits_pass.cpp"
+boost-test(COMPILE) "serialization/test_const_pass" : "libs/serialization/test/test_const_pass.cpp"
+...patience...
+...patience...
+...found 6867 targets...
+...updating 1433 targets...
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/build/clang-darwin-03/debug/threading-multi/visibility-hidden/polymorphic_iarchive.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/build/clang-darwin-03/debug/threading-multi/visibility-hidden/binary_oarchive.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/build/clang-darwin-03/debug/threading-multi/visibility-hidden/binary_iarchive.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/build/clang-darwin-03/debug/threading-multi/visibility-hidden/polymorphic_oarchive.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/build/clang-darwin-03/debug/threading-multi/visibility-hidden/text_iarchive.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/build/clang-darwin-03/debug/threading-multi/visibility-hidden/text_oarchive.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_array_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_array.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/build/clang-darwin-03/debug/threading-multi/visibility-hidden/polymorphic_text_iarchive.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/build/clang-darwin-03/debug/threading-multi/visibility-hidden/polymorphic_text_oarchive.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/build/clang-darwin-03/debug/threading-multi/visibility-hidden/polymorphic_binary_iarchive.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/build/clang-darwin-03/debug/threading-multi/visibility-hidden/polymorphic_binary_oarchive.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/build/clang-darwin-03/debug/threading-multi/visibility-hidden/polymorphic_xml_iarchive.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/build/clang-darwin-03/debug/threading-multi/visibility-hidden/polymorphic_xml_oarchive.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/build/clang-darwin-03/debug/threading-multi/visibility-hidden/xml_oarchive.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/build/clang-darwin-03/debug/threading-multi/visibility-hidden/xml_iarchive.o
+clang-darwin.link.dll ../../../bin.v2/libs/serialization/build/clang-darwin-03/debug/threading-multi/visibility-hidden/libboost_serialization.dylib
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_array_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_array_text_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_array_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_array_text_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_array_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_array_text_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/build/clang-darwin-03/debug/threading-multi/visibility-hidden/text_wiarchive.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/build/clang-darwin-03/debug/threading-multi/visibility-hidden/text_woarchive.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_array_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_array.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/build/clang-darwin-03/debug/threading-multi/visibility-hidden/polymorphic_text_wiarchive.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/build/clang-darwin-03/debug/threading-multi/visibility-hidden/polymorphic_text_woarchive.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/build/clang-darwin-03/debug/threading-multi/visibility-hidden/polymorphic_xml_wiarchive.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/build/clang-darwin-03/debug/threading-multi/visibility-hidden/xml_woarchive.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/build/clang-darwin-03/debug/threading-multi/visibility-hidden/xml_wiarchive.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/build/clang-darwin-03/debug/threading-multi/visibility-hidden/polymorphic_xml_woarchive.o
+clang-darwin.link.dll ../../../bin.v2/libs/serialization/build/clang-darwin-03/debug/threading-multi/visibility-hidden/libboost_wserialization.dylib
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_array_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_array_text_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_array_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_array_text_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_array_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_array_text_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_array_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_array.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_array_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_array.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_array_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_array_xml_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_array_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_array_xml_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_array_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_array_xml_archive.test
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_array_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_array_xml_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_array_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_array_xml_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_array_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_array_xml_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_array_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_array.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_array_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_array_binary_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_array_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_array_binary_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_array_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_array_binary_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_boost_array_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_boost_array.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_boost_array_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_boost_array_text_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_boost_array_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_boost_array_text_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_boost_array_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_boost_array_text_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_boost_array_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_boost_array.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_boost_array_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_boost_array.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_boost_array_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_boost_array_xml_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_boost_array_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_boost_array_xml_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_boost_array_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_boost_array_xml_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_boost_array_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_boost_array.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_boost_array_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_boost_array_text_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_boost_array_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_boost_array_text_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_boost_array_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_boost_array_text_warchive.test
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_boost_array_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_boost_array_binary_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_boost_array_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_boost_array_binary_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_boost_array_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_boost_array_binary_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_boost_array_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_boost_array.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_boost_array_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_boost_array_xml_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_boost_array_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_boost_array_xml_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_boost_array_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_boost_array_xml_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_native_array_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_native_array.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_native_array_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_native_array_text_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_native_array_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_native_array_text_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_native_array_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_native_array_text_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_native_array_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_native_array.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_native_array_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_native_array.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_native_array_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_native_array_text_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_native_array_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_native_array_text_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_native_array_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_native_array_text_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_native_array_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_native_array.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_native_array_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_native_array_xml_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_native_array_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_native_array_xml_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_native_array_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_native_array_xml_archive.test
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_native_array_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_native_array_binary_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_native_array_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_native_array_binary_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_native_array_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_native_array_binary_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_binary_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_binary.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_binary_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_binary_text_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_binary_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_binary_text_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_binary_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_binary_text_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_binary_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_binary.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_binary_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_binary_text_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_binary_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_binary_text_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_binary_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_binary_text_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_binary_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_binary.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_native_array_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_native_array.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_binary_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_binary_binary_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_binary_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_binary_binary_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_binary_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_binary_binary_archive.test
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_native_array_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_native_array_xml_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_native_array_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_native_array_xml_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_native_array_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_native_array_xml_warchive.test
+...on 100th target...
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_binary_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_binary.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_binary_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_binary_xml_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_binary_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_binary_xml_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_binary_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_binary_xml_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_binary_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_binary.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_binary_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_binary_xml_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_binary_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_binary_xml_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_binary_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_binary_xml_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_class_info_save_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_class_info_save.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_class_info_save_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_class_info_save_text_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_class_info_save_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_class_info_save_text_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_class_info_save_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_class_info_save_text_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_class_info_save_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_class_info_save.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_class_info_save_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_class_info_save_text_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_class_info_save_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_class_info_save_text_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_class_info_save_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_class_info_save_text_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_class_info_save_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_class_info_save.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_class_info_save_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_class_info_save_binary_archive
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_class_info_save_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_class_info_save.o
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_class_info_save_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_class_info_save_binary_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_class_info_save_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_class_info_save_binary_archive.test
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_class_info_save_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_class_info_save_xml_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_class_info_save_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_class_info_save_xml_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_class_info_save_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_class_info_save_xml_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_class_info_save_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_class_info_save.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_class_info_save_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_class_info_save_xml_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_class_info_save_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_class_info_save_xml_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_class_info_save_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_class_info_save_xml_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_class_info_load_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_class_info_load.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_class_info_load_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_class_info_load_text_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_class_info_load_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_class_info_load_text_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_class_info_load_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_class_info_load_text_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_class_info_load_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_class_info_load.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_class_info_load_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_class_info_load_text_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_class_info_load_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_class_info_load_text_warchive.run
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_class_info_load_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_class_info_load.o
+**passed** ../../../bin.v2/libs/serialization/test/test_class_info_load_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_class_info_load_text_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_class_info_load_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_class_info_load.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_class_info_load_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_class_info_load_binary_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_class_info_load_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_class_info_load_binary_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_class_info_load_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_class_info_load_binary_archive.test
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_class_info_load_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_class_info_load_xml_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_class_info_load_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_class_info_load_xml_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_class_info_load_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_class_info_load_xml_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_class_info_load_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_class_info_load.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_class_info_load_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_class_info_load_xml_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_class_info_load_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_class_info_load_xml_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_class_info_load_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_class_info_load_xml_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_bitset_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_bitset.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_bitset_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_bitset.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_bitset_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_bitset_text_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_bitset_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_bitset_text_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_bitset_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_bitset_text_archive.test
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_bitset_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_bitset_text_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_bitset_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_bitset_text_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_bitset_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_bitset_text_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_bitset_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_bitset.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_bitset_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_bitset_binary_archive
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_bitset_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_bitset.o
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_bitset_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_bitset_binary_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_bitset_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_bitset_binary_archive.test
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_bitset_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_bitset_xml_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_bitset_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_bitset_xml_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_bitset_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_bitset_xml_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_bitset_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_bitset.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_bitset_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_bitset_xml_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_bitset_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_bitset_xml_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_bitset_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_bitset_xml_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_complex_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_complex.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_complex_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_complex_text_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_complex_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_complex_text_archive.run
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_complex_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_complex.o
+**passed** ../../../bin.v2/libs/serialization/test/test_complex_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_complex_text_archive.test
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_complex_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_complex_text_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_complex_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_complex_text_warchive.run
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_complex_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_complex.o
+**passed** ../../../bin.v2/libs/serialization/test/test_complex_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_complex_text_warchive.test
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_complex_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_complex_binary_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_complex_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_complex_binary_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_complex_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_complex_binary_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_complex_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_complex.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_complex_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_complex_xml_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_complex_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_complex_xml_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_complex_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_complex_xml_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_complex_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_complex.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_complex_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_complex_xml_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_complex_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_complex_xml_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_complex_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_complex_xml_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_contained_class_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_contained_class.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_contained_class_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_contained_class.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_contained_class_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_contained_class_text_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_contained_class_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_contained_class_text_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_contained_class_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_contained_class_text_archive.test
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_contained_class_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_contained_class_text_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_contained_class_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_contained_class_text_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_contained_class_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_contained_class_text_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_contained_class_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_contained_class.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_contained_class_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_contained_class_binary_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_contained_class_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_contained_class_binary_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_contained_class_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_contained_class_binary_archive.test
+...on 200th target...
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_contained_class_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_contained_class.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_contained_class_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_contained_class_xml_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_contained_class_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_contained_class_xml_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_contained_class_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_contained_class_xml_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_contained_class_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_contained_class.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_contained_class_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_contained_class_xml_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_contained_class_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_contained_class_xml_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_contained_class_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_contained_class_xml_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_cyclic_ptrs_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_cyclic_ptrs.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_cyclic_ptrs_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_cyclic_ptrs_text_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_cyclic_ptrs_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_cyclic_ptrs_text_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_cyclic_ptrs_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_cyclic_ptrs_text_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_cyclic_ptrs_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_cyclic_ptrs.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_cyclic_ptrs_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_cyclic_ptrs_text_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_cyclic_ptrs_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_cyclic_ptrs_text_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_cyclic_ptrs_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_cyclic_ptrs_text_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_cyclic_ptrs_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_cyclic_ptrs.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_cyclic_ptrs_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_cyclic_ptrs_binary_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_cyclic_ptrs_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_cyclic_ptrs_binary_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_cyclic_ptrs_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_cyclic_ptrs_binary_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_cyclic_ptrs_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_cyclic_ptrs.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_cyclic_ptrs_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_cyclic_ptrs_xml_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_cyclic_ptrs_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_cyclic_ptrs_xml_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_cyclic_ptrs_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_cyclic_ptrs_xml_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_cyclic_ptrs_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_cyclic_ptrs.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_cyclic_ptrs_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_cyclic_ptrs_xml_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_cyclic_ptrs_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_cyclic_ptrs_xml_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_cyclic_ptrs_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_cyclic_ptrs_xml_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_delete_pointer_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_delete_pointer.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_delete_pointer_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_delete_pointer_text_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_delete_pointer_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_delete_pointer_text_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_delete_pointer_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_delete_pointer_text_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_delete_pointer_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_delete_pointer.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_delete_pointer_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_delete_pointer_text_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_delete_pointer_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_delete_pointer_text_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_delete_pointer_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_delete_pointer_text_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_delete_pointer_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_delete_pointer.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_delete_pointer_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_delete_pointer.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_delete_pointer_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_delete_pointer_xml_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_delete_pointer_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_delete_pointer_xml_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_delete_pointer_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_delete_pointer_xml_archive.test
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_delete_pointer_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_delete_pointer_binary_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_delete_pointer_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_delete_pointer_binary_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_delete_pointer_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_delete_pointer_binary_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_delete_pointer_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_delete_pointer.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_delete_pointer_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_delete_pointer_xml_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_delete_pointer_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_delete_pointer_xml_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_delete_pointer_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_delete_pointer_xml_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_deque_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_deque.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_deque_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_deque_text_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_deque_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_deque_text_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_deque_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_deque_text_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_deque_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_deque.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_deque_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_deque_text_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_deque_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_deque_text_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_deque_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_deque_text_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_deque_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_deque.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_deque_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_deque_binary_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_deque_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_deque_binary_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_deque_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_deque_binary_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_deque_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_deque.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_deque_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_deque_xml_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_deque_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_deque_xml_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_deque_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_deque_xml_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_deque_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_deque.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_deque_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_deque_xml_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_deque_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_deque_xml_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_deque_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_deque_xml_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_derived_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_derived.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_derived_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_derived_text_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_derived_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_derived_text_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_derived_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_derived_text_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_derived_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_derived.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_derived_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_derived_text_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_derived_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_derived_text_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_derived_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_derived_text_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_derived_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_derived.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_derived_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_derived_binary_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_derived_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_derived_binary_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_derived_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_derived_binary_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_derived_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_derived.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_derived_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_derived_xml_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_derived_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_derived_xml_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_derived_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_derived_xml_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_derived_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_derived.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_derived_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_derived_xml_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_derived_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_derived_xml_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_derived_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_derived_xml_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_derived_class_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_derived_class.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_derived_class_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_derived_class_text_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_derived_class_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_derived_class_text_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_derived_class_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_derived_class_text_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_derived_class_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_derived_class.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_derived_class_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_derived_class_text_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_derived_class_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_derived_class_text_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_derived_class_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_derived_class_text_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_derived_class_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_derived_class.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_derived_class_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_derived_class.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_derived_class_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_derived_class_xml_archive
+...on 300th target...
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_derived_class_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_derived_class_xml_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_derived_class_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_derived_class_xml_archive.test
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_derived_class_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_derived_class_binary_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_derived_class_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_derived_class_binary_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_derived_class_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_derived_class_binary_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_derived_class_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_derived_class.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_derived_class_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_derived_class_xml_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_derived_class_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_derived_class_xml_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_derived_class_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_derived_class_xml_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_derived_class_ptr_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_derived_class_ptr.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_derived_class_ptr_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_derived_class_ptr_text_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_derived_class_ptr_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_derived_class_ptr_text_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_derived_class_ptr_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_derived_class_ptr_text_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_derived_class_ptr_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_derived_class_ptr.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_derived_class_ptr_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_derived_class_ptr_text_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_derived_class_ptr_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_derived_class_ptr_text_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_derived_class_ptr_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_derived_class_ptr_text_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_derived_class_ptr_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_derived_class_ptr.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_derived_class_ptr_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_derived_class_ptr_binary_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_derived_class_ptr_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_derived_class_ptr_binary_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_derived_class_ptr_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_derived_class_ptr_binary_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_derived_class_ptr_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_derived_class_ptr.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_derived_class_ptr_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_derived_class_ptr_xml_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_derived_class_ptr_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_derived_class_ptr_xml_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_derived_class_ptr_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_derived_class_ptr_xml_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_derived_class_ptr_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_derived_class_ptr.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_derived_class_ptr_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_derived_class_ptr_xml_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_derived_class_ptr_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_derived_class_ptr_xml_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_derived_class_ptr_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_derived_class_ptr_xml_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_diamond_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_diamond.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_diamond_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_diamond_text_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_diamond_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_diamond_text_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_diamond_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_diamond_text_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_diamond_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_diamond.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_diamond_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_diamond_text_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_diamond_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_diamond_text_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_diamond_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_diamond_text_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_diamond_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_diamond.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_diamond_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_diamond_binary_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_diamond_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_diamond_binary_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_diamond_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_diamond_binary_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_diamond_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_diamond.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_diamond_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_diamond_xml_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_diamond_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_diamond_xml_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_diamond_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_diamond_xml_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_diamond_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_diamond.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_diamond_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_diamond_xml_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_diamond_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_diamond_xml_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_diamond_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_diamond_xml_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_diamond_complex_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_diamond_complex.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_diamond_complex_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_diamond_complex_text_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_diamond_complex_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_diamond_complex_text_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_diamond_complex_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_diamond_complex_text_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_diamond_complex_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_diamond_complex.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_diamond_complex_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_diamond_complex_text_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_diamond_complex_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_diamond_complex_text_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_diamond_complex_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_diamond_complex_text_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_diamond_complex_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_diamond_complex.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_diamond_complex_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_diamond_complex_binary_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_diamond_complex_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_diamond_complex_binary_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_diamond_complex_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_diamond_complex_binary_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_diamond_complex_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_diamond_complex.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_diamond_complex_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_diamond_complex_xml_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_diamond_complex_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_diamond_complex_xml_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_diamond_complex_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_diamond_complex_xml_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_forward_list_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_forward_list.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_forward_list_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_forward_list_text_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_forward_list_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_forward_list_text_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_forward_list_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_forward_list_text_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_diamond_complex_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_diamond_complex.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_diamond_complex_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_diamond_complex_xml_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_diamond_complex_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_diamond_complex_xml_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_diamond_complex_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_diamond_complex_xml_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_forward_list_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_forward_list.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_forward_list_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_forward_list_text_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_forward_list_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_forward_list_text_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_forward_list_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_forward_list_text_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_forward_list_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_forward_list.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_forward_list_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_forward_list_binary_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_forward_list_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_forward_list_binary_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_forward_list_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_forward_list_binary_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_forward_list_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_forward_list.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_forward_list_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_forward_list_xml_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_forward_list_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_forward_list_xml_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_forward_list_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_forward_list_xml_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_forward_list_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_forward_list.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_forward_list_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_forward_list_xml_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_forward_list_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_forward_list_xml_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_forward_list_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_forward_list_xml_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_forward_list_ptrs_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_forward_list_ptrs.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_forward_list_ptrs_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_forward_list_ptrs_text_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_forward_list_ptrs_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_forward_list_ptrs_text_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_forward_list_ptrs_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_forward_list_ptrs_text_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_forward_list_ptrs_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_forward_list_ptrs.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_forward_list_ptrs_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_forward_list_ptrs_text_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_forward_list_ptrs_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_forward_list_ptrs_text_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_forward_list_ptrs_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_forward_list_ptrs_text_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_forward_list_ptrs_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_forward_list_ptrs.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_forward_list_ptrs_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_forward_list_ptrs_xml_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_forward_list_ptrs_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_forward_list_ptrs_xml_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_forward_list_ptrs_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_forward_list_ptrs_xml_archive.test
+...on 400th target...
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_forward_list_ptrs_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_forward_list_ptrs.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_forward_list_ptrs_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_forward_list_ptrs_binary_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_forward_list_ptrs_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_forward_list_ptrs_binary_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_forward_list_ptrs_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_forward_list_ptrs_binary_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_forward_list_ptrs_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_forward_list_ptrs.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_forward_list_ptrs_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_forward_list_ptrs_xml_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_forward_list_ptrs_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_forward_list_ptrs_xml_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_forward_list_ptrs_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_forward_list_ptrs_xml_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_helper_support_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_helper_support.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_helper_support_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_helper_support_text_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_helper_support_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_helper_support_text_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_helper_support_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_helper_support_text_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_helper_support_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_helper_support.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_helper_support_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_helper_support_text_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_helper_support_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_helper_support_text_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_helper_support_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_helper_support_text_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_helper_support_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_helper_support.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_helper_support_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_helper_support_binary_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_helper_support_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_helper_support_binary_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_helper_support_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_helper_support_binary_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_helper_support_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_helper_support.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_helper_support_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_helper_support_xml_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_helper_support_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_helper_support_xml_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_helper_support_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_helper_support_xml_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_interrupts_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_interrupts.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_interrupts_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_interrupts_text_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_interrupts_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_interrupts_text_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_interrupts_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_interrupts_text_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_helper_support_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_helper_support.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_interrupts_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_interrupts.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_helper_support_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_helper_support_xml_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_helper_support_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_helper_support_xml_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_helper_support_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_helper_support_xml_warchive.test
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_interrupts_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_interrupts_text_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_interrupts_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_interrupts_text_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_interrupts_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_interrupts_text_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_interrupts_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_interrupts.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_interrupts_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_interrupts_binary_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_interrupts_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_interrupts_binary_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_interrupts_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_interrupts_binary_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_interrupts_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_interrupts.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_interrupts_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_interrupts_xml_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_interrupts_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_interrupts_xml_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_interrupts_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_interrupts_xml_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_interrupts_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_interrupts.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_interrupts_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_interrupts_xml_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_interrupts_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_interrupts_xml_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_interrupts_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_interrupts_xml_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_list_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_list.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_list_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_list_text_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_list_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_list_text_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_list_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_list_text_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_list_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_list.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_list_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_list_text_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_list_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_list_text_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_list_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_list_text_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_list_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_list.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_list_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_list_xml_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_list_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_list_xml_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_list_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_list_xml_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_list_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_list.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_list_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_list_binary_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_list_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_list_binary_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_list_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_list_binary_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_list_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_list.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_list_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_list_xml_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_list_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_list_xml_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_list_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_list_xml_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_list_ptrs_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_list_ptrs.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_list_ptrs_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_list_ptrs_text_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_list_ptrs_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_list_ptrs_text_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_list_ptrs_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_list_ptrs_text_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_list_ptrs_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_list_ptrs.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_list_ptrs_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_list_ptrs_text_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_list_ptrs_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_list_ptrs_text_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_list_ptrs_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_list_ptrs_text_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_list_ptrs_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_list_ptrs.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_list_ptrs_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_list_ptrs_binary_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_list_ptrs_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_list_ptrs_binary_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_list_ptrs_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_list_ptrs_binary_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_list_ptrs_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_list_ptrs.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_list_ptrs_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_list_ptrs_xml_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_list_ptrs_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_list_ptrs_xml_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_list_ptrs_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_list_ptrs_xml_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_list_ptrs_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_list_ptrs.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_list_ptrs_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_list_ptrs_xml_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_list_ptrs_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_list_ptrs_xml_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_list_ptrs_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_list_ptrs_xml_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_map_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_map.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_map_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_map_text_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_map_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_map_text_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_map_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_map_text_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_map_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_map.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_map_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_map_text_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_map_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_map_text_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_map_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_map_text_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_map_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_map.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_map_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_map_binary_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_map_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_map_binary_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_map_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_map_binary_archive.test
+...on 500th target...
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_map_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_map.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_map_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_map_xml_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_map_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_map_xml_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_map_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_map_xml_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_map_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_map.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_map_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_map_xml_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_map_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_map_xml_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_map_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_map_xml_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_map_boost_unordered_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_map_boost_unordered.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_map_boost_unordered_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_map_boost_unordered_text_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_map_boost_unordered_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_map_boost_unordered_text_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_map_boost_unordered_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_map_boost_unordered_text_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_map_boost_unordered_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_map_boost_unordered.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_map_boost_unordered_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_map_boost_unordered_text_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_map_boost_unordered_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_map_boost_unordered_text_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_map_boost_unordered_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_map_boost_unordered_text_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_map_boost_unordered_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_map_boost_unordered.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_map_boost_unordered_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_map_boost_unordered_binary_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_map_boost_unordered_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_map_boost_unordered_binary_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_map_boost_unordered_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_map_boost_unordered_binary_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_map_boost_unordered_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_map_boost_unordered.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_map_boost_unordered_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_map_boost_unordered_xml_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_map_boost_unordered_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_map_boost_unordered_xml_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_map_boost_unordered_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_map_boost_unordered_xml_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_mi_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_mi.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_mi_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_mi_text_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_mi_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_mi_text_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_mi_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_mi_text_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_map_boost_unordered_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_map_boost_unordered.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_map_boost_unordered_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_map_boost_unordered_xml_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_map_boost_unordered_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_map_boost_unordered_xml_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_map_boost_unordered_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_map_boost_unordered_xml_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_mi_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_mi.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_mi_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_mi_text_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_mi_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_mi_text_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_mi_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_mi_text_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_mi_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_mi.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_mi_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_mi.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_mi_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_mi_binary_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_mi_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_mi_binary_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_mi_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_mi_binary_archive.test
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_mi_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_mi_xml_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_mi_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_mi_xml_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_mi_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_mi_xml_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_mi_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_mi.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_mi_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_mi_xml_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_mi_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_mi_xml_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_mi_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_mi_xml_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_multiple_ptrs_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_multiple_ptrs.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_multiple_ptrs_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_multiple_ptrs_text_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_multiple_ptrs_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_multiple_ptrs_text_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_multiple_ptrs_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_multiple_ptrs_text_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_multiple_ptrs_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_multiple_ptrs.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_multiple_ptrs_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_multiple_ptrs.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_multiple_ptrs_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_multiple_ptrs_text_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_multiple_ptrs_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_multiple_ptrs_text_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_multiple_ptrs_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_multiple_ptrs_text_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_multiple_ptrs_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_multiple_ptrs.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_multiple_ptrs_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_multiple_ptrs_xml_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_multiple_ptrs_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_multiple_ptrs_xml_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_multiple_ptrs_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_multiple_ptrs_xml_archive.test
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_multiple_ptrs_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_multiple_ptrs_binary_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_multiple_ptrs_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_multiple_ptrs_binary_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_multiple_ptrs_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_multiple_ptrs_binary_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_multiple_ptrs_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_multiple_ptrs.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_multiple_ptrs_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_multiple_ptrs_xml_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_multiple_ptrs_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_multiple_ptrs_xml_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_multiple_ptrs_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_multiple_ptrs_xml_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_multiple_inheritance_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_multiple_inheritance.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_multiple_inheritance_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_multiple_inheritance_text_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_multiple_inheritance_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_multiple_inheritance_text_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_multiple_inheritance_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_multiple_inheritance_text_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_multiple_inheritance_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_multiple_inheritance.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_multiple_inheritance_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_multiple_inheritance_text_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_multiple_inheritance_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_multiple_inheritance_text_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_multiple_inheritance_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_multiple_inheritance_text_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_multiple_inheritance_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_multiple_inheritance.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_multiple_inheritance_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_multiple_inheritance_binary_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_multiple_inheritance_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_multiple_inheritance_binary_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_multiple_inheritance_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_multiple_inheritance_binary_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_multiple_inheritance_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_multiple_inheritance.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_multiple_inheritance_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_multiple_inheritance_xml_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_multiple_inheritance_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_multiple_inheritance_xml_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_multiple_inheritance_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_multiple_inheritance_xml_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_multiple_inheritance_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_multiple_inheritance.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_multiple_inheritance_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_multiple_inheritance_xml_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_multiple_inheritance_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_multiple_inheritance_xml_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_multiple_inheritance_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_multiple_inheritance_xml_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_non_intrusive_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_non_intrusive.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_non_intrusive_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_non_intrusive_text_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_non_intrusive_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_non_intrusive_text_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_non_intrusive_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_non_intrusive_text_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_non_intrusive_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_non_intrusive.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_non_intrusive_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_non_intrusive_text_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_non_intrusive_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_non_intrusive_text_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_non_intrusive_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_non_intrusive_text_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_non_intrusive_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_non_intrusive.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_non_intrusive_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_non_intrusive_binary_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_non_intrusive_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_non_intrusive_binary_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_non_intrusive_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_non_intrusive_binary_archive.test
+...on 600th target...
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_non_intrusive_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_non_intrusive.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_non_intrusive_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_non_intrusive_xml_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_non_intrusive_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_non_intrusive_xml_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_non_intrusive_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_non_intrusive_xml_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_non_intrusive_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_non_intrusive.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_non_intrusive_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_non_intrusive_xml_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_non_intrusive_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_non_intrusive_xml_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_non_intrusive_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_non_intrusive_xml_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_non_default_ctor_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_non_default_ctor.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_non_default_ctor_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_non_default_ctor_text_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_non_default_ctor_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_non_default_ctor_text_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_non_default_ctor_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_non_default_ctor_text_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_non_default_ctor_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_non_default_ctor.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_non_default_ctor_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_non_default_ctor_text_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_non_default_ctor_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_non_default_ctor_text_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_non_default_ctor_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_non_default_ctor_text_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_non_default_ctor_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_non_default_ctor.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_non_default_ctor_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_non_default_ctor_binary_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_non_default_ctor_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_non_default_ctor_binary_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_non_default_ctor_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_non_default_ctor_binary_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_non_default_ctor_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_non_default_ctor.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_non_default_ctor_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_non_default_ctor_xml_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_non_default_ctor_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_non_default_ctor_xml_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_non_default_ctor_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_non_default_ctor_xml_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_non_default_ctor_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_non_default_ctor.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_non_default_ctor_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_non_default_ctor_xml_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_non_default_ctor_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_non_default_ctor_xml_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_non_default_ctor_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_non_default_ctor_xml_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_non_default_ctor2_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_non_default_ctor2.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_non_default_ctor2_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_non_default_ctor2_text_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_non_default_ctor2_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_non_default_ctor2_text_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_non_default_ctor2_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_non_default_ctor2_text_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_non_default_ctor2_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_non_default_ctor2.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_non_default_ctor2_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_non_default_ctor2_text_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_non_default_ctor2_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_non_default_ctor2_text_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_non_default_ctor2_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_non_default_ctor2_text_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_non_default_ctor2_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_non_default_ctor2.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_non_default_ctor2_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_non_default_ctor2_binary_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_non_default_ctor2_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_non_default_ctor2_binary_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_non_default_ctor2_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_non_default_ctor2_binary_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_non_default_ctor2_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_non_default_ctor2.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_non_default_ctor2_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_non_default_ctor2_xml_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_non_default_ctor2_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_non_default_ctor2_xml_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_non_default_ctor2_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_non_default_ctor2_xml_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_non_default_ctor2_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_non_default_ctor2.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_non_default_ctor2_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_non_default_ctor2_xml_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_non_default_ctor2_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_non_default_ctor2_xml_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_non_default_ctor2_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_non_default_ctor2_xml_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_null_ptr_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_null_ptr.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_null_ptr_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_null_ptr_text_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_null_ptr_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_null_ptr_text_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_null_ptr_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_null_ptr_text_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_null_ptr_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_null_ptr.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_null_ptr_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_null_ptr_text_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_null_ptr_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_null_ptr_text_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_null_ptr_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_null_ptr_text_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_null_ptr_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_null_ptr.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_null_ptr_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_null_ptr_binary_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_null_ptr_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_null_ptr_binary_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_null_ptr_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_null_ptr_binary_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_null_ptr_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_null_ptr.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_null_ptr_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_null_ptr_xml_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_null_ptr_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_null_ptr_xml_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_null_ptr_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_null_ptr_xml_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_null_ptr_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_null_ptr.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_null_ptr_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_null_ptr_xml_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_null_ptr_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_null_ptr_xml_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_null_ptr_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_null_ptr_xml_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_nvp_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_nvp.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_nvp_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_nvp_text_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_nvp_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_nvp_text_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_nvp_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_nvp_text_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_nvp_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_nvp.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_nvp_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_nvp_text_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_nvp_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_nvp_text_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_nvp_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_nvp_text_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_nvp_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_nvp.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_nvp_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_nvp_binary_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_nvp_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_nvp_binary_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_nvp_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_nvp_binary_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_nvp_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_nvp.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_nvp_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_nvp_xml_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_nvp_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_nvp_xml_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_nvp_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_nvp_xml_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_object_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_object.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_object_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_object_text_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_object_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_object_text_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_object_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_object_text_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_object_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_object.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_object_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_object_text_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_object_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_object_text_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_object_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_object_text_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_nvp_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_nvp.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_object_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_object.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_nvp_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_nvp_xml_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_nvp_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_nvp_xml_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_nvp_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_nvp_xml_warchive.test
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_object_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_object_binary_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_object_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_object_binary_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_object_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_object_binary_archive.test
+...on 700th target...
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_object_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_object.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_object_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_object_xml_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_object_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_object_xml_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_object_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_object_xml_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_object_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_object.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_object_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_object_xml_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_object_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_object_xml_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_object_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_object_xml_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_primitive_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_primitive.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_primitive_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_primitive_text_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_primitive_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_primitive_text_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_primitive_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_primitive_text_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_primitive_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_primitive.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_primitive_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_primitive_text_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_primitive_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_primitive_text_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_primitive_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_primitive_text_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_primitive_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_primitive.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_primitive_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_primitive_binary_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_primitive_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_primitive_binary_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_primitive_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_primitive_binary_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_primitive_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_primitive.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_primitive_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_primitive_xml_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_primitive_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_primitive_xml_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_primitive_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_primitive_xml_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_primitive_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_primitive.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_primitive_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_primitive_xml_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_primitive_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_primitive_xml_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_primitive_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_primitive_xml_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_priority_queue_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_priority_queue.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_priority_queue_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_priority_queue_text_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_priority_queue_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_priority_queue_text_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_priority_queue_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_priority_queue_text_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_priority_queue_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_priority_queue.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_priority_queue_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_priority_queue_text_warchive
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_priority_queue_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_priority_queue.o
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_priority_queue_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_priority_queue_text_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_priority_queue_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_priority_queue_text_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_priority_queue_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_priority_queue.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_priority_queue_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_priority_queue_binary_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_priority_queue_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_priority_queue_binary_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_priority_queue_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_priority_queue_binary_archive.test
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_priority_queue_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_priority_queue_xml_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_priority_queue_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_priority_queue_xml_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_priority_queue_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_priority_queue_xml_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_priority_queue_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_priority_queue.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_priority_queue_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_priority_queue_xml_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_priority_queue_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_priority_queue_xml_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_priority_queue_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_priority_queue_xml_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_queue_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_queue.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_queue_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_queue.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_queue_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_queue_text_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_queue_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_queue_text_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_queue_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_queue_text_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_queue_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_queue.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_queue_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_queue_text_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_queue_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_queue_text_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_queue_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_queue_text_warchive.test
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_queue_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_queue_binary_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_queue_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_queue_binary_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_queue_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_queue_binary_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_queue_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_queue.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_queue_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_queue_xml_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_queue_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_queue_xml_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_queue_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_queue_xml_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_queue_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_queue.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_queue_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_queue_xml_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_queue_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_queue_xml_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_queue_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_queue_xml_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_recursion_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_recursion.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_recursion_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_recursion_text_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_recursion_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_recursion_text_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_recursion_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_recursion_text_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_recursion_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_recursion.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_recursion_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_recursion_text_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_recursion_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_recursion_text_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_recursion_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_recursion_text_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_recursion_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_recursion.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_recursion_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_recursion_binary_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_recursion_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_recursion_binary_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_recursion_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_recursion_binary_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_recursion_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_recursion.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_recursion_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_recursion_xml_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_recursion_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_recursion_xml_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_recursion_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_recursion_xml_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_recursion_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_recursion.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_recursion_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_recursion_xml_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_recursion_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_recursion_xml_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_recursion_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_recursion_xml_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_registered_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_registered.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_registered_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_registered_text_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_registered_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_registered_text_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_registered_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_registered_text_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_registered_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_registered.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_registered_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_registered_text_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_registered_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_registered_text_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_registered_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_registered_text_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_registered_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_registered.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_registered_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_registered.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_registered_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_registered_binary_archive
+...on 800th target...
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_registered_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_registered_binary_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_registered_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_registered_binary_archive.test
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_registered_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_registered_xml_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_registered_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_registered_xml_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_registered_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_registered_xml_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_registered_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_registered.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_registered_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_registered_xml_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_registered_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_registered_xml_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_registered_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_registered_xml_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_set_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_set.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_set_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_set_text_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_set_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_set_text_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_set_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_set_text_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_set_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_set.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_set_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_set_xml_archive
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_set_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_set.o
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_set_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_set_xml_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_set_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_set_xml_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_set_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_set.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_set_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_set_text_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_set_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_set_text_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_set_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_set_text_warchive.test
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_set_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_set_binary_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_set_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_set_binary_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_set_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_set_binary_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_set_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_set.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_set_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_set_xml_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_set_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_set_xml_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_set_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_set_xml_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_set_boost_unordered_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_set_boost_unordered.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_set_boost_unordered_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_set_boost_unordered.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_set_boost_unordered_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_set_boost_unordered_text_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_set_boost_unordered_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_set_boost_unordered_text_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_set_boost_unordered_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_set_boost_unordered_text_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_set_boost_unordered_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_set_boost_unordered.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_set_boost_unordered_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_set_boost_unordered_text_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_set_boost_unordered_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_set_boost_unordered_text_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_set_boost_unordered_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_set_boost_unordered_text_warchive.test
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_set_boost_unordered_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_set_boost_unordered_binary_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_set_boost_unordered_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_set_boost_unordered_binary_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_set_boost_unordered_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_set_boost_unordered_binary_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_set_boost_unordered_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_set_boost_unordered.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_set_boost_unordered_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_set_boost_unordered_xml_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_set_boost_unordered_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_set_boost_unordered_xml_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_set_boost_unordered_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_set_boost_unordered_xml_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_set_boost_unordered_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_set_boost_unordered.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_set_boost_unordered_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_set_boost_unordered_xml_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_set_boost_unordered_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_set_boost_unordered_xml_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_set_boost_unordered_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_set_boost_unordered_xml_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_simple_class_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_simple_class.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_simple_class_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_simple_class_text_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_simple_class_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_simple_class_text_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_simple_class_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_simple_class_text_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_simple_class_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_simple_class.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_simple_class_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_simple_class_text_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_simple_class_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_simple_class_text_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_simple_class_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_simple_class_text_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_simple_class_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_simple_class.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_simple_class_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_simple_class_binary_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_simple_class_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_simple_class_binary_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_simple_class_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_simple_class_binary_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_simple_class_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_simple_class.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_simple_class_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_simple_class_xml_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_simple_class_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_simple_class_xml_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_simple_class_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_simple_class_xml_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_simple_class_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_simple_class.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_simple_class_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_simple_class_xml_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_simple_class_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_simple_class_xml_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_simple_class_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_simple_class_xml_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_simple_class_ptr_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_simple_class_ptr.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_simple_class_ptr_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_simple_class_ptr_text_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_simple_class_ptr_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_simple_class_ptr_text_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_simple_class_ptr_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_simple_class_ptr_text_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_simple_class_ptr_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_simple_class_ptr.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_simple_class_ptr_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_simple_class_ptr_text_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_simple_class_ptr_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_simple_class_ptr_text_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_simple_class_ptr_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_simple_class_ptr_text_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_simple_class_ptr_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_simple_class_ptr.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_simple_class_ptr_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_simple_class_ptr_xml_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_simple_class_ptr_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_simple_class_ptr_xml_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_simple_class_ptr_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_simple_class_ptr_xml_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_simple_class_ptr_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_simple_class_ptr.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_simple_class_ptr_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_simple_class_ptr.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_simple_class_ptr_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_simple_class_ptr_binary_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_simple_class_ptr_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_simple_class_ptr_binary_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_simple_class_ptr_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_simple_class_ptr_binary_archive.test
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_simple_class_ptr_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_simple_class_ptr_xml_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_simple_class_ptr_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_simple_class_ptr_xml_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_simple_class_ptr_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_simple_class_ptr_xml_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_split_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_split.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_split_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_split_text_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_split_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_split_text_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_split_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_split_text_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_split_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_split.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_split_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_split_text_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_split_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_split_text_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_split_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_split_text_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_split_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_split.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_split_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_split.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_split_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_split_binary_archive
+...on 900th target...
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_split_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_split_binary_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_split_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_split_binary_archive.test
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_split_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_split_xml_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_split_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_split_xml_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_split_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_split_xml_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_split_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_split.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_split_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_split_xml_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_split_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_split_xml_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_split_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_split_xml_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_stack_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_stack.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_stack_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_stack.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_stack_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_stack_text_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_stack_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_stack_text_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_stack_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_stack_text_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_stack_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_stack.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_stack_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_stack_text_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_stack_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_stack_text_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_stack_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_stack_text_warchive.test
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_stack_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_stack_binary_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_stack_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_stack_binary_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_stack_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_stack_binary_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_stack_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_stack.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_stack_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_stack_xml_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_stack_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_stack_xml_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_stack_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_stack_xml_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_stack_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_stack.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_stack_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_stack_xml_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_stack_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_stack_xml_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_stack_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_stack_xml_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_tracking_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_tracking.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_tracking_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_tracking_text_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_tracking_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_tracking_text_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_tracking_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_tracking_text_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_tracking_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_tracking.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_tracking_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_tracking_text_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_tracking_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_tracking_text_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_tracking_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_tracking_text_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_tracking_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_tracking.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_tracking_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_tracking_binary_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_tracking_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_tracking_binary_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_tracking_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_tracking_binary_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_tracking_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_tracking.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_tracking_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_tracking_xml_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_tracking_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_tracking_xml_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_tracking_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_tracking_xml_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_tracking_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_tracking.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_tracking_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_tracking_xml_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_tracking_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_tracking_xml_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_tracking_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_tracking_xml_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_unregistered_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_unregistered.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_unregistered_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_unregistered_text_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_unregistered_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_unregistered_text_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_unregistered_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_unregistered_text_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_unregistered_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_unregistered.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_unregistered_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_unregistered_text_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_unregistered_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_unregistered_text_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_unregistered_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_unregistered_text_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_unregistered_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_unregistered.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_unregistered_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_unregistered_xml_archive
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_unregistered_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_unregistered.o
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_unregistered_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_unregistered_xml_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_unregistered_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_unregistered_xml_archive.test
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_unregistered_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_unregistered_binary_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_unregistered_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_unregistered_binary_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_unregistered_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_unregistered_binary_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_unique_ptr_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_unique_ptr.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_unique_ptr_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_unique_ptr_text_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_unique_ptr_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_unique_ptr_text_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_unique_ptr_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_unique_ptr_text_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_unregistered_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_unregistered.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_unregistered_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_unregistered_xml_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_unregistered_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_unregistered_xml_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_unregistered_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_unregistered_xml_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_unique_ptr_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_unique_ptr.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_unique_ptr_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_unique_ptr_text_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_unique_ptr_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_unique_ptr_text_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_unique_ptr_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_unique_ptr_text_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_unique_ptr_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_unique_ptr.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_unique_ptr_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_unique_ptr_binary_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_unique_ptr_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_unique_ptr_binary_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_unique_ptr_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_unique_ptr_binary_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_unique_ptr_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_unique_ptr.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_unique_ptr_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_unique_ptr_xml_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_unique_ptr_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_unique_ptr_xml_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_unique_ptr_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_unique_ptr_xml_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_unique_ptr_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_unique_ptr.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_unique_ptr_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_unique_ptr_xml_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_unique_ptr_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_unique_ptr_xml_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_unique_ptr_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_unique_ptr_xml_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_valarray_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_valarray.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_valarray_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_valarray_text_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_valarray_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_valarray_text_archive.run
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_valarray_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_valarray.o
+**passed** ../../../bin.v2/libs/serialization/test/test_valarray_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_valarray_text_archive.test
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_valarray_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_valarray_text_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_valarray_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_valarray_text_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_valarray_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_valarray_text_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_valarray_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_valarray.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_valarray_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_valarray.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_valarray_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_valarray_binary_archive
+...on 1000th target...
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_valarray_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_valarray_binary_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_valarray_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_valarray_binary_archive.test
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_valarray_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_valarray_xml_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_valarray_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_valarray_xml_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_valarray_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_valarray_xml_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_valarray_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_valarray.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_valarray_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_valarray_xml_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_valarray_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_valarray_xml_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_valarray_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_valarray_xml_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_variant_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_variant.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_variant_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_variant_text_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_variant_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_variant_text_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_variant_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_variant_text_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_variant_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_variant.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_variant_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_variant_text_warchive
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_variant_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_variant.o
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_variant_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_variant_text_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_variant_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_variant_text_warchive.test
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_variant_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_variant_binary_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_variant_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_variant_binary_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_variant_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_variant_binary_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_variant_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_variant.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_variant_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_variant_xml_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_variant_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_variant_xml_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_variant_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_variant_xml_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_vector_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_vector.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_vector_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_vector_text_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_vector_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_vector_text_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_vector_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_vector_text_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_vector_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_vector.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_vector_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_vector_text_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_vector_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_vector_text_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_vector_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_vector_text_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_vector_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_vector.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_vector_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_vector_binary_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_vector_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_vector_binary_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_vector_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_vector_binary_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_variant_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_variant.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_variant_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_variant_xml_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_variant_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_variant_xml_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_variant_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_variant_xml_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_vector_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_vector.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_vector_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_vector_xml_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_vector_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_vector_xml_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_vector_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_vector_xml_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_vector_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_vector.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_vector_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_vector_xml_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_vector_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_vector_xml_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_vector_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_vector_xml_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_new_operator_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_new_operator.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_new_operator_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_new_operator_text_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_new_operator_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_new_operator_text_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_new_operator_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_new_operator_text_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_new_operator_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_new_operator.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_new_operator_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_new_operator_text_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_new_operator_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_new_operator_text_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_new_operator_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_new_operator_text_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_new_operator_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_new_operator.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_new_operator_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_new_operator_xml_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_new_operator_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_new_operator_xml_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_new_operator_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_new_operator_xml_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_new_operator_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_new_operator.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_new_operator_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_new_operator_binary_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_new_operator_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_new_operator_binary_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_new_operator_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_new_operator_binary_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_new_operator_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_new_operator.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_new_operator_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_new_operator_xml_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_new_operator_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_new_operator_xml_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_new_operator_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_new_operator_xml_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_optional_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_optional.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_optional_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_optional_text_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_optional_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_optional_text_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_optional_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_optional_text_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_optional_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_optional.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_optional_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_optional_text_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_optional_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_optional_text_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_optional_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_optional_text_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_optional_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_optional.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_optional_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_optional_binary_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_optional_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_optional_binary_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_optional_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_optional_binary_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_optional_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_optional.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_optional_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_optional_xml_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_optional_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_optional_xml_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_optional_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_optional_xml_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_optional_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_optional.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_optional_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_optional_xml_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_optional_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_optional_xml_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_optional_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_optional_xml_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_shared_ptr_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_shared_ptr.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_shared_ptr_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_shared_ptr_text_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_shared_ptr_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_shared_ptr_text_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_shared_ptr_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_shared_ptr_text_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_shared_ptr_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_shared_ptr.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_shared_ptr_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_shared_ptr_text_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_shared_ptr_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_shared_ptr_text_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_shared_ptr_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_shared_ptr_text_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_shared_ptr_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_shared_ptr.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_shared_ptr_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_shared_ptr_binary_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_shared_ptr_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_shared_ptr_binary_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_shared_ptr_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_shared_ptr_binary_archive.test
+...on 1100th target...
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_shared_ptr_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_shared_ptr.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_shared_ptr_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_shared_ptr_xml_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_shared_ptr_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_shared_ptr_xml_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_shared_ptr_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_shared_ptr_xml_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_shared_ptr_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_shared_ptr.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_shared_ptr_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_shared_ptr_xml_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_shared_ptr_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_shared_ptr_xml_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_shared_ptr_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_shared_ptr_xml_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_shared_ptr_multi_base_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_shared_ptr_multi_base.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_shared_ptr_multi_base_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_shared_ptr_multi_base_text_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_shared_ptr_multi_base_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_shared_ptr_multi_base_text_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_shared_ptr_multi_base_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_shared_ptr_multi_base_text_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_shared_ptr_multi_base_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_shared_ptr_multi_base.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_shared_ptr_multi_base_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_shared_ptr_multi_base_text_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_shared_ptr_multi_base_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_shared_ptr_multi_base_text_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_shared_ptr_multi_base_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_shared_ptr_multi_base_text_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_shared_ptr_multi_base_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_shared_ptr_multi_base.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_shared_ptr_multi_base_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_shared_ptr_multi_base_binary_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_shared_ptr_multi_base_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_shared_ptr_multi_base_binary_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_shared_ptr_multi_base_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_shared_ptr_multi_base_binary_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_shared_ptr_multi_base_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_shared_ptr_multi_base.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_shared_ptr_multi_base_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_shared_ptr_multi_base_xml_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_shared_ptr_multi_base_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_shared_ptr_multi_base_xml_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_shared_ptr_multi_base_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_shared_ptr_multi_base_xml_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_shared_ptr_132_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_shared_ptr_132.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_shared_ptr_multi_base_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_shared_ptr_multi_base.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_shared_ptr_132_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_shared_ptr_132_text_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_shared_ptr_132_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_shared_ptr_132_text_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_shared_ptr_132_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_shared_ptr_132_text_archive.test
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_shared_ptr_multi_base_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_shared_ptr_multi_base_xml_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_shared_ptr_multi_base_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_shared_ptr_multi_base_xml_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_shared_ptr_multi_base_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_shared_ptr_multi_base_xml_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_shared_ptr_132_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_shared_ptr_132.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_shared_ptr_132_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_shared_ptr_132_text_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_shared_ptr_132_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_shared_ptr_132_text_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_shared_ptr_132_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_shared_ptr_132_text_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_shared_ptr_132_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_shared_ptr_132.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_shared_ptr_132_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_shared_ptr_132_binary_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_shared_ptr_132_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_shared_ptr_132_binary_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_shared_ptr_132_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_shared_ptr_132_binary_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_polymorphic_polymorphic_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_polymorphic.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_shared_ptr_132_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_shared_ptr_132.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_shared_ptr_132_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_shared_ptr_132_xml_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_shared_ptr_132_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_shared_ptr_132_xml_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_shared_ptr_132_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_shared_ptr_132_xml_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_shared_ptr_132_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_shared_ptr_132.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_shared_ptr_132_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_shared_ptr_132_xml_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_shared_ptr_132_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_shared_ptr_132_xml_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_shared_ptr_132_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_shared_ptr_132_xml_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_polymorphic_polymorphic_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_polymorphic_A.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_polymorphic_polymorphic_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_polymorphic_polymorphic_text_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_polymorphic_polymorphic_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_polymorphic_polymorphic_text_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_polymorphic_polymorphic_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_polymorphic_polymorphic_text_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_polymorphic_polymorphic_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_polymorphic_A.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_polymorphic_polymorphic_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_polymorphic.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_polymorphic_polymorphic_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_polymorphic_polymorphic_text_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_polymorphic_polymorphic_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_polymorphic_polymorphic_text_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_polymorphic_polymorphic_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_polymorphic_polymorphic_text_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_polymorphic_polymorphic_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_polymorphic.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_polymorphic_polymorphic_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_polymorphic_A.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_polymorphic_polymorphic_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_polymorphic_polymorphic_binary_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_polymorphic_polymorphic_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_polymorphic_polymorphic_binary_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_polymorphic_polymorphic_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_polymorphic_polymorphic_binary_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_polymorphic_polymorphic_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_polymorphic_A.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_polymorphic_polymorphic_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_polymorphic.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_polymorphic_polymorphic_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_polymorphic_polymorphic_xml_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_polymorphic_polymorphic_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_polymorphic_polymorphic_xml_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_polymorphic_polymorphic_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_polymorphic_polymorphic_xml_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_polymorphic_polymorphic_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_polymorphic_A.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_polymorphic_polymorphic_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_polymorphic.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_polymorphic_polymorphic_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_polymorphic_polymorphic_xml_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_polymorphic_polymorphic_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_polymorphic_polymorphic_xml_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_polymorphic_polymorphic_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_polymorphic_polymorphic_xml_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_polymorphic2_polymorphic_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_polymorphic2imp.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_polymorphic2_polymorphic_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_polymorphic2.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_polymorphic2_polymorphic_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_polymorphic2imp.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_polymorphic2_polymorphic_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_polymorphic2_polymorphic_text_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_polymorphic2_polymorphic_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_polymorphic2_polymorphic_text_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_polymorphic2_polymorphic_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_polymorphic2_polymorphic_text_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_polymorphic2_polymorphic_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_polymorphic2.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_polymorphic2_polymorphic_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_polymorphic2_polymorphic_text_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_polymorphic2_polymorphic_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_polymorphic2_polymorphic_text_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_polymorphic2_polymorphic_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_polymorphic2_polymorphic_text_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_polymorphic2_polymorphic_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_polymorphic2imp.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_polymorphic2_polymorphic_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_polymorphic2.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_polymorphic2_polymorphic_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_polymorphic2_polymorphic_binary_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_polymorphic2_polymorphic_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_polymorphic2_polymorphic_binary_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_polymorphic2_polymorphic_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_polymorphic2_polymorphic_binary_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_polymorphic2_polymorphic_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_polymorphic2imp.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_polymorphic2_polymorphic_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_polymorphic2.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_polymorphic2_polymorphic_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_polymorphic2_polymorphic_xml_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_polymorphic2_polymorphic_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_polymorphic2_polymorphic_xml_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_polymorphic2_polymorphic_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_polymorphic2_polymorphic_xml_archive.test
+...on 1200th target...
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_polymorphic2_polymorphic_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_polymorphic2imp.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_polymorphic2_polymorphic_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_polymorphic2.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_polymorphic2_polymorphic_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_polymorphic2_polymorphic_xml_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_polymorphic2_polymorphic_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_polymorphic2_polymorphic_xml_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_polymorphic2_polymorphic_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_polymorphic2_polymorphic_xml_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_p_helper_polymorphic_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_p_helper.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_p_helper_polymorphic_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_p_helper_polymorphic_text_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_p_helper_polymorphic_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_p_helper_polymorphic_text_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_p_helper_polymorphic_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_p_helper_polymorphic_text_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_p_helper_polymorphic_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_p_helper.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_p_helper_polymorphic_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_p_helper_polymorphic_text_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_p_helper_polymorphic_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_p_helper_polymorphic_text_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_p_helper_polymorphic_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_p_helper_polymorphic_text_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_p_helper_polymorphic_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_p_helper.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_p_helper_polymorphic_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_p_helper_polymorphic_binary_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_p_helper_polymorphic_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_p_helper_polymorphic_binary_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_p_helper_polymorphic_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_p_helper_polymorphic_binary_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_p_helper_polymorphic_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_p_helper.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_p_helper_polymorphic_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_p_helper_polymorphic_xml_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_p_helper_polymorphic_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_p_helper_polymorphic_xml_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_p_helper_polymorphic_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_p_helper_polymorphic_xml_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_dll_exported_polymorphic_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/polymorphic_derived1.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_dll_exported_polymorphic_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_dll_exported.o
+In file included from test_dll_exported.cpp:51:
+./polymorphic_base.hpp:29:13: warning: polymorphic_base imported [-W#pragma-messages]
+ #pragma message ("polymorphic_base imported")
+ ^
+In file included from test_dll_exported.cpp:56:
+./polymorphic_derived2.hpp:29:13: warning: polymorphic_derived2 imported [-W#pragma-messages]
+ #pragma message ("polymorphic_derived2 imported")
+ ^
+2 warnings generated.
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/clang-darwin-03/debug/threading-multi/visibility-hidden/dll_polymorphic_derived2.o
+In file included from dll_polymorphic_derived2.cpp:13:
+In file included from ./polymorphic_derived2.cpp:15:
+./polymorphic_base.hpp:29:13: warning: polymorphic_base imported [-W#pragma-messages]
+ #pragma message ("polymorphic_base imported")
+ ^
+In file included from dll_polymorphic_derived2.cpp:13:
+In file included from ./polymorphic_derived2.cpp:16:
+./polymorphic_derived2.hpp:32:13: warning: polymorphic_derived2 exported [-W#pragma-messages]
+ #pragma message ("polymorphic_derived2 exported")
+ ^
+2 warnings generated.
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/clang-darwin-03/debug/threading-multi/visibility-hidden/dll_polymorphic_base.o
+In file included from dll_polymorphic_base.cpp:12:
+In file included from ./polymorphic_base.cpp:13:
+./polymorphic_base.hpp:32:13: warning: polymorphic_base exported [-W#pragma-messages]
+ #pragma message ("polymorphic_base exported")
+ ^
+1 warning generated.
+clang-darwin.link.dll ../../../bin.v2/libs/serialization/test/clang-darwin-03/debug/threading-multi/visibility-hidden/libdll_polymorphic_base.dylib
+clang-darwin.link.dll ../../../bin.v2/libs/serialization/test/clang-darwin-03/debug/threading-multi/visibility-hidden/libdll_polymorphic_derived2.dylib
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_dll_exported_polymorphic_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_dll_exported_polymorphic_text_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_dll_exported_polymorphic_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_dll_exported_polymorphic_text_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_dll_exported_polymorphic_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_dll_exported_polymorphic_text_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_p_helper_polymorphic_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_p_helper.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_p_helper_polymorphic_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_p_helper_polymorphic_xml_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_p_helper_polymorphic_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_p_helper_polymorphic_xml_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_p_helper_polymorphic_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_p_helper_polymorphic_xml_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_dll_exported_polymorphic_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/polymorphic_derived1.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_dll_exported_polymorphic_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_dll_exported.o
+In file included from test_dll_exported.cpp:51:
+./polymorphic_base.hpp:29:13: warning: polymorphic_base imported [-W#pragma-messages]
+ #pragma message ("polymorphic_base imported")
+ ^
+In file included from test_dll_exported.cpp:56:
+./polymorphic_derived2.hpp:29:13: warning: polymorphic_derived2 imported [-W#pragma-messages]
+ #pragma message ("polymorphic_derived2 imported")
+ ^
+2 warnings generated.
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_dll_exported_polymorphic_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_dll_exported_polymorphic_text_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_dll_exported_polymorphic_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_dll_exported_polymorphic_text_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_dll_exported_polymorphic_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_dll_exported_polymorphic_text_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_dll_exported_polymorphic_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/polymorphic_derived1.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_dll_exported_polymorphic_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_dll_exported.o
+In file included from test_dll_exported.cpp:51:
+./polymorphic_base.hpp:29:13: warning: polymorphic_base imported [-W#pragma-messages]
+ #pragma message ("polymorphic_base imported")
+ ^
+In file included from test_dll_exported.cpp:56:
+./polymorphic_derived2.hpp:29:13: warning: polymorphic_derived2 imported [-W#pragma-messages]
+ #pragma message ("polymorphic_derived2 imported")
+ ^
+2 warnings generated.
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_dll_exported_polymorphic_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_dll_exported_polymorphic_binary_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_dll_exported_polymorphic_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_dll_exported_polymorphic_binary_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_dll_exported_polymorphic_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_dll_exported_polymorphic_binary_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_dll_exported_polymorphic_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_dll_exported.o
+In file included from test_dll_exported.cpp:51:
+./polymorphic_base.hpp:29:13: warning: polymorphic_base imported [-W#pragma-messages]
+ #pragma message ("polymorphic_base imported")
+ ^
+In file included from test_dll_exported.cpp:56:
+./polymorphic_derived2.hpp:29:13: warning: polymorphic_derived2 imported [-W#pragma-messages]
+ #pragma message ("polymorphic_derived2 imported")
+ ^
+2 warnings generated.
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_dll_exported_polymorphic_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/polymorphic_derived1.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_dll_exported_polymorphic_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_dll_exported_polymorphic_xml_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_dll_exported_polymorphic_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_dll_exported_polymorphic_xml_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_dll_exported_polymorphic_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_dll_exported_polymorphic_xml_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_dll_exported_polymorphic_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/polymorphic_derived1.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_dll_exported_polymorphic_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_dll_exported.o
+In file included from test_dll_exported.cpp:51:
+./polymorphic_base.hpp:29:13: warning: polymorphic_base imported [-W#pragma-messages]
+ #pragma message ("polymorphic_base imported")
+ ^
+In file included from test_dll_exported.cpp:56:
+./polymorphic_derived2.hpp:29:13: warning: polymorphic_derived2 imported [-W#pragma-messages]
+ #pragma message ("polymorphic_derived2 imported")
+ ^
+2 warnings generated.
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_dll_exported_polymorphic_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_dll_exported_polymorphic_xml_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_dll_exported_polymorphic_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_dll_exported_polymorphic_xml_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_dll_exported_polymorphic_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_dll_exported_polymorphic_xml_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_no_rtti_polymorphic_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/polymorphic_base.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_no_rtti_polymorphic_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/polymorphic_derived1.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_no_rtti_polymorphic_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/polymorphic_derived2.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_no_rtti_polymorphic_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_no_rtti.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_no_rtti_polymorphic_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_no_rtti_polymorphic_text_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_no_rtti_polymorphic_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_no_rtti_polymorphic_text_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_no_rtti_polymorphic_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_no_rtti_polymorphic_text_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_no_rtti_polymorphic_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/polymorphic_base.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_no_rtti_polymorphic_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/polymorphic_derived1.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_no_rtti_polymorphic_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_no_rtti.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_no_rtti_polymorphic_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/polymorphic_derived2.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_no_rtti_polymorphic_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_no_rtti_polymorphic_text_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_no_rtti_polymorphic_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_no_rtti_polymorphic_text_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_no_rtti_polymorphic_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_no_rtti_polymorphic_text_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_no_rtti_polymorphic_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/polymorphic_base.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_no_rtti_polymorphic_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/polymorphic_derived1.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_no_rtti_polymorphic_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/polymorphic_derived2.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_no_rtti_polymorphic_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_no_rtti.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_no_rtti_polymorphic_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_no_rtti_polymorphic_binary_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_no_rtti_polymorphic_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_no_rtti_polymorphic_binary_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_no_rtti_polymorphic_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_no_rtti_polymorphic_binary_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_no_rtti_polymorphic_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/polymorphic_base.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_no_rtti_polymorphic_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/polymorphic_derived1.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_no_rtti_polymorphic_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/polymorphic_derived2.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_no_rtti_polymorphic_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_no_rtti.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_no_rtti_polymorphic_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_no_rtti_polymorphic_xml_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_no_rtti_polymorphic_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_no_rtti_polymorphic_xml_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_no_rtti_polymorphic_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_no_rtti_polymorphic_xml_archive.test
+...on 1300th target...
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_no_rtti_polymorphic_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/polymorphic_base.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_no_rtti_polymorphic_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/polymorphic_derived1.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_no_rtti_polymorphic_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_no_rtti.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_no_rtti_polymorphic_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/polymorphic_derived2.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_no_rtti_polymorphic_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_no_rtti_polymorphic_xml_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_no_rtti_polymorphic_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_no_rtti_polymorphic_xml_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_no_rtti_polymorphic_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_no_rtti_polymorphic_xml_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_exported_polymorphic_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/polymorphic_base.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_exported_polymorphic_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/polymorphic_derived1.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_exported_polymorphic_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_exported.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_exported_polymorphic_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/polymorphic_derived2.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_exported_polymorphic_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_exported_polymorphic_text_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_exported_polymorphic_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_exported_polymorphic_text_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_exported_polymorphic_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_exported_polymorphic_text_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_exported_polymorphic_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/polymorphic_base.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_exported_polymorphic_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/polymorphic_derived1.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_exported_polymorphic_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/polymorphic_derived2.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_exported_polymorphic_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_exported.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_exported_polymorphic_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_exported_polymorphic_text_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_exported_polymorphic_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_exported_polymorphic_text_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_exported_polymorphic_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_exported_polymorphic_text_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_exported_polymorphic_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/polymorphic_base.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_exported_polymorphic_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/polymorphic_derived1.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_exported_polymorphic_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/polymorphic_derived2.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_exported_polymorphic_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_exported.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_exported_polymorphic_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_exported_polymorphic_binary_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_exported_polymorphic_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_exported_polymorphic_binary_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_exported_polymorphic_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_exported_polymorphic_binary_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_exported_polymorphic_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/polymorphic_base.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_exported_polymorphic_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_exported.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_exported_polymorphic_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/polymorphic_derived1.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_exported_polymorphic_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/polymorphic_derived2.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_exported_polymorphic_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_exported_polymorphic_xml_archive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_exported_polymorphic_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_exported_polymorphic_xml_archive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_exported_polymorphic_xml_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_exported_polymorphic_xml_archive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_exported_polymorphic_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/polymorphic_base.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_exported_polymorphic_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/polymorphic_derived1.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_inclusion.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_inclusion.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_exported_polymorphic_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_exported.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_inclusion.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_inclusion
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_inclusion.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_inclusion.run
+**passed** ../../../bin.v2/libs/serialization/test/test_inclusion.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_inclusion.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_exported_polymorphic_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/polymorphic_derived2.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_exported_polymorphic_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_exported_polymorphic_xml_warchive
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_exported_polymorphic_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_exported_polymorphic_xml_warchive.run
+**passed** ../../../bin.v2/libs/serialization/test/test_exported_polymorphic_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_exported_polymorphic_xml_warchive.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_inclusion2.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_inclusion2.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_inclusion2.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_inclusion2
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_inclusion2.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_inclusion2.run
+**passed** ../../../bin.v2/libs/serialization/test/test_inclusion2.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_inclusion2.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_private_ctor.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_private_ctor.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_private_ctor.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_private_ctor
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_private_ctor.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_private_ctor.run
+**passed** ../../../bin.v2/libs/serialization/test/test_private_ctor.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_private_ctor.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/clang-darwin-03/debug/threading-multi/visibility-hidden/dll_a.o
+In file included from dll_a.cpp:14:
+./A.hpp:40:13: warning: A exported [-W#pragma-messages]
+ #pragma message ("A exported")
+ ^
+1 warning generated.
+clang-darwin.link.dll ../../../bin.v2/libs/serialization/test/clang-darwin-03/debug/threading-multi/visibility-hidden/libdll_a.dylib
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_dll_simple.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_dll_simple.o
+In file included from test_dll_simple.cpp:33:
+./A.hpp:37:13: warning: A imported [-W#pragma-messages]
+ #pragma message("A imported")
+ ^
+1 warning generated.
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_dll_simple.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_dll_simple
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_dll_simple.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_dll_simple.run
+**passed** ../../../bin.v2/libs/serialization/test/test_dll_simple.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_dll_simple.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_void_cast.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_void_cast.o
+test_void_cast.cpp:18:10: warning: private field 'a' is not used [-Wunused-private-field]
+ char a;
+ ^
+test_void_cast.cpp:23:9: warning: private field 'b' is not used [-Wunused-private-field]
+ int b;
+ ^
+test_void_cast.cpp:28:10: warning: private field 'c' is not used [-Wunused-private-field]
+ long c;
+ ^
+test_void_cast.cpp:33:10: warning: private field 'd' is not used [-Wunused-private-field]
+ char d[32];
+ ^
+4 warnings generated.
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_void_cast.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_void_cast
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_void_cast.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_void_cast.run
+**passed** ../../../bin.v2/libs/serialization/test/test_void_cast.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_void_cast.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_mult_archive_types.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_mult_archive_types.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_mult_archive_types.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_mult_archive_types
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_reset_object_address.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_reset_object_address.o
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_mult_archive_types.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_mult_archive_types.run
+**passed** ../../../bin.v2/libs/serialization/test/test_mult_archive_types.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_mult_archive_types.test
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_reset_object_address.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_reset_object_address
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_reset_object_address.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_reset_object_address.run
+**passed** ../../../bin.v2/libs/serialization/test/test_reset_object_address.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_reset_object_address.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_iterators.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_iterators.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_iterators.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_iterators
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_iterators.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_iterators.run
+**passed** ../../../bin.v2/libs/serialization/test/test_iterators.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_iterators.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_iterators_base64.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_iterators_base64.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_iterators_base64.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_iterators_base64
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_iterators_base64.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_iterators_base64.run
+**passed** ../../../bin.v2/libs/serialization/test/test_iterators_base64.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_iterators_base64.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_smart_cast.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_smart_cast.o
+test_smart_cast.cpp:20:10: warning: private field 'a' is not used [-Wunused-private-field]
+ char a;
+ ^
+test_smart_cast.cpp:25:9: warning: private field 'b' is not used [-Wunused-private-field]
+ int b;
+ ^
+test_smart_cast.cpp:35:10: warning: private field 'c' is not used [-Wunused-private-field]
+ long c;
+ ^
+test_smart_cast.cpp:122:10: warning: private field 'a' is not used [-Wunused-private-field]
+ char a;
+ ^
+test_smart_cast.cpp:129:9: warning: private field 'b' is not used [-Wunused-private-field]
+ int b;
+ ^
+test_smart_cast.cpp:141:10: warning: private field 'c' is not used [-Wunused-private-field]
+ long c;
+ ^
+6 warnings generated.
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_smart_cast.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_smart_cast
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_smart_cast.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_smart_cast.run
+**passed** ../../../bin.v2/libs/serialization/test/test_smart_cast.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_smart_cast.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_codecvt_null.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_codecvt_null.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_codecvt_null.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_codecvt_null
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_codecvt_null.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_codecvt_null.run
+**passed** ../../../bin.v2/libs/serialization/test/test_codecvt_null.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_codecvt_null.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_singleton.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_singleton.o
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_singleton.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_singleton
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_singleton.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_singleton.run
+**passed** ../../../bin.v2/libs/serialization/test/test_singleton.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_singleton.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_singleton_inherited.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_singleton_inherited.o
+test_singleton_inherited.cpp:26:32: warning: unknown warning group '-Wterminate', ignored [-Wunknown-warning-option]
+#pragma GCC diagnostic ignored "-Wterminate"
+ ^
+1 warning generated.
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_singleton_inherited.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_singleton_inherited
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_singleton_inherited.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_singleton_inherited.run
+**passed** ../../../bin.v2/libs/serialization/test/test_singleton_inherited.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_singleton_inherited.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_singleton_plain.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_singleton_plain.o
+test_singleton_plain.cpp:25:32: warning: unknown warning group '-Wterminate', ignored [-Wunknown-warning-option]
+#pragma GCC diagnostic ignored "-Wterminate"
+ ^
+1 warning generated.
+clang-darwin.link ../../../bin.v2/libs/serialization/test/test_singleton_plain.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_singleton_plain
+testing.capture-output ../../../bin.v2/libs/serialization/test/test_singleton_plain.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_singleton_plain.run
+**passed** ../../../bin.v2/libs/serialization/test/test_singleton_plain.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_singleton_plain.test
+...on 1400th target...
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_not_serializable.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_not_serializable.o
+In file included from test_not_serializable.cpp:14:
+In file included from ./test_tools.hpp:246:
+In file included from ./text_archive.hpp:8:
+In file included from ../../../boost/archive/text_oarchive.hpp:31:
+In file included from ../../../boost/archive/basic_text_oarchive.hpp:29:
+In file included from ../../../boost/archive/detail/common_oarchive.hpp:22:
+In file included from ../../../boost/archive/detail/interface_oarchive.hpp:23:
+In file included from ../../../boost/archive/detail/oserializer.hpp:40:
+In file included from ../../../boost/serialization/extended_type_info_typeid.hpp:37:
+../../../boost/serialization/access.hpp:116:11: error: no member named 'serialize' in 'A'
+ t.serialize(ar, file_version);
+ ~ ^
+../../../boost/serialization/serialization.hpp:68:13: note: in instantiation of function template specialization 'boost::serialization::access::serialize<boost::archive::text_oarchive, A>' requested here
+ access::serialize(ar, t, static_cast<unsigned int>(file_version));
+ ^
+../../../boost/serialization/serialization.hpp:126:5: note: in instantiation of function template specialization 'boost::serialization::serialize<boost::archive::text_oarchive, A>' requested here
+ serialize(ar, t, v);
+ ^
+../../../boost/archive/detail/oserializer.hpp:153:27: note: in instantiation of function template specialization 'boost::serialization::serialize_adl<boost::archive::text_oarchive, A>' requested here
+ boost::serialization::serialize_adl(
+ ^
+../../../boost/serialization/singleton.hpp:147:5: note: in instantiation of member function 'boost::archive::detail::oserializer<boost::archive::text_oarchive, A>::save_object_data' requested here
+ singleton_wrapper(){
+ ^
+../../../boost/serialization/singleton.hpp:171:47: note: in instantiation of member function 'boost::serialization::detail::singleton_wrapper<boost::archive::detail::oserializer<boost::archive::text_oarchive, A> >::singleton_wrapper' requested here
+ static detail::singleton_wrapper< T > t;
+ ^
+../../../boost/serialization/singleton.hpp:196:16: note: (skipping 15 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all)
+ return get_instance();
+ ^
+../../../boost/archive/detail/oserializer.hpp:539:12: note: in instantiation of function template specialization 'boost::archive::detail::save_non_pointer_type<boost::archive::text_oarchive>::invoke<boost::serialization::nvp<A> >' requested here
+ typex::invoke(ar, t);
+ ^
+../../../boost/archive/detail/common_oarchive.hpp:71:18: note: in instantiation of function template specialization 'boost::archive::save<boost::archive::text_oarchive, const boost::serialization::nvp<A> >' requested here
+ archive::save(* this->This(), t);
+ ^
+../../../boost/archive/basic_text_oarchive.hpp:83:39: note: in instantiation of function template specialization 'boost::archive::detail::common_oarchive<boost::archive::text_oarchive>::save_override<const boost::serialization::nvp<A> >' requested here
+ this->detail_common_oarchive::save_override(t);
+ ^
+../../../boost/archive/detail/interface_oarchive.hpp:70:23: note: in instantiation of function template specialization 'boost::archive::basic_text_oarchive<boost::archive::text_oarchive>::save_override<const boost::serialization::nvp<A> >' requested here
+ this->This()->save_override(t);
+ ^
+test_not_serializable.cpp:28:8: note: in instantiation of function template specialization 'boost::archive::detail::interface_oarchive<boost::archive::text_oarchive>::operator<<<boost::serialization::nvp<A> >' requested here
+ oa << BOOST_SERIALIZATION_NVP(a);
+ ^
+In file included from test_not_serializable.cpp:14:
+In file included from ./test_tools.hpp:246:
+In file included from ./text_archive.hpp:8:
+In file included from ../../../boost/archive/text_oarchive.hpp:31:
+In file included from ../../../boost/archive/basic_text_oarchive.hpp:29:
+In file included from ../../../boost/archive/detail/common_oarchive.hpp:22:
+In file included from ../../../boost/archive/detail/interface_oarchive.hpp:23:
+In file included from ../../../boost/archive/detail/oserializer.hpp:70:
+../../../boost/archive/detail/check.hpp:60:5: error: implicit instantiation of undefined template 'boost::STATIC_ASSERTION_FAILURE<false>'
+ BOOST_STATIC_ASSERT(typex::value);
+ ^
+../../../boost/static_assert.hpp:154:13: note: expanded from macro 'BOOST_STATIC_ASSERT'
+ sizeof(::boost::STATIC_ASSERTION_FAILURE< BOOST_STATIC_ASSERT_BOOL_CAST( __VA_ARGS__ ) >)>\
+ ^
+../../../boost/archive/detail/iserializer.hpp:460:9: note: in instantiation of function template specialization 'boost::archive::detail::check_object_level<A>' requested here
+ check_object_level< T >();
+ ^
+../../../boost/archive/detail/iserializer.hpp:624:12: note: in instantiation of function template specialization 'boost::archive::detail::load_non_pointer_type<boost::archive::text_iarchive>::invoke<A>' requested here
+ typex::invoke(ar, t);
+ ^
+../../../boost/archive/detail/common_iarchive.hpp:67:18: note: in instantiation of function template specialization 'boost::archive::load<boost::archive::text_iarchive, A>' requested here
+ archive::load(* this->This(), t);
+ ^
+../../../boost/archive/basic_text_iarchive.hpp:70:39: note: in instantiation of function template specialization 'boost::archive::detail::common_iarchive<boost::archive::text_iarchive>::load_override<A>' requested here
+ this->detail_common_iarchive::load_override(t);
+ ^
+../../../boost/archive/text_iarchive.hpp:82:39: note: in instantiation of function template specialization 'boost::archive::basic_text_iarchive<boost::archive::text_iarchive>::load_override<A>' requested here
+ basic_text_iarchive<Archive>::load_override(t);
+ ^
+../../../boost/archive/detail/interface_iarchive.hpp:68:23: note: (skipping 9 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all)
+ this->This()->load_override(t);
+ ^
+../../../boost/archive/detail/common_iarchive.hpp:67:18: note: in instantiation of function template specialization 'boost::archive::load<boost::archive::text_iarchive, const boost::serialization::nvp<A> >' requested here
+ archive::load(* this->This(), t);
+ ^
+../../../boost/archive/basic_text_iarchive.hpp:70:39: note: in instantiation of function template specialization 'boost::archive::detail::common_iarchive<boost::archive::text_iarchive>::load_override<const boost::serialization::nvp<A> >' requested here
+ this->detail_common_iarchive::load_override(t);
+ ^
+../../../boost/archive/text_iarchive.hpp:82:39: note: in instantiation of function template specialization 'boost::archive::basic_text_iarchive<boost::archive::text_iarchive>::load_override<const boost::serialization::nvp<A> >' requested here
+ basic_text_iarchive<Archive>::load_override(t);
+ ^
+../../../boost/archive/detail/interface_iarchive.hpp:68:23: note: in instantiation of function template specialization 'boost::archive::text_iarchive_impl<boost::archive::text_iarchive>::load_override<const boost::serialization::nvp<A> >' requested here
+ this->This()->load_override(t);
+ ^
+test_not_serializable.cpp:35:8: note: in instantiation of function template specialization 'boost::archive::detail::interface_iarchive<boost::archive::text_iarchive>::operator>><const boost::serialization::nvp<A> >' requested here
+ ia >> BOOST_SERIALIZATION_NVP(a);
+ ^
+../../../boost/static_assert.hpp:79:26: note: template is declared here
+template <bool x> struct STATIC_ASSERTION_FAILURE;
+ ^
+In file included from test_not_serializable.cpp:14:
+In file included from ./test_tools.hpp:246:
+In file included from ./text_archive.hpp:8:
+In file included from ../../../boost/archive/text_oarchive.hpp:31:
+In file included from ../../../boost/archive/basic_text_oarchive.hpp:29:
+In file included from ../../../boost/archive/detail/common_oarchive.hpp:22:
+In file included from ../../../boost/archive/detail/interface_oarchive.hpp:23:
+In file included from ../../../boost/archive/detail/oserializer.hpp:40:
+In file included from ../../../boost/serialization/extended_type_info_typeid.hpp:37:
+../../../boost/serialization/access.hpp:116:11: error: no member named 'serialize' in 'A'
+ t.serialize(ar, file_version);
+ ~ ^
+../../../boost/serialization/serialization.hpp:68:13: note: in instantiation of function template specialization 'boost::serialization::access::serialize<boost::archive::text_iarchive, A>' requested here
+ access::serialize(ar, t, static_cast<unsigned int>(file_version));
+ ^
+../../../boost/serialization/serialization.hpp:126:5: note: in instantiation of function template specialization 'boost::serialization::serialize<boost::archive::text_iarchive, A>' requested here
+ serialize(ar, t, v);
+ ^
+../../../boost/archive/detail/iserializer.hpp:187:27: note: in instantiation of function template specialization 'boost::serialization::serialize_adl<boost::archive::text_iarchive, A>' requested here
+ boost::serialization::serialize_adl(
+ ^
+../../../boost/serialization/singleton.hpp:147:5: note: in instantiation of member function 'boost::archive::detail::iserializer<boost::archive::text_iarchive, A>::load_object_data' requested here
+ singleton_wrapper(){
+ ^
+../../../boost/serialization/singleton.hpp:171:47: note: in instantiation of member function 'boost::serialization::detail::singleton_wrapper<boost::archive::detail::iserializer<boost::archive::text_iarchive, A> >::singleton_wrapper' requested here
+ static detail::singleton_wrapper< T > t;
+ ^
+../../../boost/serialization/singleton.hpp:196:16: note: (skipping 17 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all)
+ return get_instance();
+ ^
+../../../boost/archive/detail/common_iarchive.hpp:67:18: note: in instantiation of function template specialization 'boost::archive::load<boost::archive::text_iarchive, const boost::serialization::nvp<A> >' requested here
+ archive::load(* this->This(), t);
+ ^
+../../../boost/archive/basic_text_iarchive.hpp:70:39: note: in instantiation of function template specialization 'boost::archive::detail::common_iarchive<boost::archive::text_iarchive>::load_override<const boost::serialization::nvp<A> >' requested here
+ this->detail_common_iarchive::load_override(t);
+ ^
+../../../boost/archive/text_iarchive.hpp:82:39: note: in instantiation of function template specialization 'boost::archive::basic_text_iarchive<boost::archive::text_iarchive>::load_override<const boost::serialization::nvp<A> >' requested here
+ basic_text_iarchive<Archive>::load_override(t);
+ ^
+../../../boost/archive/detail/interface_iarchive.hpp:68:23: note: in instantiation of function template specialization 'boost::archive::text_iarchive_impl<boost::archive::text_iarchive>::load_override<const boost::serialization::nvp<A> >' requested here
+ this->This()->load_override(t);
+ ^
+test_not_serializable.cpp:35:8: note: in instantiation of function template specialization 'boost::archive::detail::interface_iarchive<boost::archive::text_iarchive>::operator>><const boost::serialization::nvp<A> >' requested here
+ ia >> BOOST_SERIALIZATION_NVP(a);
+ ^
+3 errors generated.
+(failed-as-expected) ../../../bin.v2/libs/serialization/test/test_not_serializable.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_not_serializable.o
+**passed** ../../../bin.v2/libs/serialization/test/test_not_serializable.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_not_serializable.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_traits_fail.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_traits_fail.o
+test_traits_fail.cpp:24:1: error: implicit instantiation of undefined template 'boost::STATIC_ASSERTION_FAILURE<false>'
+BOOST_CLASS_TRACKING(A, boost::serialization::track_never)
+^
+../../../boost/serialization/tracking.hpp:108:5: note: expanded from macro 'BOOST_CLASS_TRACKING'
+ BOOST_STATIC_ASSERT(( \
+ ^
+../../../boost/static_assert.hpp:154:13: note: expanded from macro 'BOOST_STATIC_ASSERT'
+ sizeof(::boost::STATIC_ASSERTION_FAILURE< BOOST_STATIC_ASSERT_BOOL_CAST( __VA_ARGS__ ) >)>\
+ ^
+../../../boost/static_assert.hpp:79:26: note: template is declared here
+template <bool x> struct STATIC_ASSERTION_FAILURE;
+ ^
+1 error generated.
+(failed-as-expected) ../../../bin.v2/libs/serialization/test/test_traits_fail.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_traits_fail.o
+**passed** ../../../bin.v2/libs/serialization/test/test_traits_fail.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_traits_fail.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_const_load_fail1.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_const_load_fail1.o
+In file included from test_const_load_fail1.cpp:11:
+In file included from ../../../boost/archive/text_iarchive.hpp:24:
+In file included from ../../../boost/archive/basic_text_iarchive.hpp:30:
+In file included from ../../../boost/archive/detail/common_iarchive.hpp:23:
+In file included from ../../../boost/archive/detail/interface_iarchive.hpp:22:
+In file included from ../../../boost/archive/detail/iserializer.hpp:90:
+../../../boost/archive/detail/check.hpp:162:5: error: implicit instantiation of undefined template 'boost::STATIC_ASSERTION_FAILURE<false>'
+ BOOST_STATIC_ASSERT(typex::value);
+ ^
+../../../boost/static_assert.hpp:154:13: note: expanded from macro 'BOOST_STATIC_ASSERT'
+ sizeof(::boost::STATIC_ASSERTION_FAILURE< BOOST_STATIC_ASSERT_BOOL_CAST( __VA_ARGS__ ) >)>\
+ ^
+../../../boost/archive/detail/iserializer.hpp:609:13: note: in instantiation of function template specialization 'boost::archive::detail::check_const_loading<const A>' requested here
+ detail::check_const_loading< T >();
+ ^
+../../../boost/archive/detail/common_iarchive.hpp:67:18: note: in instantiation of function template specialization 'boost::archive::load<boost::archive::text_iarchive, const A>' requested here
+ archive::load(* this->This(), t);
+ ^
+../../../boost/archive/basic_text_iarchive.hpp:70:39: note: in instantiation of function template specialization 'boost::archive::detail::common_iarchive<boost::archive::text_iarchive>::load_override<const A>' requested here
+ this->detail_common_iarchive::load_override(t);
+ ^
+../../../boost/archive/text_iarchive.hpp:82:39: note: in instantiation of function template specialization 'boost::archive::basic_text_iarchive<boost::archive::text_iarchive>::load_override<const A>' requested here
+ basic_text_iarchive<Archive>::load_override(t);
+ ^
+../../../boost/archive/detail/interface_iarchive.hpp:68:23: note: in instantiation of function template specialization 'boost::archive::text_iarchive_impl<boost::archive::text_iarchive>::load_override<const A>' requested here
+ this->This()->load_override(t);
+ ^
+test_const_load_fail1.cpp:22:8: note: in instantiation of function template specialization 'boost::archive::detail::interface_iarchive<boost::archive::text_iarchive>::operator>><const A>' requested here
+ ia >> a;
+ ^
+../../../boost/static_assert.hpp:79:26: note: template is declared here
+template <bool x> struct STATIC_ASSERTION_FAILURE;
+ ^
+1 error generated.
+(failed-as-expected) ../../../bin.v2/libs/serialization/test/test_const_load_fail1.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_const_load_fail1.o
+**passed** ../../../bin.v2/libs/serialization/test/test_const_load_fail1.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_const_load_fail1.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_const_load_fail2.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_const_load_fail2.o
+In file included from test_const_load_fail2.cpp:11:
+In file included from ../../../boost/archive/text_iarchive.hpp:24:
+In file included from ../../../boost/archive/basic_text_iarchive.hpp:30:
+In file included from ../../../boost/archive/detail/common_iarchive.hpp:23:
+In file included from ../../../boost/archive/detail/interface_iarchive.hpp:22:
+In file included from ../../../boost/archive/detail/iserializer.hpp:90:
+../../../boost/archive/detail/check.hpp:162:5: error: implicit instantiation of undefined template 'boost::STATIC_ASSERTION_FAILURE<false>'
+ BOOST_STATIC_ASSERT(typex::value);
+ ^
+../../../boost/static_assert.hpp:154:13: note: expanded from macro 'BOOST_STATIC_ASSERT'
+ sizeof(::boost::STATIC_ASSERTION_FAILURE< BOOST_STATIC_ASSERT_BOOL_CAST( __VA_ARGS__ ) >)>\
+ ^
+../../../boost/archive/detail/iserializer.hpp:609:13: note: in instantiation of function template specialization 'boost::archive::detail::check_const_loading<A *const>' requested here
+ detail::check_const_loading< T >();
+ ^
+../../../boost/archive/detail/common_iarchive.hpp:67:18: note: in instantiation of function template specialization 'boost::archive::load<boost::archive::text_iarchive, A *const>' requested here
+ archive::load(* this->This(), t);
+ ^
+../../../boost/archive/basic_text_iarchive.hpp:70:39: note: in instantiation of function template specialization 'boost::archive::detail::common_iarchive<boost::archive::text_iarchive>::load_override<A *const>' requested here
+ this->detail_common_iarchive::load_override(t);
+ ^
+../../../boost/archive/text_iarchive.hpp:82:39: note: in instantiation of function template specialization 'boost::archive::basic_text_iarchive<boost::archive::text_iarchive>::load_override<A *const>' requested here
+ basic_text_iarchive<Archive>::load_override(t);
+ ^
+../../../boost/archive/detail/interface_iarchive.hpp:68:23: note: in instantiation of function template specialization 'boost::archive::text_iarchive_impl<boost::archive::text_iarchive>::load_override<A *const>' requested here
+ this->This()->load_override(t);
+ ^
+test_const_load_fail2.cpp:22:8: note: in instantiation of function template specialization 'boost::archive::detail::interface_iarchive<boost::archive::text_iarchive>::operator>><A *const>' requested here
+ ia >> a;
+ ^
+../../../boost/static_assert.hpp:79:26: note: template is declared here
+template <bool x> struct STATIC_ASSERTION_FAILURE;
+ ^
+In file included from test_const_load_fail2.cpp:11:
+In file included from ../../../boost/archive/text_iarchive.hpp:24:
+In file included from ../../../boost/archive/basic_text_iarchive.hpp:30:
+In file included from ../../../boost/archive/detail/common_iarchive.hpp:23:
+In file included from ../../../boost/archive/detail/interface_iarchive.hpp:22:
+../../../boost/archive/detail/iserializer.hpp:552:15: error: cannot assign to variable 't' with const-qualified type 'A *const &'
+ t = pointer_tweak(newbpis_ptr->get_eti(), t, *t);
+ ~ ^
+../../../boost/archive/detail/iserializer.hpp:624:12: note: in instantiation of function template specialization 'boost::archive::detail::load_pointer_type<boost::archive::text_iarchive>::invoke<A *const>' requested here
+ typex::invoke(ar, t);
+ ^
+../../../boost/archive/detail/common_iarchive.hpp:67:18: note: in instantiation of function template specialization 'boost::archive::load<boost::archive::text_iarchive, A *const>' requested here
+ archive::load(* this->This(), t);
+ ^
+../../../boost/archive/basic_text_iarchive.hpp:70:39: note: in instantiation of function template specialization 'boost::archive::detail::common_iarchive<boost::archive::text_iarchive>::load_override<A *const>' requested here
+ this->detail_common_iarchive::load_override(t);
+ ^
+../../../boost/archive/text_iarchive.hpp:82:39: note: in instantiation of function template specialization 'boost::archive::basic_text_iarchive<boost::archive::text_iarchive>::load_override<A *const>' requested here
+ basic_text_iarchive<Archive>::load_override(t);
+ ^
+../../../boost/archive/detail/interface_iarchive.hpp:68:23: note: in instantiation of function template specialization 'boost::archive::text_iarchive_impl<boost::archive::text_iarchive>::load_override<A *const>' requested here
+ this->This()->load_override(t);
+ ^
+test_const_load_fail2.cpp:22:8: note: in instantiation of function template specialization 'boost::archive::detail::interface_iarchive<boost::archive::text_iarchive>::operator>><A *const>' requested here
+ ia >> a;
+ ^
+../../../boost/archive/detail/iserializer.hpp:538:45: note: variable 't' declared const here
+ static void invoke(Archive & ar, Tptr & t){
+ ~~~~~~~^
+2 errors generated.
+(failed-as-expected) ../../../bin.v2/libs/serialization/test/test_const_load_fail2.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_const_load_fail2.o
+**passed** ../../../bin.v2/libs/serialization/test/test_const_load_fail2.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_const_load_fail2.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_const_load_fail3.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_const_load_fail3.o
+In file included from test_const_load_fail3.cpp:11:
+In file included from ../../../boost/archive/text_iarchive.hpp:24:
+In file included from ../../../boost/archive/basic_text_iarchive.hpp:30:
+In file included from ../../../boost/archive/detail/common_iarchive.hpp:23:
+In file included from ../../../boost/archive/detail/interface_iarchive.hpp:22:
+In file included from ../../../boost/archive/detail/iserializer.hpp:90:
+../../../boost/archive/detail/check.hpp:162:5: error: implicit instantiation of undefined template 'boost::STATIC_ASSERTION_FAILURE<false>'
+ BOOST_STATIC_ASSERT(typex::value);
+ ^
+../../../boost/static_assert.hpp:154:13: note: expanded from macro 'BOOST_STATIC_ASSERT'
+ sizeof(::boost::STATIC_ASSERTION_FAILURE< BOOST_STATIC_ASSERT_BOOL_CAST( __VA_ARGS__ ) >)>\
+ ^
+../../../boost/archive/detail/iserializer.hpp:609:13: note: in instantiation of function template specialization 'boost::archive::detail::check_const_loading<const A *const>' requested here
+ detail::check_const_loading< T >();
+ ^
+../../../boost/archive/detail/common_iarchive.hpp:67:18: note: in instantiation of function template specialization 'boost::archive::load<boost::archive::text_iarchive, const A *const>' requested here
+ archive::load(* this->This(), t);
+ ^
+../../../boost/archive/basic_text_iarchive.hpp:70:39: note: in instantiation of function template specialization 'boost::archive::detail::common_iarchive<boost::archive::text_iarchive>::load_override<const A *const>' requested here
+ this->detail_common_iarchive::load_override(t);
+ ^
+../../../boost/archive/text_iarchive.hpp:82:39: note: in instantiation of function template specialization 'boost::archive::basic_text_iarchive<boost::archive::text_iarchive>::load_override<const A *const>' requested here
+ basic_text_iarchive<Archive>::load_override(t);
+ ^
+../../../boost/archive/detail/interface_iarchive.hpp:68:23: note: in instantiation of function template specialization 'boost::archive::text_iarchive_impl<boost::archive::text_iarchive>::load_override<const A *const>' requested here
+ this->This()->load_override(t);
+ ^
+test_const_load_fail3.cpp:21:8: note: in instantiation of function template specialization 'boost::archive::detail::interface_iarchive<boost::archive::text_iarchive>::operator>><const A *const>' requested here
+ ia >> a;
+ ^
+../../../boost/static_assert.hpp:79:26: note: template is declared here
+template <bool x> struct STATIC_ASSERTION_FAILURE;
+ ^
+In file included from test_const_load_fail3.cpp:11:
+In file included from ../../../boost/archive/text_iarchive.hpp:24:
+In file included from ../../../boost/archive/basic_text_iarchive.hpp:30:
+In file included from ../../../boost/archive/detail/common_iarchive.hpp:23:
+In file included from ../../../boost/archive/detail/interface_iarchive.hpp:22:
+../../../boost/archive/detail/iserializer.hpp:552:15: error: cannot assign to variable 't' with const-qualified type 'const A *const &'
+ t = pointer_tweak(newbpis_ptr->get_eti(), t, *t);
+ ~ ^
+../../../boost/archive/detail/iserializer.hpp:624:12: note: in instantiation of function template specialization 'boost::archive::detail::load_pointer_type<boost::archive::text_iarchive>::invoke<const A *const>' requested here
+ typex::invoke(ar, t);
+ ^
+../../../boost/archive/detail/common_iarchive.hpp:67:18: note: in instantiation of function template specialization 'boost::archive::load<boost::archive::text_iarchive, const A *const>' requested here
+ archive::load(* this->This(), t);
+ ^
+../../../boost/archive/basic_text_iarchive.hpp:70:39: note: in instantiation of function template specialization 'boost::archive::detail::common_iarchive<boost::archive::text_iarchive>::load_override<const A *const>' requested here
+ this->detail_common_iarchive::load_override(t);
+ ^
+../../../boost/archive/text_iarchive.hpp:82:39: note: in instantiation of function template specialization 'boost::archive::basic_text_iarchive<boost::archive::text_iarchive>::load_override<const A *const>' requested here
+ basic_text_iarchive<Archive>::load_override(t);
+ ^
+../../../boost/archive/detail/interface_iarchive.hpp:68:23: note: in instantiation of function template specialization 'boost::archive::text_iarchive_impl<boost::archive::text_iarchive>::load_override<const A *const>' requested here
+ this->This()->load_override(t);
+ ^
+test_const_load_fail3.cpp:21:8: note: in instantiation of function template specialization 'boost::archive::detail::interface_iarchive<boost::archive::text_iarchive>::operator>><const A *const>' requested here
+ ia >> a;
+ ^
+../../../boost/archive/detail/iserializer.hpp:538:45: note: variable 't' declared const here
+ static void invoke(Archive & ar, Tptr & t){
+ ~~~~~~~^
+2 errors generated.
+(failed-as-expected) ../../../bin.v2/libs/serialization/test/test_const_load_fail3.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_const_load_fail3.o
+**passed** ../../../bin.v2/libs/serialization/test/test_const_load_fail3.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_const_load_fail3.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_const_load_fail1_nvp.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_const_load_fail1_nvp.o
+In file included from test_const_load_fail1_nvp.cpp:11:
+In file included from ../../../boost/archive/text_iarchive.hpp:24:
+In file included from ../../../boost/archive/basic_text_iarchive.hpp:30:
+In file included from ../../../boost/archive/detail/common_iarchive.hpp:23:
+In file included from ../../../boost/archive/detail/interface_iarchive.hpp:22:
+In file included from ../../../boost/archive/detail/iserializer.hpp:90:
+../../../boost/archive/detail/check.hpp:162:5: error: implicit instantiation of undefined template 'boost::STATIC_ASSERTION_FAILURE<false>'
+ BOOST_STATIC_ASSERT(typex::value);
+ ^
+../../../boost/static_assert.hpp:154:13: note: expanded from macro 'BOOST_STATIC_ASSERT'
+ sizeof(::boost::STATIC_ASSERTION_FAILURE< BOOST_STATIC_ASSERT_BOOL_CAST( __VA_ARGS__ ) >)>\
+ ^
+../../../boost/archive/detail/iserializer.hpp:609:13: note: in instantiation of function template specialization 'boost::archive::detail::check_const_loading<const A>' requested here
+ detail::check_const_loading< T >();
+ ^
+../../../boost/archive/detail/common_iarchive.hpp:67:18: note: in instantiation of function template specialization 'boost::archive::load<boost::archive::text_iarchive, const A>' requested here
+ archive::load(* this->This(), t);
+ ^
+../../../boost/archive/basic_text_iarchive.hpp:70:39: note: in instantiation of function template specialization 'boost::archive::detail::common_iarchive<boost::archive::text_iarchive>::load_override<const A>' requested here
+ this->detail_common_iarchive::load_override(t);
+ ^
+../../../boost/archive/text_iarchive.hpp:82:39: note: in instantiation of function template specialization 'boost::archive::basic_text_iarchive<boost::archive::text_iarchive>::load_override<const A>' requested here
+ basic_text_iarchive<Archive>::load_override(t);
+ ^
+../../../boost/archive/detail/interface_iarchive.hpp:68:23: note: in instantiation of function template specialization 'boost::archive::text_iarchive_impl<boost::archive::text_iarchive>::load_override<const A>' requested here
+ this->This()->load_override(t);
+ ^
+../../../boost/serialization/nvp.hpp:56:8: note: (skipping 8 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all)
+ ar >> t.value();
+ ^
+../../../boost/archive/detail/common_iarchive.hpp:67:18: note: in instantiation of function template specialization 'boost::archive::load<boost::archive::text_iarchive, const boost::serialization::nvp<const A> >' requested here
+ archive::load(* this->This(), t);
+ ^
+../../../boost/archive/basic_text_iarchive.hpp:70:39: note: in instantiation of function template specialization 'boost::archive::detail::common_iarchive<boost::archive::text_iarchive>::load_override<const boost::serialization::nvp<const A> >' requested here
+ this->detail_common_iarchive::load_override(t);
+ ^
+../../../boost/archive/text_iarchive.hpp:82:39: note: in instantiation of function template specialization 'boost::archive::basic_text_iarchive<boost::archive::text_iarchive>::load_override<const boost::serialization::nvp<const A> >' requested here
+ basic_text_iarchive<Archive>::load_override(t);
+ ^
+../../../boost/archive/detail/interface_iarchive.hpp:68:23: note: in instantiation of function template specialization 'boost::archive::text_iarchive_impl<boost::archive::text_iarchive>::load_override<const boost::serialization::nvp<const A> >' requested here
+ this->This()->load_override(t);
+ ^
+test_const_load_fail1_nvp.cpp:23:8: note: in instantiation of function template specialization 'boost::archive::detail::interface_iarchive<boost::archive::text_iarchive>::operator>><const boost::serialization::nvp<const A> >' requested here
+ ia >> BOOST_SERIALIZATION_NVP(a);
+ ^
+../../../boost/static_assert.hpp:79:26: note: template is declared here
+template <bool x> struct STATIC_ASSERTION_FAILURE;
+ ^
+1 error generated.
+(failed-as-expected) ../../../bin.v2/libs/serialization/test/test_const_load_fail1_nvp.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_const_load_fail1_nvp.o
+**passed** ../../../bin.v2/libs/serialization/test/test_const_load_fail1_nvp.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_const_load_fail1_nvp.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_const_load_fail2_nvp.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_const_load_fail2_nvp.o
+In file included from test_const_load_fail2_nvp.cpp:11:
+In file included from ../../../boost/archive/text_iarchive.hpp:24:
+In file included from ../../../boost/archive/basic_text_iarchive.hpp:30:
+In file included from ../../../boost/archive/detail/common_iarchive.hpp:23:
+In file included from ../../../boost/archive/detail/interface_iarchive.hpp:22:
+In file included from ../../../boost/archive/detail/iserializer.hpp:90:
+../../../boost/archive/detail/check.hpp:162:5: error: implicit instantiation of undefined template 'boost::STATIC_ASSERTION_FAILURE<false>'
+ BOOST_STATIC_ASSERT(typex::value);
+ ^
+../../../boost/static_assert.hpp:154:13: note: expanded from macro 'BOOST_STATIC_ASSERT'
+ sizeof(::boost::STATIC_ASSERTION_FAILURE< BOOST_STATIC_ASSERT_BOOL_CAST( __VA_ARGS__ ) >)>\
+ ^
+../../../boost/archive/detail/iserializer.hpp:609:13: note: in instantiation of function template specialization 'boost::archive::detail::check_const_loading<A *const>' requested here
+ detail::check_const_loading< T >();
+ ^
+../../../boost/archive/detail/common_iarchive.hpp:67:18: note: in instantiation of function template specialization 'boost::archive::load<boost::archive::text_iarchive, A *const>' requested here
+ archive::load(* this->This(), t);
+ ^
+../../../boost/archive/basic_text_iarchive.hpp:70:39: note: in instantiation of function template specialization 'boost::archive::detail::common_iarchive<boost::archive::text_iarchive>::load_override<A *const>' requested here
+ this->detail_common_iarchive::load_override(t);
+ ^
+../../../boost/archive/text_iarchive.hpp:82:39: note: in instantiation of function template specialization 'boost::archive::basic_text_iarchive<boost::archive::text_iarchive>::load_override<A *const>' requested here
+ basic_text_iarchive<Archive>::load_override(t);
+ ^
+../../../boost/archive/detail/interface_iarchive.hpp:68:23: note: in instantiation of function template specialization 'boost::archive::text_iarchive_impl<boost::archive::text_iarchive>::load_override<A *const>' requested here
+ this->This()->load_override(t);
+ ^
+../../../boost/serialization/nvp.hpp:56:8: note: (skipping 8 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all)
+ ar >> t.value();
+ ^
+../../../boost/archive/detail/common_iarchive.hpp:67:18: note: in instantiation of function template specialization 'boost::archive::load<boost::archive::text_iarchive, const boost::serialization::nvp<A *const> >' requested here
+ archive::load(* this->This(), t);
+ ^
+../../../boost/archive/basic_text_iarchive.hpp:70:39: note: in instantiation of function template specialization 'boost::archive::detail::common_iarchive<boost::archive::text_iarchive>::load_override<const boost::serialization::nvp<A *const> >' requested here
+ this->detail_common_iarchive::load_override(t);
+ ^
+../../../boost/archive/text_iarchive.hpp:82:39: note: in instantiation of function template specialization 'boost::archive::basic_text_iarchive<boost::archive::text_iarchive>::load_override<const boost::serialization::nvp<A *const> >' requested here
+ basic_text_iarchive<Archive>::load_override(t);
+ ^
+../../../boost/archive/detail/interface_iarchive.hpp:68:23: note: in instantiation of function template specialization 'boost::archive::text_iarchive_impl<boost::archive::text_iarchive>::load_override<const boost::serialization::nvp<A *const> >' requested here
+ this->This()->load_override(t);
+ ^
+test_const_load_fail2_nvp.cpp:23:8: note: in instantiation of function template specialization 'boost::archive::detail::interface_iarchive<boost::archive::text_iarchive>::operator>><const boost::serialization::nvp<A *const> >' requested here
+ ia >> BOOST_SERIALIZATION_NVP(a);
+ ^
+../../../boost/static_assert.hpp:79:26: note: template is declared here
+template <bool x> struct STATIC_ASSERTION_FAILURE;
+ ^
+In file included from test_const_load_fail2_nvp.cpp:11:
+In file included from ../../../boost/archive/text_iarchive.hpp:24:
+In file included from ../../../boost/archive/basic_text_iarchive.hpp:30:
+In file included from ../../../boost/archive/detail/common_iarchive.hpp:23:
+In file included from ../../../boost/archive/detail/interface_iarchive.hpp:22:
+../../../boost/archive/detail/iserializer.hpp:552:15: error: cannot assign to variable 't' with const-qualified type 'A *const &'
+ t = pointer_tweak(newbpis_ptr->get_eti(), t, *t);
+ ~ ^
+../../../boost/archive/detail/iserializer.hpp:624:12: note: in instantiation of function template specialization 'boost::archive::detail::load_pointer_type<boost::archive::text_iarchive>::invoke<A *const>' requested here
+ typex::invoke(ar, t);
+ ^
+../../../boost/archive/detail/common_iarchive.hpp:67:18: note: in instantiation of function template specialization 'boost::archive::load<boost::archive::text_iarchive, A *const>' requested here
+ archive::load(* this->This(), t);
+ ^
+../../../boost/archive/basic_text_iarchive.hpp:70:39: note: in instantiation of function template specialization 'boost::archive::detail::common_iarchive<boost::archive::text_iarchive>::load_override<A *const>' requested here
+ this->detail_common_iarchive::load_override(t);
+ ^
+../../../boost/archive/text_iarchive.hpp:82:39: note: in instantiation of function template specialization 'boost::archive::basic_text_iarchive<boost::archive::text_iarchive>::load_override<A *const>' requested here
+ basic_text_iarchive<Archive>::load_override(t);
+ ^
+../../../boost/archive/detail/interface_iarchive.hpp:68:23: note: in instantiation of function template specialization 'boost::archive::text_iarchive_impl<boost::archive::text_iarchive>::load_override<A *const>' requested here
+ this->This()->load_override(t);
+ ^
+../../../boost/serialization/nvp.hpp:56:8: note: (skipping 8 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all)
+ ar >> t.value();
+ ^
+../../../boost/archive/detail/common_iarchive.hpp:67:18: note: in instantiation of function template specialization 'boost::archive::load<boost::archive::text_iarchive, const boost::serialization::nvp<A *const> >' requested here
+ archive::load(* this->This(), t);
+ ^
+../../../boost/archive/basic_text_iarchive.hpp:70:39: note: in instantiation of function template specialization 'boost::archive::detail::common_iarchive<boost::archive::text_iarchive>::load_override<const boost::serialization::nvp<A *const> >' requested here
+ this->detail_common_iarchive::load_override(t);
+ ^
+../../../boost/archive/text_iarchive.hpp:82:39: note: in instantiation of function template specialization 'boost::archive::basic_text_iarchive<boost::archive::text_iarchive>::load_override<const boost::serialization::nvp<A *const> >' requested here
+ basic_text_iarchive<Archive>::load_override(t);
+ ^
+../../../boost/archive/detail/interface_iarchive.hpp:68:23: note: in instantiation of function template specialization 'boost::archive::text_iarchive_impl<boost::archive::text_iarchive>::load_override<const boost::serialization::nvp<A *const> >' requested here
+ this->This()->load_override(t);
+ ^
+test_const_load_fail2_nvp.cpp:23:8: note: in instantiation of function template specialization 'boost::archive::detail::interface_iarchive<boost::archive::text_iarchive>::operator>><const boost::serialization::nvp<A *const> >' requested here
+ ia >> BOOST_SERIALIZATION_NVP(a);
+ ^
+../../../boost/archive/detail/iserializer.hpp:538:45: note: variable 't' declared const here
+ static void invoke(Archive & ar, Tptr & t){
+ ~~~~~~~^
+2 errors generated.
+(failed-as-expected) ../../../bin.v2/libs/serialization/test/test_const_load_fail2_nvp.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_const_load_fail2_nvp.o
+**passed** ../../../bin.v2/libs/serialization/test/test_const_load_fail2_nvp.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_const_load_fail2_nvp.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_const_load_fail3_nvp.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_const_load_fail3_nvp.o
+In file included from test_const_load_fail3_nvp.cpp:11:
+In file included from ../../../boost/archive/text_iarchive.hpp:24:
+In file included from ../../../boost/archive/basic_text_iarchive.hpp:30:
+In file included from ../../../boost/archive/detail/common_iarchive.hpp:23:
+In file included from ../../../boost/archive/detail/interface_iarchive.hpp:22:
+In file included from ../../../boost/archive/detail/iserializer.hpp:90:
+../../../boost/archive/detail/check.hpp:162:5: error: implicit instantiation of undefined template 'boost::STATIC_ASSERTION_FAILURE<false>'
+ BOOST_STATIC_ASSERT(typex::value);
+ ^
+../../../boost/static_assert.hpp:154:13: note: expanded from macro 'BOOST_STATIC_ASSERT'
+ sizeof(::boost::STATIC_ASSERTION_FAILURE< BOOST_STATIC_ASSERT_BOOL_CAST( __VA_ARGS__ ) >)>\
+ ^
+../../../boost/archive/detail/iserializer.hpp:609:13: note: in instantiation of function template specialization 'boost::archive::detail::check_const_loading<const A *const>' requested here
+ detail::check_const_loading< T >();
+ ^
+../../../boost/archive/detail/common_iarchive.hpp:67:18: note: in instantiation of function template specialization 'boost::archive::load<boost::archive::text_iarchive, const A *const>' requested here
+ archive::load(* this->This(), t);
+ ^
+../../../boost/archive/basic_text_iarchive.hpp:70:39: note: in instantiation of function template specialization 'boost::archive::detail::common_iarchive<boost::archive::text_iarchive>::load_override<const A *const>' requested here
+ this->detail_common_iarchive::load_override(t);
+ ^
+../../../boost/archive/text_iarchive.hpp:82:39: note: in instantiation of function template specialization 'boost::archive::basic_text_iarchive<boost::archive::text_iarchive>::load_override<const A *const>' requested here
+ basic_text_iarchive<Archive>::load_override(t);
+ ^
+../../../boost/archive/detail/interface_iarchive.hpp:68:23: note: in instantiation of function template specialization 'boost::archive::text_iarchive_impl<boost::archive::text_iarchive>::load_override<const A *const>' requested here
+ this->This()->load_override(t);
+ ^
+../../../boost/serialization/nvp.hpp:56:8: note: (skipping 8 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all)
+ ar >> t.value();
+ ^
+../../../boost/archive/detail/common_iarchive.hpp:67:18: note: in instantiation of function template specialization 'boost::archive::load<boost::archive::text_iarchive, const boost::serialization::nvp<const A *const> >' requested here
+ archive::load(* this->This(), t);
+ ^
+../../../boost/archive/basic_text_iarchive.hpp:70:39: note: in instantiation of function template specialization 'boost::archive::detail::common_iarchive<boost::archive::text_iarchive>::load_override<const boost::serialization::nvp<const A *const> >' requested here
+ this->detail_common_iarchive::load_override(t);
+ ^
+../../../boost/archive/text_iarchive.hpp:82:39: note: in instantiation of function template specialization 'boost::archive::basic_text_iarchive<boost::archive::text_iarchive>::load_override<const boost::serialization::nvp<const A *const> >' requested here
+ basic_text_iarchive<Archive>::load_override(t);
+ ^
+../../../boost/archive/detail/interface_iarchive.hpp:68:23: note: in instantiation of function template specialization 'boost::archive::text_iarchive_impl<boost::archive::text_iarchive>::load_override<const boost::serialization::nvp<const A *const> >' requested here
+ this->This()->load_override(t);
+ ^
+test_const_load_fail3_nvp.cpp:23:8: note: in instantiation of function template specialization 'boost::archive::detail::interface_iarchive<boost::archive::text_iarchive>::operator>><const boost::serialization::nvp<const A *const> >' requested here
+ ia >> BOOST_SERIALIZATION_NVP(a);
+ ^
+../../../boost/static_assert.hpp:79:26: note: template is declared here
+template <bool x> struct STATIC_ASSERTION_FAILURE;
+ ^
+In file included from test_const_load_fail3_nvp.cpp:11:
+In file included from ../../../boost/archive/text_iarchive.hpp:24:
+In file included from ../../../boost/archive/basic_text_iarchive.hpp:30:
+In file included from ../../../boost/archive/detail/common_iarchive.hpp:23:
+In file included from ../../../boost/archive/detail/interface_iarchive.hpp:22:
+../../../boost/archive/detail/iserializer.hpp:552:15: error: cannot assign to variable 't' with const-qualified type 'const A *const &'
+ t = pointer_tweak(newbpis_ptr->get_eti(), t, *t);
+ ~ ^
+../../../boost/archive/detail/iserializer.hpp:624:12: note: in instantiation of function template specialization 'boost::archive::detail::load_pointer_type<boost::archive::text_iarchive>::invoke<const A *const>' requested here
+ typex::invoke(ar, t);
+ ^
+../../../boost/archive/detail/common_iarchive.hpp:67:18: note: in instantiation of function template specialization 'boost::archive::load<boost::archive::text_iarchive, const A *const>' requested here
+ archive::load(* this->This(), t);
+ ^
+../../../boost/archive/basic_text_iarchive.hpp:70:39: note: in instantiation of function template specialization 'boost::archive::detail::common_iarchive<boost::archive::text_iarchive>::load_override<const A *const>' requested here
+ this->detail_common_iarchive::load_override(t);
+ ^
+../../../boost/archive/text_iarchive.hpp:82:39: note: in instantiation of function template specialization 'boost::archive::basic_text_iarchive<boost::archive::text_iarchive>::load_override<const A *const>' requested here
+ basic_text_iarchive<Archive>::load_override(t);
+ ^
+../../../boost/archive/detail/interface_iarchive.hpp:68:23: note: in instantiation of function template specialization 'boost::archive::text_iarchive_impl<boost::archive::text_iarchive>::load_override<const A *const>' requested here
+ this->This()->load_override(t);
+ ^
+../../../boost/serialization/nvp.hpp:56:8: note: (skipping 8 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all)
+ ar >> t.value();
+ ^
+../../../boost/archive/detail/common_iarchive.hpp:67:18: note: in instantiation of function template specialization 'boost::archive::load<boost::archive::text_iarchive, const boost::serialization::nvp<const A *const> >' requested here
+ archive::load(* this->This(), t);
+ ^
+../../../boost/archive/basic_text_iarchive.hpp:70:39: note: in instantiation of function template specialization 'boost::archive::detail::common_iarchive<boost::archive::text_iarchive>::load_override<const boost::serialization::nvp<const A *const> >' requested here
+ this->detail_common_iarchive::load_override(t);
+ ^
+../../../boost/archive/text_iarchive.hpp:82:39: note: in instantiation of function template specialization 'boost::archive::basic_text_iarchive<boost::archive::text_iarchive>::load_override<const boost::serialization::nvp<const A *const> >' requested here
+ basic_text_iarchive<Archive>::load_override(t);
+ ^
+../../../boost/archive/detail/interface_iarchive.hpp:68:23: note: in instantiation of function template specialization 'boost::archive::text_iarchive_impl<boost::archive::text_iarchive>::load_override<const boost::serialization::nvp<const A *const> >' requested here
+ this->This()->load_override(t);
+ ^
+test_const_load_fail3_nvp.cpp:23:8: note: in instantiation of function template specialization 'boost::archive::detail::interface_iarchive<boost::archive::text_iarchive>::operator>><const boost::serialization::nvp<const A *const> >' requested here
+ ia >> BOOST_SERIALIZATION_NVP(a);
+ ^
+../../../boost/archive/detail/iserializer.hpp:538:45: note: variable 't' declared const here
+ static void invoke(Archive & ar, Tptr & t){
+ ~~~~~~~^
+2 errors generated.
+(failed-as-expected) ../../../bin.v2/libs/serialization/test/test_const_load_fail3_nvp.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_const_load_fail3_nvp.o
+**passed** ../../../bin.v2/libs/serialization/test/test_const_load_fail3_nvp.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_const_load_fail3_nvp.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_const_save_warn1.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_const_save_warn1.o
+**passed** ../../../bin.v2/libs/serialization/test/test_const_save_warn1.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_const_save_warn1.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_check.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_check.o
+In file included from test_check.cpp:18:
+In file included from ../../../boost/archive/text_iarchive.hpp:24:
+In file included from ../../../boost/archive/basic_text_iarchive.hpp:30:
+In file included from ../../../boost/archive/detail/common_iarchive.hpp:23:
+In file included from ../../../boost/archive/detail/interface_iarchive.hpp:22:
+In file included from ../../../boost/archive/detail/iserializer.hpp:90:
+../../../boost/archive/detail/check.hpp:78:5: error: implicit instantiation of undefined template 'boost::STATIC_ASSERTION_FAILURE<false>'
+ BOOST_STATIC_ASSERT(typex::value);
+ ^
+../../../boost/static_assert.hpp:154:13: note: expanded from macro 'BOOST_STATIC_ASSERT'
+ sizeof(::boost::STATIC_ASSERTION_FAILURE< BOOST_STATIC_ASSERT_BOOL_CAST( __VA_ARGS__ ) >)>\
+ ^
+../../../boost/archive/detail/oserializer.hpp:314:9: note: in instantiation of function template specialization 'boost::archive::detail::check_object_versioning<check2>' requested here
+ check_object_versioning< T >();
+ ^
+../../../boost/archive/detail/oserializer.hpp:539:12: note: in instantiation of function template specialization 'boost::archive::detail::save_non_pointer_type<boost::archive::text_oarchive>::invoke<check2>' requested here
+ typex::invoke(ar, t);
+ ^
+../../../boost/archive/detail/common_oarchive.hpp:71:18: note: in instantiation of function template specialization 'boost::archive::save<boost::archive::text_oarchive, const check2>' requested here
+ archive::save(* this->This(), t);
+ ^
+../../../boost/archive/basic_text_oarchive.hpp:83:39: note: in instantiation of function template specialization 'boost::archive::detail::common_oarchive<boost::archive::text_oarchive>::save_override<const check2>' requested here
+ this->detail_common_oarchive::save_override(t);
+ ^
+../../../boost/archive/detail/interface_oarchive.hpp:70:23: note: in instantiation of function template specialization 'boost::archive::basic_text_oarchive<boost::archive::text_oarchive>::save_override<const check2>' requested here
+ this->This()->save_override(t);
+ ^
+test_check.cpp:85:12: note: in instantiation of function template specialization 'boost::archive::detail::interface_oarchive<boost::archive::text_oarchive>::operator<<<check2>' requested here
+ oa << c2_out; // error check_object_versioning
+ ^
+../../../boost/static_assert.hpp:79:26: note: template is declared here
+template <bool x> struct STATIC_ASSERTION_FAILURE;
+ ^
+In file included from test_check.cpp:18:
+In file included from ../../../boost/archive/text_iarchive.hpp:24:
+In file included from ../../../boost/archive/basic_text_iarchive.hpp:30:
+In file included from ../../../boost/archive/detail/common_iarchive.hpp:23:
+In file included from ../../../boost/archive/detail/interface_iarchive.hpp:22:
+In file included from ../../../boost/archive/detail/iserializer.hpp:90:
+../../../boost/archive/detail/check.hpp:162:5: error: implicit instantiation of undefined template 'boost::STATIC_ASSERTION_FAILURE<false>'
+ BOOST_STATIC_ASSERT(typex::value);
+ ^
+../../../boost/static_assert.hpp:154:13: note: expanded from macro 'BOOST_STATIC_ASSERT'
+ sizeof(::boost::STATIC_ASSERTION_FAILURE< BOOST_STATIC_ASSERT_BOOL_CAST( __VA_ARGS__ ) >)>\
+ ^
+../../../boost/archive/detail/iserializer.hpp:609:13: note: in instantiation of function template specialization 'boost::archive::detail::check_const_loading<const check1>' requested here
+ detail::check_const_loading< T >();
+ ^
+../../../boost/archive/detail/common_iarchive.hpp:67:18: note: in instantiation of function template specialization 'boost::archive::load<boost::archive::text_iarchive, const check1>' requested here
+ archive::load(* this->This(), t);
+ ^
+../../../boost/archive/basic_text_iarchive.hpp:70:39: note: in instantiation of function template specialization 'boost::archive::detail::common_iarchive<boost::archive::text_iarchive>::load_override<const check1>' requested here
+ this->detail_common_iarchive::load_override(t);
+ ^
+../../../boost/archive/text_iarchive.hpp:82:39: note: in instantiation of function template specialization 'boost::archive::basic_text_iarchive<boost::archive::text_iarchive>::load_override<const check1>' requested here
+ basic_text_iarchive<Archive>::load_override(t);
+ ^
+../../../boost/archive/detail/interface_iarchive.hpp:68:23: note: in instantiation of function template specialization 'boost::archive::text_iarchive_impl<boost::archive::text_iarchive>::load_override<const check1>' requested here
+ this->This()->load_override(t);
+ ^
+test_check.cpp:91:12: note: in instantiation of function template specialization 'boost::archive::detail::interface_iarchive<boost::archive::text_iarchive>::operator>><const check1>' requested here
+ ia >> c1_in; // check_const_loading
+ ^
+../../../boost/static_assert.hpp:79:26: note: template is declared here
+template <bool x> struct STATIC_ASSERTION_FAILURE;
+ ^
+2 errors generated.
+(failed-as-expected) ../../../bin.v2/libs/serialization/test/test_check.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_check.o
+**passed** ../../../bin.v2/libs/serialization/test/test_check.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_check.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_const_save_warn2.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_const_save_warn2.o
+**passed** ../../../bin.v2/libs/serialization/test/test_const_save_warn2.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_const_save_warn2.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_const_save_warn3.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_const_save_warn3.o
+**passed** ../../../bin.v2/libs/serialization/test/test_const_save_warn3.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_const_save_warn3.test
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_const_pass.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_const_pass.o
+clang-darwin.compile.c++ ../../../bin.v2/libs/serialization/test/test_traits_pass.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_traits_pass.o
+**passed** ../../../bin.v2/libs/serialization/test/test_traits_pass.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_traits_pass.test
+**passed** ../../../bin.v2/libs/serialization/test/test_const_pass.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_const_pass.test
+...updated 1433 targets...
diff --git a/src/boost/libs/serialization/test/base.hpp b/src/boost/libs/serialization/test/base.hpp
new file mode 100644
index 000000000..6491a0e5e
--- /dev/null
+++ b/src/boost/libs/serialization/test/base.hpp
@@ -0,0 +1,46 @@
+#ifndef BOOST_SERIALIZATION_TEST_BASE_HPP
+#define BOOST_SERIALIZATION_TEST_BASE_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// base.hpp simple class test
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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 for updates, documentation, and revision history.
+
+#include <boost/config.hpp>
+
+#include <boost/serialization/access.hpp>
+#include <boost/serialization/assume_abstract.hpp>
+#include <boost/preprocessor/facilities/empty.hpp>
+
+#if defined(BASE_IMPORT)
+ #define DLL_DECL BOOST_SYMBOL_IMPORT
+#elif defined(BASE_EXPORT)
+ #define DLL_DECL BOOST_SYMBOL_EXPORT
+#else
+ #define DLL_DECL
+#endif
+
+class DLL_DECL base
+{
+ friend class boost::serialization::access;
+ template<class Archive>
+ void serialize(Archive & /* ar */, const unsigned int /* file_version */);
+public:
+ virtual ~base(){};
+};
+
+BOOST_SERIALIZATION_ASSUME_ABSTRACT(base)
+
+#undef DLL_DECL
+
+#endif // BOOST_SERIALIZATION_TEST_BASE_HPP
diff --git a/src/boost/libs/serialization/test/binary_archive.hpp b/src/boost/libs/serialization/test/binary_archive.hpp
new file mode 100644
index 000000000..abddd4f93
--- /dev/null
+++ b/src/boost/libs/serialization/test/binary_archive.hpp
@@ -0,0 +1,24 @@
+// (C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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 for updates, documentation, and revision history.
+// (C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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 for updates, documentation, and revision history.
+
+// binary_archive
+#include <boost/archive/binary_oarchive.hpp>
+typedef boost::archive::binary_oarchive test_oarchive;
+typedef std::ofstream test_ostream;
+
+#include <boost/archive/binary_iarchive.hpp>
+typedef boost::archive::binary_iarchive test_iarchive;
+typedef std::ifstream test_istream;
+
+//#define TEST_STREAM_FLAGS (std::ios::binary | std::ios::in | std::ios::out)
+#define TEST_STREAM_FLAGS (std::ios::binary)
diff --git a/src/boost/libs/serialization/test/binary_warchive.hpp b/src/boost/libs/serialization/test/binary_warchive.hpp
new file mode 100644
index 000000000..a9f17c51a
--- /dev/null
+++ b/src/boost/libs/serialization/test/binary_warchive.hpp
@@ -0,0 +1,14 @@
+// (C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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 for updates, documentation, and revision history.
+// binary_warchive
+#include <boost/archive/binary_woarchive.hpp>
+typedef boost::archive::binary_woarchive test_oarchive;
+typedef std::wofstream test_ostream;
+#include <boost/archive/binary_wiarchive.hpp>
+typedef boost::archive::binary_wiarchive test_iarchive;
+typedef std::wifstream test_istream;
+#define TEST_STREAM_FLAGS std::wios::binary
diff --git a/src/boost/libs/serialization/test/config_test.cpp b/src/boost/libs/serialization/test/config_test.cpp
new file mode 100644
index 000000000..98ce0ab8b
--- /dev/null
+++ b/src/boost/libs/serialization/test/config_test.cpp
@@ -0,0 +1,17 @@
+#include "../../../boost/config.hpp"
+
+#if defined(__clang__)
+#pragma message "__clang__ defined"
+#endif
+
+#if defined(BOOST_CLANG)
+#pragma message "BOOST_CLANG defined"
+#endif
+
+#if defined(__GNUC__)
+#pragma message "__GNUC__ defined"
+#endif
+
+#include "../../../boost/mpl/print.hpp"
+
+typedef int x;
diff --git a/src/boost/libs/serialization/test/config_test.o b/src/boost/libs/serialization/test/config_test.o
new file mode 100644
index 000000000..8e7087417
--- /dev/null
+++ b/src/boost/libs/serialization/test/config_test.o
Binary files differ
diff --git a/src/boost/libs/serialization/test/derived2.hpp b/src/boost/libs/serialization/test/derived2.hpp
new file mode 100644
index 000000000..e59b6b0fe
--- /dev/null
+++ b/src/boost/libs/serialization/test/derived2.hpp
@@ -0,0 +1,50 @@
+#ifndef BOOST_SERIALIZATION_TEST_DERIVED2_HPP
+#define BOOST_SERIALIZATION_TEST_DERIVED2_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// derived2.hpp simple class test
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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 for updates, documentation, and revision history.
+
+#include <boost/config.hpp>
+
+#include <boost/serialization/export.hpp>
+#include <boost/serialization/access.hpp>
+
+#define BASE_IMPORT
+#include "base.hpp"
+
+#if defined(DERIVED2_IMPORT)
+ #define DLL_DECL BOOST_SYMBOL_IMPORT
+#elif defined(DERIVED2_EXPORT)
+ #define DLL_DECL BOOST_SYMBOL_EXPORT
+#else
+ #define DLL_DECL
+#endif
+
+class DLL_DECL derived2 :
+ public base
+{
+ friend class boost::serialization::access;
+ template<class Archive>
+ void serialize(Archive &ar, const unsigned int /* file_version */);
+public:
+ ~derived2(){}
+};
+
+#undef DLL_DECL
+
+// MWerks users can do this to make their code work
+BOOST_SERIALIZATION_MWERKS_BASE_AND_DERIVED(base, derived2)
+
+#endif // BOOST_SERIALIZATION_TEST_DERIVED2_HPP
diff --git a/src/boost/libs/serialization/test/dll_a.cpp b/src/boost/libs/serialization/test/dll_a.cpp
new file mode 100644
index 000000000..7a8706cc3
--- /dev/null
+++ b/src/boost/libs/serialization/test/dll_a.cpp
@@ -0,0 +1,49 @@
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// dll_a.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// Build a dll which contains the serialization for a class A
+// used in testing distribution of serialization code in DLLS
+
+#define A_EXPORT
+#include "A.hpp"
+#include "A.ipp"
+#include "A.cpp"
+
+// instantiate code for text archives
+
+#include <boost/archive/text_oarchive.hpp>
+#include <boost/archive/text_iarchive.hpp>
+
+template
+A_DLL_DECL void A::serialize(
+ boost::archive::text_oarchive &ar,
+ const unsigned int /* file_version */
+);
+template
+A_DLL_DECL void A::serialize(
+ boost::archive::text_iarchive &ar,
+ const unsigned int /* file_version */
+);
+
+// instantiate code for polymorphic archives
+
+#include <boost/archive/polymorphic_oarchive.hpp>
+#include <boost/archive/polymorphic_iarchive.hpp>
+
+template
+A_DLL_DECL void A::serialize(
+ boost::archive::polymorphic_oarchive &,
+ const unsigned int /* file_version */
+);
+template
+A_DLL_DECL void A::serialize(
+ boost::archive::polymorphic_iarchive &,
+ const unsigned int /* file_version */
+);
+
diff --git a/src/boost/libs/serialization/test/dll_base.cpp b/src/boost/libs/serialization/test/dll_base.cpp
new file mode 100644
index 000000000..dec8759af
--- /dev/null
+++ b/src/boost/libs/serialization/test/dll_base.cpp
@@ -0,0 +1,55 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// dll_base.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// Build a dll which contains the serialization for a class A
+// used in testing distribution of serialization code in DLLS
+#include <boost/serialization/export.hpp>
+
+#define BASE_EXPORT
+#include "base.hpp"
+
+template<class Archive>
+void base::serialize(
+ Archive &ar,
+ const unsigned int /* file_version */){
+}
+
+// for some reason this is required at least by MSVC
+// given that its declared virtual .. = 0; This
+// seems wrong to me but here it is.
+//polymorphic_base::~polymorphic_base(){}
+
+// instantiate code for text archives
+#include <boost/archive/text_oarchive.hpp>
+#include <boost/archive/text_iarchive.hpp>
+
+// instantiate code for polymorphic archives
+#include <boost/archive/polymorphic_oarchive.hpp>
+#include <boost/archive/polymorphic_iarchive.hpp>
+
+// note: BOOST_CLASS_EXPORT cannot be used to instantiate
+// serialization code for an abstract base class. So use
+// explicit instantiation in this case.
+//BOOST_CLASS_EXPORT(polymorphic_base)
+
+template BOOST_SYMBOL_EXPORT void base::serialize(
+ boost::archive::text_oarchive & ar,
+ const unsigned int version
+);
+template BOOST_SYMBOL_EXPORT void base::serialize(
+ boost::archive::text_iarchive & ar,
+ const unsigned int version
+);
+template BOOST_SYMBOL_EXPORT void base::serialize(
+ boost::archive::polymorphic_oarchive & ar,
+ const unsigned int version
+);
+template BOOST_SYMBOL_EXPORT void base::serialize(
+ boost::archive::polymorphic_iarchive & ar,
+ const unsigned int version
+);
diff --git a/src/boost/libs/serialization/test/dll_derived2.cpp b/src/boost/libs/serialization/test/dll_derived2.cpp
new file mode 100644
index 000000000..db5ebdad9
--- /dev/null
+++ b/src/boost/libs/serialization/test/dll_derived2.cpp
@@ -0,0 +1,56 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// dll_derived2.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// Build a dll which contains the serialization for a class A
+// used in testing distribution of serialization code in DLLS
+
+#include <boost/config.hpp>
+
+#include <boost/serialization/nvp.hpp>
+
+#define DERIVED2_EXPORT
+#include "derived2.hpp"
+
+template<class Archive>
+void derived2::serialize(
+ Archive &ar,
+ const unsigned int /* file_version */
+){
+ ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(base);
+}
+
+// instantiate code for text archives
+#include <boost/archive/text_oarchive.hpp>
+#include <boost/archive/text_iarchive.hpp>
+
+template BOOST_SYMBOL_EXPORT void derived2::serialize(
+ boost::archive::text_oarchive & ar,
+ const unsigned int version
+);
+template BOOST_SYMBOL_EXPORT void derived2::serialize(
+ boost::archive::text_iarchive & ar,
+ const unsigned int version
+);
+
+#include <boost/archive/polymorphic_oarchive.hpp>
+#include <boost/archive/polymorphic_iarchive.hpp>
+
+template BOOST_SYMBOL_EXPORT void derived2::serialize(
+ boost::archive::polymorphic_oarchive & ar,
+ const unsigned int version
+);
+template BOOST_SYMBOL_EXPORT void derived2::serialize(
+ boost::archive::polymorphic_iarchive & ar,
+ const unsigned int version
+);
+
+// note: export has to be AFTER #includes for all archive classes
+
+#include <boost/serialization/factory.hpp>
+BOOST_SERIALIZATION_FACTORY_0(derived2)
+BOOST_CLASS_EXPORT(derived2)
diff --git a/src/boost/libs/serialization/test/dll_polymorphic_base.cpp b/src/boost/libs/serialization/test/dll_polymorphic_base.cpp
new file mode 100644
index 000000000..9d949b5e3
--- /dev/null
+++ b/src/boost/libs/serialization/test/dll_polymorphic_base.cpp
@@ -0,0 +1,12 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// dll_polymorphic_base.cpp
+
+// (C) Copyright 2018 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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 for updates, documentation, and revision history.
+
+#define POLYMORPHIC_BASE_EXPORT
+#include "polymorphic_base.cpp"
diff --git a/src/boost/libs/serialization/test/dll_polymorphic_derived2.cpp b/src/boost/libs/serialization/test/dll_polymorphic_derived2.cpp
new file mode 100644
index 000000000..8f6ada43b
--- /dev/null
+++ b/src/boost/libs/serialization/test/dll_polymorphic_derived2.cpp
@@ -0,0 +1,13 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// polymorphic_derived2.cpp
+
+// (C) Copyright 2018Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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 for updates, documentation, and revision history.
+
+#define POLYMORPHIC_BASE_IMPORT
+#define POLYMORPHIC_DERIVED2_EXPORT
+#include "polymorphic_derived2.cpp"
diff --git a/src/boost/libs/serialization/test/library_status.html b/src/boost/libs/serialization/test/library_status.html
new file mode 100644
index 000000000..e108a5637
--- /dev/null
+++ b/src/boost/libs/serialization/test/library_status.html
@@ -0,0 +1,369 @@
+<html>
+<head>
+<title>Boost Library Status Automatic Test</title>
+</head>
+<body bgcolor="#ffffff" text="#000000">
+<table border="0">
+<h1>Library Status: serialization/test</h1>
+<b>Run Date:</b> 21:44:22 UTC, Friday 11 October 2019
+<br></td>
+</table>
+<br>
+<table border="1" cellspacing="0" cellpadding="5">
+<tr>
+<td rowspan="4">Test Name</td>
+<td align="center" >clang-darwin-03</td>
+</tr><tr>
+<td align="center" >debug</td>
+</tr><tr>
+<td align="center" >threading-multi</td>
+</tr><tr>
+<td align="center" >visibility-hidden</td>
+</tr><tr><td>test_array_binary_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_array_text_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_array_text_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_array_xml_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_array_xml_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_binary_binary_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_binary_text_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_binary_text_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_binary_xml_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_binary_xml_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_bitset_binary_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_bitset_text_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_bitset_text_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_bitset_xml_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_bitset_xml_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_boost_array_binary_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_boost_array_text_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_boost_array_text_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_boost_array_xml_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_boost_array_xml_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_check</td><td align="right"><a href="links.html#bin.v2/libs/serialization/test/test_check.test/clang-darwin-03/debug/threading-multi/visibility-hidden"><i>Warn</i></a></td></tr>
+<tr><td>test_class_info_load_binary_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_class_info_load_text_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_class_info_load_text_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_class_info_load_xml_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_class_info_load_xml_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_class_info_save_binary_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_class_info_save_text_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_class_info_save_text_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_class_info_save_xml_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_class_info_save_xml_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_codecvt_null</td><td align="right">Pass</td></tr>
+<tr><td>test_complex_binary_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_complex_text_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_complex_text_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_complex_xml_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_complex_xml_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_const_load_fail1</td><td align="right"><a href="links.html#bin.v2/libs/serialization/test/test_const_load_fail1.test/clang-darwin-03/debug/threading-multi/visibility-hidden"><i>Warn</i></a></td></tr>
+<tr><td>test_const_load_fail1_nvp</td><td align="right"><a href="links.html#bin.v2/libs/serialization/test/test_const_load_fail1_nvp.test/clang-darwin-03/debug/threading-multi/visibility-hidden"><i>Warn</i></a></td></tr>
+<tr><td>test_const_load_fail2</td><td align="right"><a href="links.html#bin.v2/libs/serialization/test/test_const_load_fail2.test/clang-darwin-03/debug/threading-multi/visibility-hidden"><i>Warn</i></a></td></tr>
+<tr><td>test_const_load_fail2_nvp</td><td align="right"><a href="links.html#bin.v2/libs/serialization/test/test_const_load_fail2_nvp.test/clang-darwin-03/debug/threading-multi/visibility-hidden"><i>Warn</i></a></td></tr>
+<tr><td>test_const_load_fail3</td><td align="right"><a href="links.html#bin.v2/libs/serialization/test/test_const_load_fail3.test/clang-darwin-03/debug/threading-multi/visibility-hidden"><i>Warn</i></a></td></tr>
+<tr><td>test_const_load_fail3_nvp</td><td align="right"><a href="links.html#bin.v2/libs/serialization/test/test_const_load_fail3_nvp.test/clang-darwin-03/debug/threading-multi/visibility-hidden"><i>Warn</i></a></td></tr>
+<tr><td>test_const_pass</td><td align="right">Pass</td></tr>
+<tr><td>test_const_save_warn1</td><td align="right">Pass</td></tr>
+<tr><td>test_const_save_warn2</td><td align="right">Pass</td></tr>
+<tr><td>test_const_save_warn3</td><td align="right">Pass</td></tr>
+<tr><td>test_contained_class_binary_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_contained_class_text_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_contained_class_text_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_contained_class_xml_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_contained_class_xml_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_cyclic_ptrs_binary_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_cyclic_ptrs_text_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_cyclic_ptrs_text_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_cyclic_ptrs_xml_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_cyclic_ptrs_xml_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_delete_pointer_binary_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_delete_pointer_text_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_delete_pointer_text_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_delete_pointer_xml_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_delete_pointer_xml_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_deque_binary_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_deque_text_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_deque_text_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_deque_xml_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_deque_xml_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_derived_binary_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_derived_class_binary_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_derived_class_ptr_binary_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_derived_class_ptr_text_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_derived_class_ptr_text_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_derived_class_ptr_xml_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_derived_class_ptr_xml_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_derived_class_text_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_derived_class_text_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_derived_class_xml_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_derived_class_xml_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_derived_text_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_derived_text_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_derived_xml_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_derived_xml_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_diamond_binary_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_diamond_complex_binary_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_diamond_complex_text_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_diamond_complex_text_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_diamond_complex_xml_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_diamond_complex_xml_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_diamond_text_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_diamond_text_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_diamond_xml_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_diamond_xml_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_dll_exported_polymorphic_binary_archive</td><td align="right"><a href="links.html#bin.v2/libs/serialization/test/test_dll_exported_polymorphic_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden"><i>Warn</i></a></td></tr>
+<tr><td>test_dll_exported_polymorphic_text_archive</td><td align="right"><a href="links.html#bin.v2/libs/serialization/test/test_dll_exported_polymorphic_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden"><i>Warn</i></a></td></tr>
+<tr><td>test_dll_exported_polymorphic_text_warchive</td><td align="right"><a href="links.html#bin.v2/libs/serialization/test/test_dll_exported_polymorphic_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden"><i>Warn</i></a></td></tr>
+<tr><td>test_dll_exported_polymorphic_xml_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_dll_exported_polymorphic_xml_warchive</td><td align="right"><a href="links.html#bin.v2/libs/serialization/test/test_dll_exported_polymorphic_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden"><i>Warn</i></a></td></tr>
+<tr><td>test_dll_simple</td><td align="right"><a href="links.html#bin.v2/libs/serialization/test/test_dll_simple.test/clang-darwin-03/debug/threading-multi/visibility-hidden"><i>Warn</i></a></td></tr>
+<tr><td>test_exported_polymorphic_binary_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_exported_polymorphic_text_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_exported_polymorphic_text_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_exported_polymorphic_xml_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_exported_polymorphic_xml_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_forward_list_binary_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_forward_list_ptrs_binary_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_forward_list_ptrs_text_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_forward_list_ptrs_text_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_forward_list_ptrs_xml_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_forward_list_ptrs_xml_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_forward_list_text_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_forward_list_text_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_forward_list_xml_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_forward_list_xml_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_helper_support_binary_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_helper_support_text_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_helper_support_text_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_helper_support_xml_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_helper_support_xml_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_inclusion2</td><td align="right">Pass</td></tr>
+<tr><td>test_inclusion</td><td align="right">Pass</td></tr>
+<tr><td>test_interrupts_binary_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_interrupts_text_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_interrupts_text_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_interrupts_xml_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_interrupts_xml_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_iterators</td><td align="right">Pass</td></tr>
+<tr><td>test_iterators_base64</td><td align="right">Pass</td></tr>
+<tr><td>test_list_binary_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_list_ptrs_binary_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_list_ptrs_text_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_list_ptrs_text_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_list_ptrs_xml_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_list_ptrs_xml_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_list_text_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_list_text_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_list_xml_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_list_xml_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_map_binary_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_map_boost_unordered_binary_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_map_boost_unordered_text_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_map_boost_unordered_text_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_map_boost_unordered_xml_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_map_boost_unordered_xml_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_map_text_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_map_text_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_map_xml_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_map_xml_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_mi_binary_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_mi_text_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_mi_text_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_mi_xml_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_mi_xml_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_mult_archive_types</td><td align="right">Pass</td></tr>
+<tr><td>test_multiple_inheritance_binary_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_multiple_inheritance_text_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_multiple_inheritance_text_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_multiple_inheritance_xml_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_multiple_inheritance_xml_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_multiple_ptrs_binary_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_multiple_ptrs_text_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_multiple_ptrs_text_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_multiple_ptrs_xml_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_multiple_ptrs_xml_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_native_array_binary_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_native_array_text_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_native_array_text_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_native_array_xml_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_native_array_xml_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_new_operator_binary_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_new_operator_text_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_new_operator_text_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_new_operator_xml_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_new_operator_xml_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_no_rtti_polymorphic_binary_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_no_rtti_polymorphic_text_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_no_rtti_polymorphic_text_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_no_rtti_polymorphic_xml_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_no_rtti_polymorphic_xml_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_non_default_ctor2_binary_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_non_default_ctor2_text_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_non_default_ctor2_text_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_non_default_ctor2_xml_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_non_default_ctor2_xml_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_non_default_ctor_binary_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_non_default_ctor_text_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_non_default_ctor_text_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_non_default_ctor_xml_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_non_default_ctor_xml_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_non_intrusive_binary_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_non_intrusive_text_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_non_intrusive_text_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_non_intrusive_xml_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_non_intrusive_xml_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_not_serializable</td><td align="right"><a href="links.html#bin.v2/libs/serialization/test/test_not_serializable.test/clang-darwin-03/debug/threading-multi/visibility-hidden"><i>Warn</i></a></td></tr>
+<tr><td>test_null_ptr_binary_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_null_ptr_text_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_null_ptr_text_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_null_ptr_xml_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_null_ptr_xml_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_nvp_binary_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_nvp_text_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_nvp_text_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_nvp_xml_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_nvp_xml_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_object_binary_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_object_text_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_object_text_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_object_xml_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_object_xml_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_optional_binary_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_optional_text_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_optional_text_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_optional_xml_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_optional_xml_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_p_helper_polymorphic_binary_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_p_helper_polymorphic_text_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_p_helper_polymorphic_text_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_p_helper_polymorphic_xml_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_p_helper_polymorphic_xml_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_polymorphic2_polymorphic_binary_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_polymorphic2_polymorphic_text_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_polymorphic2_polymorphic_text_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_polymorphic2_polymorphic_xml_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_polymorphic2_polymorphic_xml_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_polymorphic_helper_polymorphic_binary_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_polymorphic_helper_polymorphic_text_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_polymorphic_helper_polymorphic_text_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_polymorphic_helper_polymorphic_xml_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_polymorphic_helper_polymorphic_xml_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_polymorphic_polymorphic_binary_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_polymorphic_polymorphic_text_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_polymorphic_polymorphic_text_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_polymorphic_polymorphic_xml_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_polymorphic_polymorphic_xml_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_primitive_binary_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_primitive_text_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_primitive_text_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_primitive_xml_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_primitive_xml_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_priority_queue_binary_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_priority_queue_text_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_priority_queue_text_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_priority_queue_xml_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_priority_queue_xml_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_private_ctor</td><td align="right">Pass</td></tr>
+<tr><td>test_queue_binary_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_queue_text_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_queue_text_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_queue_xml_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_queue_xml_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_recursion_binary_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_recursion_text_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_recursion_text_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_recursion_xml_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_recursion_xml_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_registered_binary_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_registered_text_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_registered_text_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_registered_xml_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_registered_xml_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_reset_object_address</td><td align="right">Pass</td></tr>
+<tr><td>test_set_binary_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_set_boost_unordered_binary_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_set_boost_unordered_text_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_set_boost_unordered_text_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_set_boost_unordered_xml_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_set_boost_unordered_xml_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_set_text_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_set_text_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_set_xml_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_set_xml_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_shared_ptr_132_binary_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_shared_ptr_132_text_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_shared_ptr_132_text_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_shared_ptr_132_xml_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_shared_ptr_132_xml_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_shared_ptr_binary_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_shared_ptr_multi_base_binary_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_shared_ptr_multi_base_text_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_shared_ptr_multi_base_text_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_shared_ptr_multi_base_xml_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_shared_ptr_multi_base_xml_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_shared_ptr_text_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_shared_ptr_text_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_shared_ptr_xml_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_shared_ptr_xml_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_simple_class_binary_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_simple_class_ptr_binary_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_simple_class_ptr_text_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_simple_class_ptr_text_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_simple_class_ptr_xml_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_simple_class_ptr_xml_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_simple_class_text_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_simple_class_text_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_simple_class_xml_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_simple_class_xml_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_singleton</td><td align="right">Pass</td></tr>
+<tr><td>test_singleton_inherited</td><td align="right"><a href="links.html#bin.v2/libs/serialization/test/test_singleton_inherited.test/clang-darwin-03/debug/threading-multi/visibility-hidden"><i>Warn</i></a></td></tr>
+<tr><td>test_singleton_plain</td><td align="right"><a href="links.html#bin.v2/libs/serialization/test/test_singleton_plain.test/clang-darwin-03/debug/threading-multi/visibility-hidden"><i>Warn</i></a></td></tr>
+<tr><td>test_smart_cast</td><td align="right"><a href="links.html#bin.v2/libs/serialization/test/test_smart_cast.test/clang-darwin-03/debug/threading-multi/visibility-hidden"><i>Warn</i></a></td></tr>
+<tr><td>test_split_binary_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_split_text_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_split_text_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_split_xml_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_split_xml_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_stack_binary_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_stack_text_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_stack_text_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_stack_xml_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_stack_xml_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_static_warning</td><td align="right">Pass</td></tr>
+<tr><td>test_strong_typedef</td><td align="right">Pass</td></tr>
+<tr><td>test_tracking_binary_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_tracking_text_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_tracking_text_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_tracking_xml_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_tracking_xml_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_traits_fail</td><td align="right"><a href="links.html#bin.v2/libs/serialization/test/test_traits_fail.test/clang-darwin-03/debug/threading-multi/visibility-hidden"><i>Warn</i></a></td></tr>
+<tr><td>test_traits_pass</td><td align="right">Pass</td></tr>
+<tr><td>test_unique_ptr_binary_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_unique_ptr_text_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_unique_ptr_text_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_unique_ptr_xml_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_unique_ptr_xml_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_unregistered_binary_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_unregistered_text_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_unregistered_text_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_unregistered_xml_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_unregistered_xml_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_valarray_binary_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_valarray_text_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_valarray_text_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_valarray_xml_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_valarray_xml_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_variant_binary_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_variant_text_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_variant_text_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_variant_xml_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_variant_xml_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_vector_binary_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_vector_text_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_vector_text_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_vector_xml_archive</td><td align="right">Pass</td></tr>
+<tr><td>test_vector_xml_warchive</td><td align="right">Pass</td></tr>
+<tr><td>test_void_cast</td><td align="right"><a href="links.html#bin.v2/libs/serialization/test/test_void_cast.test/clang-darwin-03/debug/threading-multi/visibility-hidden"><i>Warn</i></a></td></tr>
+</table>
+</body>
+</html>
diff --git a/src/boost/libs/serialization/test/links.html b/src/boost/libs/serialization/test/links.html
new file mode 100644
index 000000000..2356ba5b7
--- /dev/null
+++ b/src/boost/libs/serialization/test/links.html
@@ -0,0 +1,748 @@
+<html>
+<head>
+<title>Boost Library Status Error Log</title>
+</head>
+<body bgcolor="#ffffff" text="#000000">
+<table border="0">
+<h1>Library Status: serialization/test</h1>
+<b>Run Date:</b> 21:44:22 UTC, Friday 11 October 2019
+<br></table>
+<br>
+<h2><a name="bin.v2/libs/serialization/test/test_check.test/clang-darwin-03/debug/threading-multi/visibility-hidden">bin.v2/libs/serialization/test/test_check.test/clang-darwin-03/debug/threading-multi/visibility-hidden</a></h2>
+<h3>Compiler output:</h3><pre>
+In file included from test_check.cpp:18:
+In file included from ../../../boost/archive/text_iarchive.hpp:24:
+In file included from ../../../boost/archive/basic_text_iarchive.hpp:30:
+In file included from ../../../boost/archive/detail/common_iarchive.hpp:23:
+In file included from ../../../boost/archive/detail/interface_iarchive.hpp:22:
+In file included from ../../../boost/archive/detail/iserializer.hpp:90:
+../../../boost/archive/detail/check.hpp:78:5: error: implicit instantiation of undefined template 'boost::STATIC_ASSERTION_FAILURE&amp;lt;false&amp;gt;'
+ BOOST_STATIC_ASSERT(typex::value);
+ ^
+../../../boost/static_assert.hpp:154:13: note: expanded from macro 'BOOST_STATIC_ASSERT'
+ sizeof(::boost::STATIC_ASSERTION_FAILURE&amp;lt; BOOST_STATIC_ASSERT_BOOL_CAST( __VA_ARGS__ ) &amp;gt;)&amp;gt;\
+ ^
+../../../boost/archive/detail/oserializer.hpp:314:9: note: in instantiation of function template specialization 'boost::archive::detail::check_object_versioning&amp;lt;check2&amp;gt;' requested here
+ check_object_versioning&amp;lt; T &amp;gt;();
+ ^
+../../../boost/archive/detail/oserializer.hpp:539:12: note: in instantiation of function template specialization 'boost::archive::detail::save_non_pointer_type&amp;lt;boost::archive::text_oarchive&amp;gt;::invoke&amp;lt;check2&amp;gt;' requested here
+ typex::invoke(ar, t);
+ ^
+../../../boost/archive/detail/common_oarchive.hpp:71:18: note: in instantiation of function template specialization 'boost::archive::save&amp;lt;boost::archive::text_oarchive, const check2&amp;gt;' requested here
+ archive::save(* this-&amp;gt;This(), t);
+ ^
+../../../boost/archive/basic_text_oarchive.hpp:83:39: note: in instantiation of function template specialization 'boost::archive::detail::common_oarchive&amp;lt;boost::archive::text_oarchive&amp;gt;::save_override&amp;lt;const check2&amp;gt;' requested here
+ this-&amp;gt;detail_common_oarchive::save_override(t);
+ ^
+../../../boost/archive/detail/interface_oarchive.hpp:70:23: note: in instantiation of function template specialization 'boost::archive::basic_text_oarchive&amp;lt;boost::archive::text_oarchive&amp;gt;::save_override&amp;lt;const check2&amp;gt;' requested here
+ this-&amp;gt;This()-&amp;gt;save_override(t);
+ ^
+test_check.cpp:85:12: note: in instantiation of function template specialization 'boost::archive::detail::interface_oarchive&amp;lt;boost::archive::text_oarchive&amp;gt;::operator&amp;lt;&amp;lt;&amp;lt;check2&amp;gt;' requested here
+ oa &amp;lt;&amp;lt; c2_out; // error check_object_versioning
+ ^
+../../../boost/static_assert.hpp:79:26: note: template is declared here
+template &amp;lt;bool x&amp;gt; struct STATIC_ASSERTION_FAILURE;
+ ^
+In file included from test_check.cpp:18:
+In file included from ../../../boost/archive/text_iarchive.hpp:24:
+In file included from ../../../boost/archive/basic_text_iarchive.hpp:30:
+In file included from ../../../boost/archive/detail/common_iarchive.hpp:23:
+In file included from ../../../boost/archive/detail/interface_iarchive.hpp:22:
+In file included from ../../../boost/archive/detail/iserializer.hpp:90:
+../../../boost/archive/detail/check.hpp:162:5: error: implicit instantiation of undefined template 'boost::STATIC_ASSERTION_FAILURE&amp;lt;false&amp;gt;'
+ BOOST_STATIC_ASSERT(typex::value);
+ ^
+../../../boost/static_assert.hpp:154:13: note: expanded from macro 'BOOST_STATIC_ASSERT'
+ sizeof(::boost::STATIC_ASSERTION_FAILURE&amp;lt; BOOST_STATIC_ASSERT_BOOL_CAST( __VA_ARGS__ ) &amp;gt;)&amp;gt;\
+ ^
+../../../boost/archive/detail/iserializer.hpp:609:13: note: in instantiation of function template specialization 'boost::archive::detail::check_const_loading&amp;lt;const check1&amp;gt;' requested here
+ detail::check_const_loading&amp;lt; T &amp;gt;();
+ ^
+../../../boost/archive/detail/common_iarchive.hpp:67:18: note: in instantiation of function template specialization 'boost::archive::load&amp;lt;boost::archive::text_iarchive, const check1&amp;gt;' requested here
+ archive::load(* this-&amp;gt;This(), t);
+ ^
+../../../boost/archive/basic_text_iarchive.hpp:70:39: note: in instantiation of function template specialization 'boost::archive::detail::common_iarchive&amp;lt;boost::archive::text_iarchive&amp;gt;::load_override&amp;lt;const check1&amp;gt;' requested here
+ this-&amp;gt;detail_common_iarchive::load_override(t);
+ ^
+../../../boost/archive/text_iarchive.hpp:82:39: note: in instantiation of function template specialization 'boost::archive::basic_text_iarchive&amp;lt;boost::archive::text_iarchive&amp;gt;::load_override&amp;lt;const check1&amp;gt;' requested here
+ basic_text_iarchive&amp;lt;Archive&amp;gt;::load_override(t);
+ ^
+../../../boost/archive/detail/interface_iarchive.hpp:68:23: note: in instantiation of function template specialization 'boost::archive::text_iarchive_impl&amp;lt;boost::archive::text_iarchive&amp;gt;::load_override&amp;lt;const check1&amp;gt;' requested here
+ this-&amp;gt;This()-&amp;gt;load_override(t);
+ ^
+test_check.cpp:91:12: note: in instantiation of function template specialization 'boost::archive::detail::interface_iarchive&amp;lt;boost::archive::text_iarchive&amp;gt;::operator&amp;gt;&amp;gt;&amp;lt;const check1&amp;gt;' requested here
+ ia &amp;gt;&amp;gt; c1_in; // check_const_loading
+ ^
+../../../boost/static_assert.hpp:79:26: note: template is declared here
+template &amp;lt;bool x&amp;gt; struct STATIC_ASSERTION_FAILURE;
+ ^
+2 errors generated.
+(failed-as-expected) ../../../bin.v2/libs/serialization/test/test_check.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_check.o
+</pre>
+<h2><a name="bin.v2/libs/serialization/test/test_dll_exported_polymorphic_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden">bin.v2/libs/serialization/test/test_dll_exported_polymorphic_xml_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden</a></h2>
+<h3>Compiler output:</h3><pre>
+In file included from test_dll_exported.cpp:51:
+./polymorphic_base.hpp:29:13: warning: polymorphic_base imported [-W#pragma-messages]
+ #pragma message (&quot;polymorphic_base imported&quot;)
+ ^
+In file included from test_dll_exported.cpp:56:
+./polymorphic_derived2.hpp:29:13: warning: polymorphic_derived2 imported [-W#pragma-messages]
+ #pragma message (&quot;polymorphic_derived2 imported&quot;)
+ ^
+2 warnings generated.
+</pre>
+<h2><a name="bin.v2/libs/serialization/test/test_not_serializable.test/clang-darwin-03/debug/threading-multi/visibility-hidden">bin.v2/libs/serialization/test/test_not_serializable.test/clang-darwin-03/debug/threading-multi/visibility-hidden</a></h2>
+<h3>Compiler output:</h3><pre>
+In file included from test_not_serializable.cpp:14:
+In file included from ./test_tools.hpp:246:
+In file included from ./text_archive.hpp:8:
+In file included from ../../../boost/archive/text_oarchive.hpp:31:
+In file included from ../../../boost/archive/basic_text_oarchive.hpp:29:
+In file included from ../../../boost/archive/detail/common_oarchive.hpp:22:
+In file included from ../../../boost/archive/detail/interface_oarchive.hpp:23:
+In file included from ../../../boost/archive/detail/oserializer.hpp:40:
+In file included from ../../../boost/serialization/extended_type_info_typeid.hpp:37:
+../../../boost/serialization/access.hpp:116:11: error: no member named 'serialize' in 'A'
+ t.serialize(ar, file_version);
+ ~ ^
+../../../boost/serialization/serialization.hpp:68:13: note: in instantiation of function template specialization 'boost::serialization::access::serialize&amp;lt;boost::archive::text_oarchive, A&amp;gt;' requested here
+ access::serialize(ar, t, static_cast&amp;lt;unsigned int&amp;gt;(file_version));
+ ^
+../../../boost/serialization/serialization.hpp:126:5: note: in instantiation of function template specialization 'boost::serialization::serialize&amp;lt;boost::archive::text_oarchive, A&amp;gt;' requested here
+ serialize(ar, t, v);
+ ^
+../../../boost/archive/detail/oserializer.hpp:153:27: note: in instantiation of function template specialization 'boost::serialization::serialize_adl&amp;lt;boost::archive::text_oarchive, A&amp;gt;' requested here
+ boost::serialization::serialize_adl(
+ ^
+../../../boost/serialization/singleton.hpp:147:5: note: in instantiation of member function 'boost::archive::detail::oserializer&amp;lt;boost::archive::text_oarchive, A&amp;gt;::save_object_data' requested here
+ singleton_wrapper(){
+ ^
+../../../boost/serialization/singleton.hpp:171:47: note: in instantiation of member function 'boost::serialization::detail::singleton_wrapper&amp;lt;boost::archive::detail::oserializer&amp;lt;boost::archive::text_oarchive, A&amp;gt; &amp;gt;::singleton_wrapper' requested here
+ static detail::singleton_wrapper&amp;lt; T &amp;gt; t;
+ ^
+../../../boost/serialization/singleton.hpp:196:16: note: (skipping 15 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all)
+ return get_instance();
+ ^
+../../../boost/archive/detail/oserializer.hpp:539:12: note: in instantiation of function template specialization 'boost::archive::detail::save_non_pointer_type&amp;lt;boost::archive::text_oarchive&amp;gt;::invoke&amp;lt;boost::serialization::nvp&amp;lt;A&amp;gt; &amp;gt;' requested here
+ typex::invoke(ar, t);
+ ^
+../../../boost/archive/detail/common_oarchive.hpp:71:18: note: in instantiation of function template specialization 'boost::archive::save&amp;lt;boost::archive::text_oarchive, const boost::serialization::nvp&amp;lt;A&amp;gt; &amp;gt;' requested here
+ archive::save(* this-&amp;gt;This(), t);
+ ^
+../../../boost/archive/basic_text_oarchive.hpp:83:39: note: in instantiation of function template specialization 'boost::archive::detail::common_oarchive&amp;lt;boost::archive::text_oarchive&amp;gt;::save_override&amp;lt;const boost::serialization::nvp&amp;lt;A&amp;gt; &amp;gt;' requested here
+ this-&amp;gt;detail_common_oarchive::save_override(t);
+ ^
+../../../boost/archive/detail/interface_oarchive.hpp:70:23: note: in instantiation of function template specialization 'boost::archive::basic_text_oarchive&amp;lt;boost::archive::text_oarchive&amp;gt;::save_override&amp;lt;const boost::serialization::nvp&amp;lt;A&amp;gt; &amp;gt;' requested here
+ this-&amp;gt;This()-&amp;gt;save_override(t);
+ ^
+test_not_serializable.cpp:28:8: note: in instantiation of function template specialization 'boost::archive::detail::interface_oarchive&amp;lt;boost::archive::text_oarchive&amp;gt;::operator&amp;lt;&amp;lt;&amp;lt;boost::serialization::nvp&amp;lt;A&amp;gt; &amp;gt;' requested here
+ oa &amp;lt;&amp;lt; BOOST_SERIALIZATION_NVP(a);
+ ^
+In file included from test_not_serializable.cpp:14:
+In file included from ./test_tools.hpp:246:
+In file included from ./text_archive.hpp:8:
+In file included from ../../../boost/archive/text_oarchive.hpp:31:
+In file included from ../../../boost/archive/basic_text_oarchive.hpp:29:
+In file included from ../../../boost/archive/detail/common_oarchive.hpp:22:
+In file included from ../../../boost/archive/detail/interface_oarchive.hpp:23:
+In file included from ../../../boost/archive/detail/oserializer.hpp:70:
+../../../boost/archive/detail/check.hpp:60:5: error: implicit instantiation of undefined template 'boost::STATIC_ASSERTION_FAILURE&amp;lt;false&amp;gt;'
+ BOOST_STATIC_ASSERT(typex::value);
+ ^
+../../../boost/static_assert.hpp:154:13: note: expanded from macro 'BOOST_STATIC_ASSERT'
+ sizeof(::boost::STATIC_ASSERTION_FAILURE&amp;lt; BOOST_STATIC_ASSERT_BOOL_CAST( __VA_ARGS__ ) &amp;gt;)&amp;gt;\
+ ^
+../../../boost/archive/detail/iserializer.hpp:460:9: note: in instantiation of function template specialization 'boost::archive::detail::check_object_level&amp;lt;A&amp;gt;' requested here
+ check_object_level&amp;lt; T &amp;gt;();
+ ^
+../../../boost/archive/detail/iserializer.hpp:624:12: note: in instantiation of function template specialization 'boost::archive::detail::load_non_pointer_type&amp;lt;boost::archive::text_iarchive&amp;gt;::invoke&amp;lt;A&amp;gt;' requested here
+ typex::invoke(ar, t);
+ ^
+../../../boost/archive/detail/common_iarchive.hpp:67:18: note: in instantiation of function template specialization 'boost::archive::load&amp;lt;boost::archive::text_iarchive, A&amp;gt;' requested here
+ archive::load(* this-&amp;gt;This(), t);
+ ^
+../../../boost/archive/basic_text_iarchive.hpp:70:39: note: in instantiation of function template specialization 'boost::archive::detail::common_iarchive&amp;lt;boost::archive::text_iarchive&amp;gt;::load_override&amp;lt;A&amp;gt;' requested here
+ this-&amp;gt;detail_common_iarchive::load_override(t);
+ ^
+../../../boost/archive/text_iarchive.hpp:82:39: note: in instantiation of function template specialization 'boost::archive::basic_text_iarchive&amp;lt;boost::archive::text_iarchive&amp;gt;::load_override&amp;lt;A&amp;gt;' requested here
+ basic_text_iarchive&amp;lt;Archive&amp;gt;::load_override(t);
+ ^
+../../../boost/archive/detail/interface_iarchive.hpp:68:23: note: (skipping 9 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all)
+ this-&amp;gt;This()-&amp;gt;load_override(t);
+ ^
+../../../boost/archive/detail/common_iarchive.hpp:67:18: note: in instantiation of function template specialization 'boost::archive::load&amp;lt;boost::archive::text_iarchive, const boost::serialization::nvp&amp;lt;A&amp;gt; &amp;gt;' requested here
+ archive::load(* this-&amp;gt;This(), t);
+ ^
+../../../boost/archive/basic_text_iarchive.hpp:70:39: note: in instantiation of function template specialization 'boost::archive::detail::common_iarchive&amp;lt;boost::archive::text_iarchive&amp;gt;::load_override&amp;lt;const boost::serialization::nvp&amp;lt;A&amp;gt; &amp;gt;' requested here
+ this-&amp;gt;detail_common_iarchive::load_override(t);
+ ^
+../../../boost/archive/text_iarchive.hpp:82:39: note: in instantiation of function template specialization 'boost::archive::basic_text_iarchive&amp;lt;boost::archive::text_iarchive&amp;gt;::load_override&amp;lt;const boost::serialization::nvp&amp;lt;A&amp;gt; &amp;gt;' requested here
+ basic_text_iarchive&amp;lt;Archive&amp;gt;::load_override(t);
+ ^
+../../../boost/archive/detail/interface_iarchive.hpp:68:23: note: in instantiation of function template specialization 'boost::archive::text_iarchive_impl&amp;lt;boost::archive::text_iarchive&amp;gt;::load_override&amp;lt;const boost::serialization::nvp&amp;lt;A&amp;gt; &amp;gt;' requested here
+ this-&amp;gt;This()-&amp;gt;load_override(t);
+ ^
+test_not_serializable.cpp:35:8: note: in instantiation of function template specialization 'boost::archive::detail::interface_iarchive&amp;lt;boost::archive::text_iarchive&amp;gt;::operator&amp;gt;&amp;gt;&amp;lt;const boost::serialization::nvp&amp;lt;A&amp;gt; &amp;gt;' requested here
+ ia &amp;gt;&amp;gt; BOOST_SERIALIZATION_NVP(a);
+ ^
+../../../boost/static_assert.hpp:79:26: note: template is declared here
+template &amp;lt;bool x&amp;gt; struct STATIC_ASSERTION_FAILURE;
+ ^
+In file included from test_not_serializable.cpp:14:
+In file included from ./test_tools.hpp:246:
+In file included from ./text_archive.hpp:8:
+In file included from ../../../boost/archive/text_oarchive.hpp:31:
+In file included from ../../../boost/archive/basic_text_oarchive.hpp:29:
+In file included from ../../../boost/archive/detail/common_oarchive.hpp:22:
+In file included from ../../../boost/archive/detail/interface_oarchive.hpp:23:
+In file included from ../../../boost/archive/detail/oserializer.hpp:40:
+In file included from ../../../boost/serialization/extended_type_info_typeid.hpp:37:
+../../../boost/serialization/access.hpp:116:11: error: no member named 'serialize' in 'A'
+ t.serialize(ar, file_version);
+ ~ ^
+../../../boost/serialization/serialization.hpp:68:13: note: in instantiation of function template specialization 'boost::serialization::access::serialize&amp;lt;boost::archive::text_iarchive, A&amp;gt;' requested here
+ access::serialize(ar, t, static_cast&amp;lt;unsigned int&amp;gt;(file_version));
+ ^
+../../../boost/serialization/serialization.hpp:126:5: note: in instantiation of function template specialization 'boost::serialization::serialize&amp;lt;boost::archive::text_iarchive, A&amp;gt;' requested here
+ serialize(ar, t, v);
+ ^
+../../../boost/archive/detail/iserializer.hpp:187:27: note: in instantiation of function template specialization 'boost::serialization::serialize_adl&amp;lt;boost::archive::text_iarchive, A&amp;gt;' requested here
+ boost::serialization::serialize_adl(
+ ^
+../../../boost/serialization/singleton.hpp:147:5: note: in instantiation of member function 'boost::archive::detail::iserializer&amp;lt;boost...
+ (remainder deleted because of excessive size)
+</pre>
+<h2><a name="bin.v2/libs/serialization/test/test_const_load_fail2.test/clang-darwin-03/debug/threading-multi/visibility-hidden">bin.v2/libs/serialization/test/test_const_load_fail2.test/clang-darwin-03/debug/threading-multi/visibility-hidden</a></h2>
+<h3>Compiler output:</h3><pre>
+In file included from test_const_load_fail2.cpp:11:
+In file included from ../../../boost/archive/text_iarchive.hpp:24:
+In file included from ../../../boost/archive/basic_text_iarchive.hpp:30:
+In file included from ../../../boost/archive/detail/common_iarchive.hpp:23:
+In file included from ../../../boost/archive/detail/interface_iarchive.hpp:22:
+In file included from ../../../boost/archive/detail/iserializer.hpp:90:
+../../../boost/archive/detail/check.hpp:162:5: error: implicit instantiation of undefined template 'boost::STATIC_ASSERTION_FAILURE&amp;lt;false&amp;gt;'
+ BOOST_STATIC_ASSERT(typex::value);
+ ^
+../../../boost/static_assert.hpp:154:13: note: expanded from macro 'BOOST_STATIC_ASSERT'
+ sizeof(::boost::STATIC_ASSERTION_FAILURE&amp;lt; BOOST_STATIC_ASSERT_BOOL_CAST( __VA_ARGS__ ) &amp;gt;)&amp;gt;\
+ ^
+../../../boost/archive/detail/iserializer.hpp:609:13: note: in instantiation of function template specialization 'boost::archive::detail::check_const_loading&amp;lt;A *const&amp;gt;' requested here
+ detail::check_const_loading&amp;lt; T &amp;gt;();
+ ^
+../../../boost/archive/detail/common_iarchive.hpp:67:18: note: in instantiation of function template specialization 'boost::archive::load&amp;lt;boost::archive::text_iarchive, A *const&amp;gt;' requested here
+ archive::load(* this-&amp;gt;This(), t);
+ ^
+../../../boost/archive/basic_text_iarchive.hpp:70:39: note: in instantiation of function template specialization 'boost::archive::detail::common_iarchive&amp;lt;boost::archive::text_iarchive&amp;gt;::load_override&amp;lt;A *const&amp;gt;' requested here
+ this-&amp;gt;detail_common_iarchive::load_override(t);
+ ^
+../../../boost/archive/text_iarchive.hpp:82:39: note: in instantiation of function template specialization 'boost::archive::basic_text_iarchive&amp;lt;boost::archive::text_iarchive&amp;gt;::load_override&amp;lt;A *const&amp;gt;' requested here
+ basic_text_iarchive&amp;lt;Archive&amp;gt;::load_override(t);
+ ^
+../../../boost/archive/detail/interface_iarchive.hpp:68:23: note: in instantiation of function template specialization 'boost::archive::text_iarchive_impl&amp;lt;boost::archive::text_iarchive&amp;gt;::load_override&amp;lt;A *const&amp;gt;' requested here
+ this-&amp;gt;This()-&amp;gt;load_override(t);
+ ^
+test_const_load_fail2.cpp:22:8: note: in instantiation of function template specialization 'boost::archive::detail::interface_iarchive&amp;lt;boost::archive::text_iarchive&amp;gt;::operator&amp;gt;&amp;gt;&amp;lt;A *const&amp;gt;' requested here
+ ia &amp;gt;&amp;gt; a;
+ ^
+../../../boost/static_assert.hpp:79:26: note: template is declared here
+template &amp;lt;bool x&amp;gt; struct STATIC_ASSERTION_FAILURE;
+ ^
+In file included from test_const_load_fail2.cpp:11:
+In file included from ../../../boost/archive/text_iarchive.hpp:24:
+In file included from ../../../boost/archive/basic_text_iarchive.hpp:30:
+In file included from ../../../boost/archive/detail/common_iarchive.hpp:23:
+In file included from ../../../boost/archive/detail/interface_iarchive.hpp:22:
+../../../boost/archive/detail/iserializer.hpp:552:15: error: cannot assign to variable 't' with const-qualified type 'A *const &amp;amp;'
+ t = pointer_tweak(newbpis_ptr-&amp;gt;get_eti(), t, *t);
+ ~ ^
+../../../boost/archive/detail/iserializer.hpp:624:12: note: in instantiation of function template specialization 'boost::archive::detail::load_pointer_type&amp;lt;boost::archive::text_iarchive&amp;gt;::invoke&amp;lt;A *const&amp;gt;' requested here
+ typex::invoke(ar, t);
+ ^
+../../../boost/archive/detail/common_iarchive.hpp:67:18: note: in instantiation of function template specialization 'boost::archive::load&amp;lt;boost::archive::text_iarchive, A *const&amp;gt;' requested here
+ archive::load(* this-&amp;gt;This(), t);
+ ^
+../../../boost/archive/basic_text_iarchive.hpp:70:39: note: in instantiation of function template specialization 'boost::archive::detail::common_iarchive&amp;lt;boost::archive::text_iarchive&amp;gt;::load_override&amp;lt;A *const&amp;gt;' requested here
+ this-&amp;gt;detail_common_iarchive::load_override(t);
+ ^
+../../../boost/archive/text_iarchive.hpp:82:39: note: in instantiation of function template specialization 'boost::archive::basic_text_iarchive&amp;lt;boost::archive::text_iarchive&amp;gt;::load_override&amp;lt;A *const&amp;gt;' requested here
+ basic_text_iarchive&amp;lt;Archive&amp;gt;::load_override(t);
+ ^
+../../../boost/archive/detail/interface_iarchive.hpp:68:23: note: in instantiation of function template specialization 'boost::archive::text_iarchive_impl&amp;lt;boost::archive::text_iarchive&amp;gt;::load_override&amp;lt;A *const&amp;gt;' requested here
+ this-&amp;gt;This()-&amp;gt;load_override(t);
+ ^
+test_const_load_fail2.cpp:22:8: note: in instantiation of function template specialization 'boost::archive::detail::interface_iarchive&amp;lt;boost::archive::text_iarchive&amp;gt;::operator&amp;gt;&amp;gt;&amp;lt;A *const&amp;gt;' requested here
+ ia &amp;gt;&amp;gt; a;
+ ^
+../../../boost/archive/detail/iserializer.hpp:538:45: note: variable 't' declared const here
+ static void invoke(Archive &amp;amp; ar, Tptr &amp;amp; t){
+ ~~~~~~~^
+2 errors generated.
+(failed-as-expected) ../../../bin.v2/libs/serialization/test/test_const_load_fail2.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_const_load_fail2.o
+</pre>
+<h2><a name="bin.v2/libs/serialization/test/test_const_load_fail1_nvp.test/clang-darwin-03/debug/threading-multi/visibility-hidden">bin.v2/libs/serialization/test/test_const_load_fail1_nvp.test/clang-darwin-03/debug/threading-multi/visibility-hidden</a></h2>
+<h3>Compiler output:</h3><pre>
+In file included from test_const_load_fail1_nvp.cpp:11:
+In file included from ../../../boost/archive/text_iarchive.hpp:24:
+In file included from ../../../boost/archive/basic_text_iarchive.hpp:30:
+In file included from ../../../boost/archive/detail/common_iarchive.hpp:23:
+In file included from ../../../boost/archive/detail/interface_iarchive.hpp:22:
+In file included from ../../../boost/archive/detail/iserializer.hpp:90:
+../../../boost/archive/detail/check.hpp:162:5: error: implicit instantiation of undefined template 'boost::STATIC_ASSERTION_FAILURE&amp;lt;false&amp;gt;'
+ BOOST_STATIC_ASSERT(typex::value);
+ ^
+../../../boost/static_assert.hpp:154:13: note: expanded from macro 'BOOST_STATIC_ASSERT'
+ sizeof(::boost::STATIC_ASSERTION_FAILURE&amp;lt; BOOST_STATIC_ASSERT_BOOL_CAST( __VA_ARGS__ ) &amp;gt;)&amp;gt;\
+ ^
+../../../boost/archive/detail/iserializer.hpp:609:13: note: in instantiation of function template specialization 'boost::archive::detail::check_const_loading&amp;lt;const A&amp;gt;' requested here
+ detail::check_const_loading&amp;lt; T &amp;gt;();
+ ^
+../../../boost/archive/detail/common_iarchive.hpp:67:18: note: in instantiation of function template specialization 'boost::archive::load&amp;lt;boost::archive::text_iarchive, const A&amp;gt;' requested here
+ archive::load(* this-&amp;gt;This(), t);
+ ^
+../../../boost/archive/basic_text_iarchive.hpp:70:39: note: in instantiation of function template specialization 'boost::archive::detail::common_iarchive&amp;lt;boost::archive::text_iarchive&amp;gt;::load_override&amp;lt;const A&amp;gt;' requested here
+ this-&amp;gt;detail_common_iarchive::load_override(t);
+ ^
+../../../boost/archive/text_iarchive.hpp:82:39: note: in instantiation of function template specialization 'boost::archive::basic_text_iarchive&amp;lt;boost::archive::text_iarchive&amp;gt;::load_override&amp;lt;const A&amp;gt;' requested here
+ basic_text_iarchive&amp;lt;Archive&amp;gt;::load_override(t);
+ ^
+../../../boost/archive/detail/interface_iarchive.hpp:68:23: note: in instantiation of function template specialization 'boost::archive::text_iarchive_impl&amp;lt;boost::archive::text_iarchive&amp;gt;::load_override&amp;lt;const A&amp;gt;' requested here
+ this-&amp;gt;This()-&amp;gt;load_override(t);
+ ^
+../../../boost/serialization/nvp.hpp:56:8: note: (skipping 8 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all)
+ ar &amp;gt;&amp;gt; t.value();
+ ^
+../../../boost/archive/detail/common_iarchive.hpp:67:18: note: in instantiation of function template specialization 'boost::archive::load&amp;lt;boost::archive::text_iarchive, const boost::serialization::nvp&amp;lt;const A&amp;gt; &amp;gt;' requested here
+ archive::load(* this-&amp;gt;This(), t);
+ ^
+../../../boost/archive/basic_text_iarchive.hpp:70:39: note: in instantiation of function template specialization 'boost::archive::detail::common_iarchive&amp;lt;boost::archive::text_iarchive&amp;gt;::load_override&amp;lt;const boost::serialization::nvp&amp;lt;const A&amp;gt; &amp;gt;' requested here
+ this-&amp;gt;detail_common_iarchive::load_override(t);
+ ^
+../../../boost/archive/text_iarchive.hpp:82:39: note: in instantiation of function template specialization 'boost::archive::basic_text_iarchive&amp;lt;boost::archive::text_iarchive&amp;gt;::load_override&amp;lt;const boost::serialization::nvp&amp;lt;const A&amp;gt; &amp;gt;' requested here
+ basic_text_iarchive&amp;lt;Archive&amp;gt;::load_override(t);
+ ^
+../../../boost/archive/detail/interface_iarchive.hpp:68:23: note: in instantiation of function template specialization 'boost::archive::text_iarchive_impl&amp;lt;boost::archive::text_iarchive&amp;gt;::load_override&amp;lt;const boost::serialization::nvp&amp;lt;const A&amp;gt; &amp;gt;' requested here
+ this-&amp;gt;This()-&amp;gt;load_override(t);
+ ^
+test_const_load_fail1_nvp.cpp:23:8: note: in instantiation of function template specialization 'boost::archive::detail::interface_iarchive&amp;lt;boost::archive::text_iarchive&amp;gt;::operator&amp;gt;&amp;gt;&amp;lt;const boost::serialization::nvp&amp;lt;const A&amp;gt; &amp;gt;' requested here
+ ia &amp;gt;&amp;gt; BOOST_SERIALIZATION_NVP(a);
+ ^
+../../../boost/static_assert.hpp:79:26: note: template is declared here
+template &amp;lt;bool x&amp;gt; struct STATIC_ASSERTION_FAILURE;
+ ^
+1 error generated.
+(failed-as-expected) ../../../bin.v2/libs/serialization/test/test_const_load_fail1_nvp.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_const_load_fail1_nvp.o
+</pre>
+<h2><a name="bin.v2/libs/serialization/test/test_const_load_fail3.test/clang-darwin-03/debug/threading-multi/visibility-hidden">bin.v2/libs/serialization/test/test_const_load_fail3.test/clang-darwin-03/debug/threading-multi/visibility-hidden</a></h2>
+<h3>Compiler output:</h3><pre>
+In file included from test_const_load_fail3.cpp:11:
+In file included from ../../../boost/archive/text_iarchive.hpp:24:
+In file included from ../../../boost/archive/basic_text_iarchive.hpp:30:
+In file included from ../../../boost/archive/detail/common_iarchive.hpp:23:
+In file included from ../../../boost/archive/detail/interface_iarchive.hpp:22:
+In file included from ../../../boost/archive/detail/iserializer.hpp:90:
+../../../boost/archive/detail/check.hpp:162:5: error: implicit instantiation of undefined template 'boost::STATIC_ASSERTION_FAILURE&amp;lt;false&amp;gt;'
+ BOOST_STATIC_ASSERT(typex::value);
+ ^
+../../../boost/static_assert.hpp:154:13: note: expanded from macro 'BOOST_STATIC_ASSERT'
+ sizeof(::boost::STATIC_ASSERTION_FAILURE&amp;lt; BOOST_STATIC_ASSERT_BOOL_CAST( __VA_ARGS__ ) &amp;gt;)&amp;gt;\
+ ^
+../../../boost/archive/detail/iserializer.hpp:609:13: note: in instantiation of function template specialization 'boost::archive::detail::check_const_loading&amp;lt;const A *const&amp;gt;' requested here
+ detail::check_const_loading&amp;lt; T &amp;gt;();
+ ^
+../../../boost/archive/detail/common_iarchive.hpp:67:18: note: in instantiation of function template specialization 'boost::archive::load&amp;lt;boost::archive::text_iarchive, const A *const&amp;gt;' requested here
+ archive::load(* this-&amp;gt;This(), t);
+ ^
+../../../boost/archive/basic_text_iarchive.hpp:70:39: note: in instantiation of function template specialization 'boost::archive::detail::common_iarchive&amp;lt;boost::archive::text_iarchive&amp;gt;::load_override&amp;lt;const A *const&amp;gt;' requested here
+ this-&amp;gt;detail_common_iarchive::load_override(t);
+ ^
+../../../boost/archive/text_iarchive.hpp:82:39: note: in instantiation of function template specialization 'boost::archive::basic_text_iarchive&amp;lt;boost::archive::text_iarchive&amp;gt;::load_override&amp;lt;const A *const&amp;gt;' requested here
+ basic_text_iarchive&amp;lt;Archive&amp;gt;::load_override(t);
+ ^
+../../../boost/archive/detail/interface_iarchive.hpp:68:23: note: in instantiation of function template specialization 'boost::archive::text_iarchive_impl&amp;lt;boost::archive::text_iarchive&amp;gt;::load_override&amp;lt;const A *const&amp;gt;' requested here
+ this-&amp;gt;This()-&amp;gt;load_override(t);
+ ^
+test_const_load_fail3.cpp:21:8: note: in instantiation of function template specialization 'boost::archive::detail::interface_iarchive&amp;lt;boost::archive::text_iarchive&amp;gt;::operator&amp;gt;&amp;gt;&amp;lt;const A *const&amp;gt;' requested here
+ ia &amp;gt;&amp;gt; a;
+ ^
+../../../boost/static_assert.hpp:79:26: note: template is declared here
+template &amp;lt;bool x&amp;gt; struct STATIC_ASSERTION_FAILURE;
+ ^
+In file included from test_const_load_fail3.cpp:11:
+In file included from ../../../boost/archive/text_iarchive.hpp:24:
+In file included from ../../../boost/archive/basic_text_iarchive.hpp:30:
+In file included from ../../../boost/archive/detail/common_iarchive.hpp:23:
+In file included from ../../../boost/archive/detail/interface_iarchive.hpp:22:
+../../../boost/archive/detail/iserializer.hpp:552:15: error: cannot assign to variable 't' with const-qualified type 'const A *const &amp;amp;'
+ t = pointer_tweak(newbpis_ptr-&amp;gt;get_eti(), t, *t);
+ ~ ^
+../../../boost/archive/detail/iserializer.hpp:624:12: note: in instantiation of function template specialization 'boost::archive::detail::load_pointer_type&amp;lt;boost::archive::text_iarchive&amp;gt;::invoke&amp;lt;const A *const&amp;gt;' requested here
+ typex::invoke(ar, t);
+ ^
+../../../boost/archive/detail/common_iarchive.hpp:67:18: note: in instantiation of function template specialization 'boost::archive::load&amp;lt;boost::archive::text_iarchive, const A *const&amp;gt;' requested here
+ archive::load(* this-&amp;gt;This(), t);
+ ^
+../../../boost/archive/basic_text_iarchive.hpp:70:39: note: in instantiation of function template specialization 'boost::archive::detail::common_iarchive&amp;lt;boost::archive::text_iarchive&amp;gt;::load_override&amp;lt;const A *const&amp;gt;' requested here
+ this-&amp;gt;detail_common_iarchive::load_override(t);
+ ^
+../../../boost/archive/text_iarchive.hpp:82:39: note: in instantiation of function template specialization 'boost::archive::basic_text_iarchive&amp;lt;boost::archive::text_iarchive&amp;gt;::load_override&amp;lt;const A *const&amp;gt;' requested here
+ basic_text_iarchive&amp;lt;Archive&amp;gt;::load_override(t);
+ ^
+../../../boost/archive/detail/interface_iarchive.hpp:68:23: note: in instantiation of function template specialization 'boost::archive::text_iarchive_impl&amp;lt;boost::archive::text_iarchive&amp;gt;::load_override&amp;lt;const A *const&amp;gt;' requested here
+ this-&amp;gt;This()-&amp;gt;load_override(t);
+ ^
+test_const_load_fail3.cpp:21:8: note: in instantiation of function template specialization 'boost::archive::detail::interface_iarchive&amp;lt;boost::archive::text_iarchive&amp;gt;::operator&amp;gt;&amp;gt;&amp;lt;const A *const&amp;gt;' requested here
+ ia &amp;gt;&amp;gt; a;
+ ^
+../../../boost/archive/detail/iserializer.hpp:538:45: note: variable 't' declared const here
+ static void invoke(Archive &amp;amp; ar, Tptr &amp;amp; t){
+ ~~~~~~~^
+2 errors generated.
+(failed-as-expected) ../../../bin.v2/libs/serialization/test/test_const_load_fail3.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_const_load_fail3.o
+</pre>
+<h2><a name="bin.v2/libs/serialization/test/test_dll_exported_polymorphic_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden">bin.v2/libs/serialization/test/test_dll_exported_polymorphic_text_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden</a></h2>
+<h3>Compiler output:</h3><pre>
+In file included from test_dll_exported.cpp:51:
+./polymorphic_base.hpp:29:13: warning: polymorphic_base imported [-W#pragma-messages]
+ #pragma message (&quot;polymorphic_base imported&quot;)
+ ^
+In file included from test_dll_exported.cpp:56:
+./polymorphic_derived2.hpp:29:13: warning: polymorphic_derived2 imported [-W#pragma-messages]
+ #pragma message (&quot;polymorphic_derived2 imported&quot;)
+ ^
+2 warnings generated.
+</pre>
+<h2><a name="bin.v2/libs/serialization/test/test_singleton_plain.test/clang-darwin-03/debug/threading-multi/visibility-hidden">bin.v2/libs/serialization/test/test_singleton_plain.test/clang-darwin-03/debug/threading-multi/visibility-hidden</a></h2>
+<h3>Compiler output:</h3><pre>
+test_singleton_plain.cpp:25:32: warning: unknown warning group '-Wterminate', ignored [-Wunknown-warning-option]
+#pragma GCC diagnostic ignored &quot;-Wterminate&quot;
+ ^
+1 warning generated.
+</pre>
+<h2><a name="bin.v2/libs/serialization/test/test_singleton_inherited.test/clang-darwin-03/debug/threading-multi/visibility-hidden">bin.v2/libs/serialization/test/test_singleton_inherited.test/clang-darwin-03/debug/threading-multi/visibility-hidden</a></h2>
+<h3>Compiler output:</h3><pre>
+test_singleton_inherited.cpp:26:32: warning: unknown warning group '-Wterminate', ignored [-Wunknown-warning-option]
+#pragma GCC diagnostic ignored &quot;-Wterminate&quot;
+ ^
+1 warning generated.
+</pre>
+<h2><a name="bin.v2/libs/serialization/test/test_dll_simple.test/clang-darwin-03/debug/threading-multi/visibility-hidden">bin.v2/libs/serialization/test/test_dll_simple.test/clang-darwin-03/debug/threading-multi/visibility-hidden</a></h2>
+<h3>Compiler output:</h3><pre>
+In file included from test_dll_simple.cpp:33:
+./A.hpp:37:13: warning: A imported [-W#pragma-messages]
+ #pragma message(&quot;A imported&quot;)
+ ^
+1 warning generated.
+</pre>
+<h2><a name="bin.v2/libs/serialization/test/test_dll_exported_polymorphic_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden">bin.v2/libs/serialization/test/test_dll_exported_polymorphic_binary_archive.test/clang-darwin-03/debug/threading-multi/visibility-hidden</a></h2>
+<h3>Compiler output:</h3><pre>
+In file included from test_dll_exported.cpp:51:
+./polymorphic_base.hpp:29:13: warning: polymorphic_base imported [-W#pragma-messages]
+ #pragma message (&quot;polymorphic_base imported&quot;)
+ ^
+In file included from test_dll_exported.cpp:56:
+./polymorphic_derived2.hpp:29:13: warning: polymorphic_derived2 imported [-W#pragma-messages]
+ #pragma message (&quot;polymorphic_derived2 imported&quot;)
+ ^
+2 warnings generated.
+</pre>
+<h2><a name="bin.v2/libs/serialization/test/test_traits_fail.test/clang-darwin-03/debug/threading-multi/visibility-hidden">bin.v2/libs/serialization/test/test_traits_fail.test/clang-darwin-03/debug/threading-multi/visibility-hidden</a></h2>
+<h3>Compiler output:</h3><pre>
+test_traits_fail.cpp:24:1: error: implicit instantiation of undefined template 'boost::STATIC_ASSERTION_FAILURE&amp;lt;false&amp;gt;'
+BOOST_CLASS_TRACKING(A, boost::serialization::track_never)
+^
+../../../boost/serialization/tracking.hpp:108:5: note: expanded from macro 'BOOST_CLASS_TRACKING'
+ BOOST_STATIC_ASSERT(( \
+ ^
+../../../boost/static_assert.hpp:154:13: note: expanded from macro 'BOOST_STATIC_ASSERT'
+ sizeof(::boost::STATIC_ASSERTION_FAILURE&amp;lt; BOOST_STATIC_ASSERT_BOOL_CAST( __VA_ARGS__ ) &amp;gt;)&amp;gt;\
+ ^
+../../../boost/static_assert.hpp:79:26: note: template is declared here
+template &amp;lt;bool x&amp;gt; struct STATIC_ASSERTION_FAILURE;
+ ^
+1 error generated.
+(failed-as-expected) ../../../bin.v2/libs/serialization/test/test_traits_fail.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_traits_fail.o
+</pre>
+<h2><a name="bin.v2/libs/serialization/test/test_const_load_fail1.test/clang-darwin-03/debug/threading-multi/visibility-hidden">bin.v2/libs/serialization/test/test_const_load_fail1.test/clang-darwin-03/debug/threading-multi/visibility-hidden</a></h2>
+<h3>Compiler output:</h3><pre>
+In file included from test_const_load_fail1.cpp:11:
+In file included from ../../../boost/archive/text_iarchive.hpp:24:
+In file included from ../../../boost/archive/basic_text_iarchive.hpp:30:
+In file included from ../../../boost/archive/detail/common_iarchive.hpp:23:
+In file included from ../../../boost/archive/detail/interface_iarchive.hpp:22:
+In file included from ../../../boost/archive/detail/iserializer.hpp:90:
+../../../boost/archive/detail/check.hpp:162:5: error: implicit instantiation of undefined template 'boost::STATIC_ASSERTION_FAILURE&amp;lt;false&amp;gt;'
+ BOOST_STATIC_ASSERT(typex::value);
+ ^
+../../../boost/static_assert.hpp:154:13: note: expanded from macro 'BOOST_STATIC_ASSERT'
+ sizeof(::boost::STATIC_ASSERTION_FAILURE&amp;lt; BOOST_STATIC_ASSERT_BOOL_CAST( __VA_ARGS__ ) &amp;gt;)&amp;gt;\
+ ^
+../../../boost/archive/detail/iserializer.hpp:609:13: note: in instantiation of function template specialization 'boost::archive::detail::check_const_loading&amp;lt;const A&amp;gt;' requested here
+ detail::check_const_loading&amp;lt; T &amp;gt;();
+ ^
+../../../boost/archive/detail/common_iarchive.hpp:67:18: note: in instantiation of function template specialization 'boost::archive::load&amp;lt;boost::archive::text_iarchive, const A&amp;gt;' requested here
+ archive::load(* this-&amp;gt;This(), t);
+ ^
+../../../boost/archive/basic_text_iarchive.hpp:70:39: note: in instantiation of function template specialization 'boost::archive::detail::common_iarchive&amp;lt;boost::archive::text_iarchive&amp;gt;::load_override&amp;lt;const A&amp;gt;' requested here
+ this-&amp;gt;detail_common_iarchive::load_override(t);
+ ^
+../../../boost/archive/text_iarchive.hpp:82:39: note: in instantiation of function template specialization 'boost::archive::basic_text_iarchive&amp;lt;boost::archive::text_iarchive&amp;gt;::load_override&amp;lt;const A&amp;gt;' requested here
+ basic_text_iarchive&amp;lt;Archive&amp;gt;::load_override(t);
+ ^
+../../../boost/archive/detail/interface_iarchive.hpp:68:23: note: in instantiation of function template specialization 'boost::archive::text_iarchive_impl&amp;lt;boost::archive::text_iarchive&amp;gt;::load_override&amp;lt;const A&amp;gt;' requested here
+ this-&amp;gt;This()-&amp;gt;load_override(t);
+ ^
+test_const_load_fail1.cpp:22:8: note: in instantiation of function template specialization 'boost::archive::detail::interface_iarchive&amp;lt;boost::archive::text_iarchive&amp;gt;::operator&amp;gt;&amp;gt;&amp;lt;const A&amp;gt;' requested here
+ ia &amp;gt;&amp;gt; a;
+ ^
+../../../boost/static_assert.hpp:79:26: note: template is declared here
+template &amp;lt;bool x&amp;gt; struct STATIC_ASSERTION_FAILURE;
+ ^
+1 error generated.
+(failed-as-expected) ../../../bin.v2/libs/serialization/test/test_const_load_fail1.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_const_load_fail1.o
+</pre>
+<h2><a name="bin.v2/libs/serialization/test/test_smart_cast.test/clang-darwin-03/debug/threading-multi/visibility-hidden">bin.v2/libs/serialization/test/test_smart_cast.test/clang-darwin-03/debug/threading-multi/visibility-hidden</a></h2>
+<h3>Compiler output:</h3><pre>
+test_smart_cast.cpp:20:10: warning: private field 'a' is not used [-Wunused-private-field]
+ char a;
+ ^
+test_smart_cast.cpp:25:9: warning: private field 'b' is not used [-Wunused-private-field]
+ int b;
+ ^
+test_smart_cast.cpp:35:10: warning: private field 'c' is not used [-Wunused-private-field]
+ long c;
+ ^
+test_smart_cast.cpp:122:10: warning: private field 'a' is not used [-Wunused-private-field]
+ char a;
+ ^
+test_smart_cast.cpp:129:9: warning: private field 'b' is not used [-Wunused-private-field]
+ int b;
+ ^
+test_smart_cast.cpp:141:10: warning: private field 'c' is not used [-Wunused-private-field]
+ long c;
+ ^
+6 warnings generated.
+</pre>
+<h2><a name="bin.v2/libs/serialization/test/test_const_load_fail2_nvp.test/clang-darwin-03/debug/threading-multi/visibility-hidden">bin.v2/libs/serialization/test/test_const_load_fail2_nvp.test/clang-darwin-03/debug/threading-multi/visibility-hidden</a></h2>
+<h3>Compiler output:</h3><pre>
+In file included from test_const_load_fail2_nvp.cpp:11:
+In file included from ../../../boost/archive/text_iarchive.hpp:24:
+In file included from ../../../boost/archive/basic_text_iarchive.hpp:30:
+In file included from ../../../boost/archive/detail/common_iarchive.hpp:23:
+In file included from ../../../boost/archive/detail/interface_iarchive.hpp:22:
+In file included from ../../../boost/archive/detail/iserializer.hpp:90:
+../../../boost/archive/detail/check.hpp:162:5: error: implicit instantiation of undefined template 'boost::STATIC_ASSERTION_FAILURE&amp;lt;false&amp;gt;'
+ BOOST_STATIC_ASSERT(typex::value);
+ ^
+../../../boost/static_assert.hpp:154:13: note: expanded from macro 'BOOST_STATIC_ASSERT'
+ sizeof(::boost::STATIC_ASSERTION_FAILURE&amp;lt; BOOST_STATIC_ASSERT_BOOL_CAST( __VA_ARGS__ ) &amp;gt;)&amp;gt;\
+ ^
+../../../boost/archive/detail/iserializer.hpp:609:13: note: in instantiation of function template specialization 'boost::archive::detail::check_const_loading&amp;lt;A *const&amp;gt;' requested here
+ detail::check_const_loading&amp;lt; T &amp;gt;();
+ ^
+../../../boost/archive/detail/common_iarchive.hpp:67:18: note: in instantiation of function template specialization 'boost::archive::load&amp;lt;boost::archive::text_iarchive, A *const&amp;gt;' requested here
+ archive::load(* this-&amp;gt;This(), t);
+ ^
+../../../boost/archive/basic_text_iarchive.hpp:70:39: note: in instantiation of function template specialization 'boost::archive::detail::common_iarchive&amp;lt;boost::archive::text_iarchive&amp;gt;::load_override&amp;lt;A *const&amp;gt;' requested here
+ this-&amp;gt;detail_common_iarchive::load_override(t);
+ ^
+../../../boost/archive/text_iarchive.hpp:82:39: note: in instantiation of function template specialization 'boost::archive::basic_text_iarchive&amp;lt;boost::archive::text_iarchive&amp;gt;::load_override&amp;lt;A *const&amp;gt;' requested here
+ basic_text_iarchive&amp;lt;Archive&amp;gt;::load_override(t);
+ ^
+../../../boost/archive/detail/interface_iarchive.hpp:68:23: note: in instantiation of function template specialization 'boost::archive::text_iarchive_impl&amp;lt;boost::archive::text_iarchive&amp;gt;::load_override&amp;lt;A *const&amp;gt;' requested here
+ this-&amp;gt;This()-&amp;gt;load_override(t);
+ ^
+../../../boost/serialization/nvp.hpp:56:8: note: (skipping 8 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all)
+ ar &amp;gt;&amp;gt; t.value();
+ ^
+../../../boost/archive/detail/common_iarchive.hpp:67:18: note: in instantiation of function template specialization 'boost::archive::load&amp;lt;boost::archive::text_iarchive, const boost::serialization::nvp&amp;lt;A *const&amp;gt; &amp;gt;' requested here
+ archive::load(* this-&amp;gt;This(), t);
+ ^
+../../../boost/archive/basic_text_iarchive.hpp:70:39: note: in instantiation of function template specialization 'boost::archive::detail::common_iarchive&amp;lt;boost::archive::text_iarchive&amp;gt;::load_override&amp;lt;const boost::serialization::nvp&amp;lt;A *const&amp;gt; &amp;gt;' requested here
+ this-&amp;gt;detail_common_iarchive::load_override(t);
+ ^
+../../../boost/archive/text_iarchive.hpp:82:39: note: in instantiation of function template specialization 'boost::archive::basic_text_iarchive&amp;lt;boost::archive::text_iarchive&amp;gt;::load_override&amp;lt;const boost::serialization::nvp&amp;lt;A *const&amp;gt; &amp;gt;' requested here
+ basic_text_iarchive&amp;lt;Archive&amp;gt;::load_override(t);
+ ^
+../../../boost/archive/detail/interface_iarchive.hpp:68:23: note: in instantiation of function template specialization 'boost::archive::text_iarchive_impl&amp;lt;boost::archive::text_iarchive&amp;gt;::load_override&amp;lt;const boost::serialization::nvp&amp;lt;A *const&amp;gt; &amp;gt;' requested here
+ this-&amp;gt;This()-&amp;gt;load_override(t);
+ ^
+test_const_load_fail2_nvp.cpp:23:8: note: in instantiation of function template specialization 'boost::archive::detail::interface_iarchive&amp;lt;boost::archive::text_iarchive&amp;gt;::operator&amp;gt;&amp;gt;&amp;lt;const boost::serialization::nvp&amp;lt;A *const&amp;gt; &amp;gt;' requested here
+ ia &amp;gt;&amp;gt; BOOST_SERIALIZATION_NVP(a);
+ ^
+../../../boost/static_assert.hpp:79:26: note: template is declared here
+template &amp;lt;bool x&amp;gt; struct STATIC_ASSERTION_FAILURE;
+ ^
+In file included from test_const_load_fail2_nvp.cpp:11:
+In file included from ../../../boost/archive/text_iarchive.hpp:24:
+In file included from ../../../boost/archive/basic_text_iarchive.hpp:30:
+In file included from ../../../boost/archive/detail/common_iarchive.hpp:23:
+In file included from ../../../boost/archive/detail/interface_iarchive.hpp:22:
+../../../boost/archive/detail/iserializer.hpp:552:15: error: cannot assign to variable 't' with const-qualified type 'A *const &amp;amp;'
+ t = pointer_tweak(newbpis_ptr-&amp;gt;get_eti(), t, *t);
+ ~ ^
+../../../boost/archive/detail/iserializer.hpp:624:12: note: in instantiation of function template specialization 'boost::archive::detail::load_pointer_type&amp;lt;boost::archive::text_iarchive&amp;gt;::invoke&amp;lt;A *const&amp;gt;' requested here
+ typex::invoke(ar, t);
+ ^
+../../../boost/archive/detail/common_iarchive.hpp:67:18: note: in instantiation of function template specialization 'boost::archive::load&amp;lt;boost::archive::text_iarchive, A *const&amp;gt;' requested here
+ archive::load(* this-&amp;gt;This(), t);
+ ^
+../../../boost/archive/basic_text_iarchive.hpp:70:39: note: in instantiation of function template specialization 'boost::archive::detail::common_iarchive&amp;lt;boost::archive::text_iarchive&amp;gt;::load_override&amp;lt;A *const&amp;gt;' requested here
+ this-&amp;gt;detail_common_iarchive::load_override(t);
+ ^
+../../../boost/archive/text_iarchive.hpp:82:39: note: in instantiation of function template specialization 'boost::archive::basic_text_iarchive&amp;lt;boost::archive::text_iarchive&amp;gt;::load_override&amp;lt;A *const&amp;gt;' requested here
+ basic_text_iarchive&amp;lt;Archive&amp;gt;::load_override(t);
+ ^
+../../../boost/archive/detail/interface_iarchive.hpp:68:23: note: in instantiation of function template specialization 'boost::archive::text_iarchive_impl&amp;lt;boost::archive::text_iarchive&amp;gt;::load_override&amp;lt;A *const&amp;gt;' requested here
+ this-&amp;gt;This()-&amp;gt;load_override(t);
+ ^
+../../../boost/serialization/nvp.hpp:56:8: note: (skipping 8 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all)
+ ar &amp;gt;&amp;gt; t.value();
+ ^
+../../../boost/archive/detail/common_iarchive.hpp:67:18: note: in instantiation of function template specialization 'boost::archive::load&amp;lt;boost::archive::text_iarchive, const boost::serialization::nvp&amp;lt;A *const&amp;gt; &amp;gt;' requested here
+ archive::load(* this-&amp;gt;This(), t);
+ ^
+../../../boost/archive/basic_text_iarchive.hpp:70:39: note: in instantiation of function template specialization 'boost::archive::detail::common_iarchive&amp;lt;boost::archive::text_iarchive&amp;gt;::load_override&amp;lt;const boost::serialization::nvp&amp;lt;A *const&amp;gt; &amp;gt;' requested here
+ this-&amp;gt;detail_common_iarchive::load_override(t);
+ ^
+../../../boost/archive/text_iarchive.hpp:82:39: note: in instantiation of function template specialization 'boost::archive::basic_text_iarchive&amp;lt;boost::archive::text_iarchive&amp;gt;::load_override&amp;lt;const boost::serialization::nvp&amp;lt;A *const&amp;gt; &amp;gt;' requested here
+ basic_text_iarchive&amp;lt;Archive&amp;gt;::load_override(t);
+ ^
+../../../boost/archive/detail/interface_iarchive.hpp:68:23: note: in instantiation of function template specialization 'boost::archive::text_iarchive_impl&amp;lt;boost::archive::text_iarchive&amp;gt;::load_override&amp;lt;const boost::serialization::nvp&amp;lt;A *const&amp;gt; &amp;gt;' requested here
+ this-&amp;gt;This()-&amp;gt;load_override(t);
+ ^
+test_const_load_fail2_nvp.cpp:23:8: note: in instantiation of function template specialization 'boost::archive::detail::interface_iarchive&amp;lt;boost::archive::text_iarchive&amp;gt;::operator&amp;gt;&amp;gt;&amp;lt;const boost::serialization::nvp&amp;lt;A *const&amp;gt; &amp;gt;' requested here
+ ia &amp;gt;&amp;gt; BOOST_SERIALIZATION_NVP(a);
+ ^
+../../../boost/archive/detail/iserializer.hpp:538:45: note: variable 't' declared const here
+ static void invoke(Archive &amp;amp; ar, Tptr &amp;amp; t){
+ ~~~~~~~^
+2 errors generated.
+(failed-as-expected) ../../../bin.v2/libs/serialization/test/test_const_load_fail2_nvp.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_const_load_fail2_nvp.o
+</pre>
+<h2><a name="bin.v2/libs/serialization/test/test_const_load_fail3_nvp.test/clang-darwin-03/debug/threading-multi/visibility-hidden">bin.v2/libs/serialization/test/test_const_load_fail3_nvp.test/clang-darwin-03/debug/threading-multi/visibility-hidden</a></h2>
+<h3>Compiler output:</h3><pre>
+In file included from test_const_load_fail3_nvp.cpp:11:
+In file included from ../../../boost/archive/text_iarchive.hpp:24:
+In file included from ../../../boost/archive/basic_text_iarchive.hpp:30:
+In file included from ../../../boost/archive/detail/common_iarchive.hpp:23:
+In file included from ../../../boost/archive/detail/interface_iarchive.hpp:22:
+In file included from ../../../boost/archive/detail/iserializer.hpp:90:
+../../../boost/archive/detail/check.hpp:162:5: error: implicit instantiation of undefined template 'boost::STATIC_ASSERTION_FAILURE&amp;lt;false&amp;gt;'
+ BOOST_STATIC_ASSERT(typex::value);
+ ^
+../../../boost/static_assert.hpp:154:13: note: expanded from macro 'BOOST_STATIC_ASSERT'
+ sizeof(::boost::STATIC_ASSERTION_FAILURE&amp;lt; BOOST_STATIC_ASSERT_BOOL_CAST( __VA_ARGS__ ) &amp;gt;)&amp;gt;\
+ ^
+../../../boost/archive/detail/iserializer.hpp:609:13: note: in instantiation of function template specialization 'boost::archive::detail::check_const_loading&amp;lt;const A *const&amp;gt;' requested here
+ detail::check_const_loading&amp;lt; T &amp;gt;();
+ ^
+../../../boost/archive/detail/common_iarchive.hpp:67:18: note: in instantiation of function template specialization 'boost::archive::load&amp;lt;boost::archive::text_iarchive, const A *const&amp;gt;' requested here
+ archive::load(* this-&amp;gt;This(), t);
+ ^
+../../../boost/archive/basic_text_iarchive.hpp:70:39: note: in instantiation of function template specialization 'boost::archive::detail::common_iarchive&amp;lt;boost::archive::text_iarchive&amp;gt;::load_override&amp;lt;const A *const&amp;gt;' requested here
+ this-&amp;gt;detail_common_iarchive::load_override(t);
+ ^
+../../../boost/archive/text_iarchive.hpp:82:39: note: in instantiation of function template specialization 'boost::archive::basic_text_iarchive&amp;lt;boost::archive::text_iarchive&amp;gt;::load_override&amp;lt;const A *const&amp;gt;' requested here
+ basic_text_iarchive&amp;lt;Archive&amp;gt;::load_override(t);
+ ^
+../../../boost/archive/detail/interface_iarchive.hpp:68:23: note: in instantiation of function template specialization 'boost::archive::text_iarchive_impl&amp;lt;boost::archive::text_iarchive&amp;gt;::load_override&amp;lt;const A *const&amp;gt;' requested here
+ this-&amp;gt;This()-&amp;gt;load_override(t);
+ ^
+../../../boost/serialization/nvp.hpp:56:8: note: (skipping 8 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all)
+ ar &amp;gt;&amp;gt; t.value();
+ ^
+../../../boost/archive/detail/common_iarchive.hpp:67:18: note: in instantiation of function template specialization 'boost::archive::load&amp;lt;boost::archive::text_iarchive, const boost::serialization::nvp&amp;lt;const A *const&amp;gt; &amp;gt;' requested here
+ archive::load(* this-&amp;gt;This(), t);
+ ^
+../../../boost/archive/basic_text_iarchive.hpp:70:39: note: in instantiation of function template specialization 'boost::archive::detail::common_iarchive&amp;lt;boost::archive::text_iarchive&amp;gt;::load_override&amp;lt;const boost::serialization::nvp&amp;lt;const A *const&amp;gt; &amp;gt;' requested here
+ this-&amp;gt;detail_common_iarchive::load_override(t);
+ ^
+../../../boost/archive/text_iarchive.hpp:82:39: note: in instantiation of function template specialization 'boost::archive::basic_text_iarchive&amp;lt;boost::archive::text_iarchive&amp;gt;::load_override&amp;lt;const boost::serialization::nvp&amp;lt;const A *const&amp;gt; &amp;gt;' requested here
+ basic_text_iarchive&amp;lt;Archive&amp;gt;::load_override(t);
+ ^
+../../../boost/archive/detail/interface_iarchive.hpp:68:23: note: in instantiation of function template specialization 'boost::archive::text_iarchive_impl&amp;lt;boost::archive::text_iarchive&amp;gt;::load_override&amp;lt;const boost::serialization::nvp&amp;lt;const A *const&amp;gt; &amp;gt;' requested here
+ this-&amp;gt;This()-&amp;gt;load_override(t);
+ ^
+test_const_load_fail3_nvp.cpp:23:8: note: in instantiation of function template specialization 'boost::archive::detail::interface_iarchive&amp;lt;boost::archive::text_iarchive&amp;gt;::operator&amp;gt;&amp;gt;&amp;lt;const boost::serialization::nvp&amp;lt;const A *const&amp;gt; &amp;gt;' requested here
+ ia &amp;gt;&amp;gt; BOOST_SERIALIZATION_NVP(a);
+ ^
+../../../boost/static_assert.hpp:79:26: note: template is declared here
+template &amp;lt;bool x&amp;gt; struct STATIC_ASSERTION_FAILURE;
+ ^
+In file included from test_const_load_fail3_nvp.cpp:11:
+In file included from ../../../boost/archive/text_iarchive.hpp:24:
+In file included from ../../../boost/archive/basic_text_iarchive.hpp:30:
+In file included from ../../../boost/archive/detail/common_iarchive.hpp:23:
+In file included from ../../../boost/archive/detail/interface_iarchive.hpp:22:
+../../../boost/archive/detail/iserializer.hpp:552:15: error: cannot assign to variable 't' with const-qualified type 'const A *const &amp;amp;'
+ t = pointer_tweak(newbpis_ptr-&amp;gt;get_eti(), t, *t);
+ ~ ^
+../../../boost/archive/detail/iserializer.hpp:624:12: note: in instantiation of function template specialization 'boost::archive::detail::load_pointer_type&amp;lt;boost::archive::text_iarchive&amp;gt;::invoke&amp;lt;const A *const&amp;gt;' requested here
+ typex::invoke(ar, t);
+ ^
+../../../boost/archive/detail/common_iarchive.hpp:67:18: note: in instantiation of function template specialization 'boost::archive::load&amp;lt;boost::archive::text_iarchive, const A *const&amp;gt;' requested here
+ archive::load(* this-&amp;gt;This(), t);
+ ^
+../../../boost/archive/basic_text_iarchive.hpp:70:39: note: in instantiation of function template specialization 'boost::archive::detail::common_iarchive&amp;lt;boost::archive::text_iarchive&amp;gt;::load_override&amp;lt;const A *const&amp;gt;' requested here
+ this-&amp;gt;detail_common_iarchive::load_override(t);
+ ^
+../../../boost/archive/text_iarchive.hpp:82:39: note: in instantiation of function template specialization 'boost::archive::basic_text_iarchive&amp;lt;boost::archive::text_iarchive&amp;gt;::load_override&amp;lt;const A *const&amp;gt;' requested here
+ basic_text_iarchive&amp;lt;Archive&amp;gt;::load_override(t);
+ ^
+../../../boost/archive/detail/interface_iarchive.hpp:68:23: note: in instantiation of function template specialization 'boost::archive::text_iarchive_impl&amp;lt;boost::archive::text_iarchive&amp;gt;::load_override&amp;lt;const A *const&amp;gt;' requested here
+ this-&amp;gt;This()-&amp;gt;load_override(t);
+ ^
+../../../boost/serialization/nvp.hpp:56:8: note: (skipping 8 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all)
+ ar &amp;gt;&amp;gt; t.value();
+ ^
+../../../boost/archive/detail/common_iarchive.hpp:67:18: note: in instantiation of function template specialization 'boost::archive::load&amp;lt;boost::archive::text_iarchive, const boost::serialization::nvp&amp;lt;const A *const&amp;gt; &amp;gt;' requested here
+ archive::load(* this-&amp;gt;This(), t);
+ ^
+../../../boost/archive/basic_text_iarchive.hpp:70:39: note: in instantiation of function template specialization 'boost::archive::detail::common_iarchive&amp;lt;boost::archive::text_iarchive&amp;gt;::load_override&amp;lt;const boost::serialization::nvp&amp;lt;const A *const&amp;gt; &amp;gt;' requested here
+ this-&amp;gt;detail_common_iarchive::load_override(t);
+ ^
+../../../boost/archive/text_iarchive.hpp:82:39: note: in instantiation of function template specialization 'boost::archive::basic_text_iarchive&amp;lt;boost::archive::text_iarchive&amp;gt;::load_override&amp;lt;const boost::serialization::nvp&amp;lt;const A *const&amp;gt; &amp;gt;' requested here
+ basic_text_iarchive&amp;lt;Archive&amp;gt;::load_override(t);
+ ^
+../../../boost/archive/detail/interface_iarchive.hpp:68:23: note: in instantiation of function template specialization 'boost::archive::text_iarchive_impl&amp;lt;boost::archive::text_iarchive&amp;gt;::load_override&amp;lt;const boost::serialization::nvp&amp;lt;const A *const&amp;gt; &amp;gt;' requested here
+ this-&amp;gt;This()-&amp;gt;load_override(t);
+ ^
+test_const_load_fail3_nvp.cpp:23:8: note: in instantiation of function template specialization 'boost::archive::detail::interface_iarchive&amp;lt;boost::archive::text_iarchive&amp;gt;::operator&amp;gt;&amp;gt;&amp;lt;const boost::serialization::nvp&amp;lt;const A *const&amp;gt; &amp;gt;' requested here
+ ia &amp;gt;&amp;gt; BOOST_SERIALIZATION_NVP(a);
+ ^
+../../../boost/archive/detail/iserializer.hpp:538:45: note: variable 't' declared const here
+ static void invoke(Archive &amp;amp; ar, Tptr &amp;amp; t){
+ ~~~~~~~^
+2 errors generated.
+(failed-as-expected) ../../../bin.v2/libs/serialization/test/test_const_load_fail3_nvp.test/clang-darwin-03/debug/threading-multi/visibility-hidden/test_const_load_fail3_nvp.o
+</pre>
+<h2><a name="bin.v2/libs/serialization/test/test_dll_exported_polymorphic_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden">bin.v2/libs/serialization/test/test_dll_exported_polymorphic_text_warchive.test/clang-darwin-03/debug/threading-multi/visibility-hidden</a></h2>
+<h3>Compiler output:</h3><pre>
+In file included from test_dll_exported.cpp:51:
+./polymorphic_base.hpp:29:13: warning: polymorphic_base imported [-W#pragma-messages]
+ #pragma message (&quot;polymorphic_base imported&quot;)
+ ^
+In file included from test_dll_exported.cpp:56:
+./polymorphic_derived2.hpp:29:13: warning: polymorphic_derived2 imported [-W#pragma-messages]
+ #pragma message (&quot;polymorphic_derived2 imported&quot;)
+ ^
+2 warnings generated.
+</pre>
+<h2><a name="bin.v2/libs/serialization/test/test_void_cast.test/clang-darwin-03/debug/threading-multi/visibility-hidden">bin.v2/libs/serialization/test/test_void_cast.test/clang-darwin-03/debug/threading-multi/visibility-hidden</a></h2>
+<h3>Compiler output:</h3><pre>
+test_void_cast.cpp:18:10: warning: private field 'a' is not used [-Wunused-private-field]
+ char a;
+ ^
+test_void_cast.cpp:23:9: warning: private field 'b' is not used [-Wunused-private-field]
+ int b;
+ ^
+test_void_cast.cpp:28:10: warning: private field 'c' is not used [-Wunused-private-field]
+ long c;
+ ^
+test_void_cast.cpp:33:10: warning: private field 'd' is not used [-Wunused-private-field]
+ char d[32];
+ ^
+4 warnings generated.
+</pre>
+</body>
+</html>
diff --git a/src/boost/libs/serialization/test/multi_shared1.cpp b/src/boost/libs/serialization/test/multi_shared1.cpp
new file mode 100644
index 000000000..ddb6174e6
--- /dev/null
+++ b/src/boost/libs/serialization/test/multi_shared1.cpp
@@ -0,0 +1,23 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_multi_shared_lib.cpp: test that implementation of extented_type_info
+// works when using multiple shared libraries
+
+// (C) Copyright 2018 Alexander Grund
+// Use, modification and distribution is 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)
+
+#include <boost/archive/text_oarchive.hpp>
+#include <iostream>
+
+struct X1{
+ template<class Archive>
+ void serialize(Archive &, const unsigned int){}
+};
+
+BOOST_CLASS_IMPLEMENTATION(X1, boost::serialization::object_class_info)
+
+BOOST_SYMBOL_EXPORT bool f(){
+ boost::archive::text_oarchive(std::cout) & X1();
+ return true;
+}
diff --git a/src/boost/libs/serialization/test/multi_shared2.cpp b/src/boost/libs/serialization/test/multi_shared2.cpp
new file mode 100644
index 000000000..12e0a87fb
--- /dev/null
+++ b/src/boost/libs/serialization/test/multi_shared2.cpp
@@ -0,0 +1,22 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// multi_shared2.cpp: library simply using extended_type_info_typeid
+
+// (C) Copyright 2018 Alexander Grund
+// Use, modification and distribution is 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)
+
+#include <boost/archive/text_oarchive.hpp>
+#include <iostream>
+
+struct X2{
+ template<class Archive>
+ void serialize(Archive &, const unsigned int){}
+};
+
+BOOST_CLASS_IMPLEMENTATION(X2, boost::serialization::object_class_info)
+
+BOOST_SYMBOL_EXPORT bool g(){
+ boost::archive::text_oarchive(std::cout) & X2();
+ return true;
+}
diff --git a/src/boost/libs/serialization/test/polymorphic_array_binary_archive.hpp b/src/boost/libs/serialization/test/polymorphic_array_binary_archive.hpp
new file mode 100644
index 000000000..fbfae292c
--- /dev/null
+++ b/src/boost/libs/serialization/test/polymorphic_array_binary_archive.hpp
@@ -0,0 +1,13 @@
+// (C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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 for updates, documentation, and revision history.
+#include <boost/archive/polymorphic_binary_oarchive.hpp>
+typedef boost::archive::polymorphic_binary_oarchive test_oarchive;
+typedef std::ofstream test_ostream;
+#include <boost/archive/polymorphic_binary_iarchive.hpp>
+typedef boost::archive::polymorphic_binary_iarchive test_iarchive;
+typedef std::ifstream test_istream;
+#define TEST_STREAM_FLAGS std::ios::binary
diff --git a/src/boost/libs/serialization/test/polymorphic_base.cpp b/src/boost/libs/serialization/test/polymorphic_base.cpp
new file mode 100644
index 000000000..a3e50cda0
--- /dev/null
+++ b/src/boost/libs/serialization/test/polymorphic_base.cpp
@@ -0,0 +1,38 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// polymorphic_base.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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 for updates, documentation, and revision history.
+
+#include <boost/serialization/export.hpp>
+
+#include "polymorphic_base.hpp"
+
+template<class Archive>
+POLYMORPHIC_BASE_DLL_DECL void polymorphic_base::serialize(
+ Archive &ar,
+ const unsigned int /* file_version */
+){}
+
+POLYMORPHIC_BASE_DLL_DECL
+polymorphic_base::polymorphic_base(){}
+POLYMORPHIC_BASE_DLL_DECL
+polymorphic_base::~polymorphic_base(){}
+
+#include <boost/archive/polymorphic_oarchive.hpp>
+#include <boost/archive/polymorphic_iarchive.hpp>
+
+template
+POLYMORPHIC_BASE_DLL_DECL void polymorphic_base::serialize(
+ boost::archive::polymorphic_oarchive &,
+ const unsigned int /* file_version */
+);
+template POLYMORPHIC_BASE_DLL_DECL void polymorphic_base::serialize(
+ boost::archive::polymorphic_iarchive &,
+ const unsigned int
+);
+BOOST_CLASS_EXPORT_IMPLEMENT(polymorphic_base)
diff --git a/src/boost/libs/serialization/test/polymorphic_base.hpp b/src/boost/libs/serialization/test/polymorphic_base.hpp
new file mode 100644
index 000000000..f2f3a2fd4
--- /dev/null
+++ b/src/boost/libs/serialization/test/polymorphic_base.hpp
@@ -0,0 +1,66 @@
+#ifndef POLYMORPHIC_BASE_HPP
+#define POLYMORPHIC_BASE_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// polymorphic_base.hpp simple class test
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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 for updates, documentation, and revision history.
+
+#include <boost/config.hpp>
+
+#include <boost/serialization/access.hpp>
+#include <boost/serialization/assume_abstract.hpp>
+#include <boost/serialization/export.hpp>
+#include <boost/serialization/type_info_implementation.hpp>
+#include <boost/serialization/extended_type_info_no_rtti.hpp>
+
+#if defined(POLYMORPHIC_BASE_IMPORT)
+ #define POLYMORPHIC_BASE_DLL_DECL BOOST_SYMBOL_IMPORT
+ #pragma message ("polymorphic_base imported")
+#elif defined(POLYMORPHIC_BASE_EXPORT)
+ #define POLYMORPHIC_BASE_DLL_DECL BOOST_SYMBOL_EXPORT
+ #pragma message ("polymorphic_base exported")
+#endif
+
+#ifndef POLYMORPHIC_BASE_DLL_DECL
+ #define POLYMORPHIC_BASE_DLL_DECL
+#endif
+
+class BOOST_SYMBOL_VISIBLE polymorphic_base
+{
+ friend class boost::serialization::access;
+ template<class Archive>
+ POLYMORPHIC_BASE_DLL_DECL void serialize(
+ Archive & /* ar */,
+ const unsigned int /* file_version */
+ );
+public:
+ // note that since this class uses the "no_rtti"
+ // extended_type_info implementation, it MUST
+ // implement this function
+ virtual const char * get_key() const = 0;
+ POLYMORPHIC_BASE_DLL_DECL polymorphic_base();
+ POLYMORPHIC_BASE_DLL_DECL virtual ~polymorphic_base();
+};
+
+BOOST_SERIALIZATION_ASSUME_ABSTRACT(polymorphic_base)
+
+// the no_rtti system requires this !!!
+BOOST_CLASS_EXPORT_KEY(polymorphic_base)
+
+BOOST_CLASS_TYPE_INFO(
+ polymorphic_base,
+ extended_type_info_no_rtti<polymorphic_base>
+)
+
+#endif // POLYMORPHIC_BASE_HPP
diff --git a/src/boost/libs/serialization/test/polymorphic_binary_archive.hpp b/src/boost/libs/serialization/test/polymorphic_binary_archive.hpp
new file mode 100644
index 000000000..fbfae292c
--- /dev/null
+++ b/src/boost/libs/serialization/test/polymorphic_binary_archive.hpp
@@ -0,0 +1,13 @@
+// (C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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 for updates, documentation, and revision history.
+#include <boost/archive/polymorphic_binary_oarchive.hpp>
+typedef boost::archive::polymorphic_binary_oarchive test_oarchive;
+typedef std::ofstream test_ostream;
+#include <boost/archive/polymorphic_binary_iarchive.hpp>
+typedef boost::archive::polymorphic_binary_iarchive test_iarchive;
+typedef std::ifstream test_istream;
+#define TEST_STREAM_FLAGS std::ios::binary
diff --git a/src/boost/libs/serialization/test/polymorphic_derived1.cpp b/src/boost/libs/serialization/test/polymorphic_derived1.cpp
new file mode 100644
index 000000000..a3565f6c4
--- /dev/null
+++ b/src/boost/libs/serialization/test/polymorphic_derived1.cpp
@@ -0,0 +1,37 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// polymorphic_derived1.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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 for updates, documentation, and revision history.
+
+#include <boost/serialization/type_info_implementation.hpp>
+#include <boost/serialization/export.hpp>
+
+#include "polymorphic_derived1.hpp"
+
+const char * polymorphic_derived1::get_key() const {
+ return
+ boost::serialization::type_info_implementation<
+ polymorphic_derived1
+ >::type::get_const_instance().get_key();
+}
+
+#include <boost/archive/polymorphic_oarchive.hpp>
+#include <boost/archive/polymorphic_iarchive.hpp>
+
+template
+void polymorphic_derived1::serialize(
+ boost::archive::polymorphic_oarchive &,
+ const unsigned int /* file_version */
+);
+template
+void polymorphic_derived1::serialize(
+ boost::archive::polymorphic_iarchive &,
+ const unsigned int
+);
+
+BOOST_CLASS_EXPORT_IMPLEMENT(polymorphic_derived1)
diff --git a/src/boost/libs/serialization/test/polymorphic_derived1.hpp b/src/boost/libs/serialization/test/polymorphic_derived1.hpp
new file mode 100644
index 000000000..57a7c808b
--- /dev/null
+++ b/src/boost/libs/serialization/test/polymorphic_derived1.hpp
@@ -0,0 +1,45 @@
+#ifndef POLYMORPHIC_DERIVED1_HPP
+#define POLYMORPHIC_DERIVED1_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// polymorphic_derived1.hpp simple class test
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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 for updates, documentation, and revision history.
+
+#include <boost/serialization/access.hpp>
+#include <boost/serialization/nvp.hpp>
+#include <boost/serialization/base_object.hpp>
+#include <boost/serialization/type_info_implementation.hpp>
+#include <boost/serialization/extended_type_info_no_rtti.hpp>
+
+#include "polymorphic_base.hpp"
+
+class polymorphic_derived1 : public polymorphic_base
+{
+ friend class boost::serialization::access;
+ template<class Archive>
+ void serialize(Archive &ar, const unsigned int /* file_version */){
+ ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(polymorphic_base);
+ }
+public:
+ virtual const char * get_key() const ;
+};
+
+BOOST_CLASS_EXPORT_KEY(polymorphic_derived1)
+
+BOOST_CLASS_TYPE_INFO(
+ polymorphic_derived1,
+ extended_type_info_no_rtti<polymorphic_derived1>
+)
+
+#endif // POLYMORPHIC_DERIVED1_HPP
diff --git a/src/boost/libs/serialization/test/polymorphic_derived2.cpp b/src/boost/libs/serialization/test/polymorphic_derived2.cpp
new file mode 100644
index 000000000..1c710d429
--- /dev/null
+++ b/src/boost/libs/serialization/test/polymorphic_derived2.cpp
@@ -0,0 +1,52 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// polymorphic_derived2.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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 for updates, documentation, and revision history.
+
+#include <boost/serialization/type_info_implementation.hpp>
+#include <boost/serialization/extended_type_info_no_rtti.hpp>
+#include <boost/serialization/export.hpp>
+
+#include "polymorphic_base.hpp"
+#include "polymorphic_derived2.hpp"
+
+template<class Archive>
+POLYMORPHIC_DERIVED2_DLL_DECL void polymorphic_derived2::serialize(
+ Archive &ar,
+ const unsigned int /* file_version */
+){
+ ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(polymorphic_base);
+}
+
+const char * polymorphic_derived2::get_key() const {
+ return "polymorphic_derived2";
+}
+POLYMORPHIC_DERIVED2_DLL_DECL
+polymorphic_derived2::polymorphic_derived2(){}
+POLYMORPHIC_DERIVED2_DLL_DECL
+polymorphic_derived2::~polymorphic_derived2(){}
+
+#include <boost/archive/polymorphic_oarchive.hpp>
+#include <boost/archive/polymorphic_iarchive.hpp>
+
+template
+POLYMORPHIC_DERIVED2_DLL_DECL void polymorphic_derived2::serialize(
+ boost::archive::polymorphic_oarchive &,
+ const unsigned int /* file_version */
+);
+template
+POLYMORPHIC_DERIVED2_DLL_DECL void polymorphic_derived2::serialize(
+ boost::archive::polymorphic_iarchive &,
+ const unsigned int
+);
+
+// MWerks users can do this to make their code work
+BOOST_SERIALIZATION_MWERKS_BASE_AND_DERIVED(polymorphic_base, polymorphic_derived2)
+
+// note: export has to be AFTER #includes for all archive classes
+BOOST_CLASS_EXPORT_IMPLEMENT(polymorphic_derived2)
diff --git a/src/boost/libs/serialization/test/polymorphic_derived2.hpp b/src/boost/libs/serialization/test/polymorphic_derived2.hpp
new file mode 100644
index 000000000..0527631fe
--- /dev/null
+++ b/src/boost/libs/serialization/test/polymorphic_derived2.hpp
@@ -0,0 +1,71 @@
+#ifndef BOOST_SERIALIZATION_TEST_POLYMORPHIC_DERIVED2_HPP
+#define BOOST_SERIALIZATION_TEST_POLYMORPHIC_DERIVED2_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER)
+# pragma once
+#endif
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// polymorphic_derived2.hpp simple class test
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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 for updates, documentation, and revision history.
+
+#include <boost/config.hpp>
+
+#include <boost/serialization/access.hpp>
+#include <boost/serialization/nvp.hpp>
+#include <boost/serialization/base_object.hpp>
+#include <boost/serialization/type_info_implementation.hpp>
+#include <boost/serialization/extended_type_info_typeid.hpp>
+
+#if defined(POLYMORPHIC_DERIVED2_IMPORT)
+ #define POLYMORPHIC_DERIVED2_DLL_DECL BOOST_SYMBOL_IMPORT
+ #pragma message ("polymorphic_derived2 imported")
+#elif defined(POLYMORPHIC_DERIVED2_EXPORT)
+ #define POLYMORPHIC_DERIVED2_DLL_DECL BOOST_SYMBOL_EXPORT
+ #pragma message ("polymorphic_derived2 exported")
+#endif
+
+#ifndef POLYMORPHIC_DERIVED2_DLL_DECL
+ #define POLYMORPHIC_DERIVED2_DLL_DECL
+#endif
+
+#define POLYMORPHIC_BASE_IMPORT
+#include "polymorphic_base.hpp"
+
+class BOOST_SYMBOL_VISIBLE polymorphic_derived2 :
+ public polymorphic_base
+{
+ friend class boost::serialization::access;
+ template<class Archive>
+ POLYMORPHIC_DERIVED2_DLL_DECL void serialize(
+ Archive &ar,
+ const unsigned int /* file_version */
+ );
+ POLYMORPHIC_DERIVED2_DLL_DECL const char * get_key() const;
+public:
+ POLYMORPHIC_DERIVED2_DLL_DECL polymorphic_derived2();
+ POLYMORPHIC_DERIVED2_DLL_DECL ~polymorphic_derived2();
+};
+
+// we use this because we want to assign a key to this type
+// but we don't want to explicitly instantiate code every time
+// we do so!!!. If we don't do this, we end up with the same
+// code in BOTH the DLL which implements polymorphic_derived2
+// as well as the main program.
+BOOST_CLASS_EXPORT_KEY(polymorphic_derived2)
+
+// note the mixing of type_info systems is supported.
+BOOST_CLASS_TYPE_INFO(
+ polymorphic_derived2,
+ boost::serialization::extended_type_info_typeid<polymorphic_derived2>
+)
+
+#endif // BOOST_SERIALIZATION_TEST_POLYMORPHIC_DERIVED2_HPP
+
diff --git a/src/boost/libs/serialization/test/polymorphic_text_archive.hpp b/src/boost/libs/serialization/test/polymorphic_text_archive.hpp
new file mode 100644
index 000000000..bcda7509b
--- /dev/null
+++ b/src/boost/libs/serialization/test/polymorphic_text_archive.hpp
@@ -0,0 +1,12 @@
+// (C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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 for updates, documentation, and revision history.
+#include <boost/archive/polymorphic_text_oarchive.hpp>
+typedef boost::archive::polymorphic_text_oarchive test_oarchive;
+typedef std::ofstream test_ostream;
+#include <boost/archive/polymorphic_text_iarchive.hpp>
+typedef boost::archive::polymorphic_text_iarchive test_iarchive;
+typedef std::ifstream test_istream;
diff --git a/src/boost/libs/serialization/test/polymorphic_text_warchive.hpp b/src/boost/libs/serialization/test/polymorphic_text_warchive.hpp
new file mode 100644
index 000000000..636ab25ca
--- /dev/null
+++ b/src/boost/libs/serialization/test/polymorphic_text_warchive.hpp
@@ -0,0 +1,17 @@
+// (C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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 for updates, documentation, and revision history.
+#include <boost/config.hpp>
+#ifdef BOOST_NO_STD_WSTREAMBUF
+#error "wide char i/o not supported on this platform"
+#else
+#include <boost/archive/polymorphic_text_woarchive.hpp>
+typedef boost::archive::polymorphic_text_woarchive test_oarchive;
+typedef std::wofstream test_ostream;
+#include <boost/archive/polymorphic_text_wiarchive.hpp>
+typedef boost::archive::polymorphic_text_wiarchive test_iarchive;
+typedef std::wifstream test_istream;
+#endif
diff --git a/src/boost/libs/serialization/test/polymorphic_xml_archive.hpp b/src/boost/libs/serialization/test/polymorphic_xml_archive.hpp
new file mode 100644
index 000000000..fd8adbd31
--- /dev/null
+++ b/src/boost/libs/serialization/test/polymorphic_xml_archive.hpp
@@ -0,0 +1,12 @@
+// (C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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 for updates, documentation, and revision history.
+#include <boost/archive/polymorphic_xml_oarchive.hpp>
+typedef boost::archive::polymorphic_xml_oarchive test_oarchive;
+typedef std::ofstream test_ostream;
+#include <boost/archive/polymorphic_xml_iarchive.hpp>
+typedef boost::archive::polymorphic_xml_iarchive test_iarchive;
+typedef std::ifstream test_istream;
diff --git a/src/boost/libs/serialization/test/polymorphic_xml_warchive.hpp b/src/boost/libs/serialization/test/polymorphic_xml_warchive.hpp
new file mode 100644
index 000000000..15b5f704b
--- /dev/null
+++ b/src/boost/libs/serialization/test/polymorphic_xml_warchive.hpp
@@ -0,0 +1,12 @@
+// (C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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 for updates, documentation, and revision history.
+#include <boost/archive/polymorphic_xml_woarchive.hpp>
+typedef boost::archive::polymorphic_xml_woarchive test_oarchive;
+typedef std::wofstream test_ostream;
+#include <boost/archive/polymorphic_xml_wiarchive.hpp>
+typedef boost::archive::polymorphic_xml_wiarchive test_iarchive;
+typedef std::wifstream test_istream;
diff --git a/src/boost/libs/serialization/test/portable_binary_archive.hpp b/src/boost/libs/serialization/test/portable_binary_archive.hpp
new file mode 100644
index 000000000..768b9588e
--- /dev/null
+++ b/src/boost/libs/serialization/test/portable_binary_archive.hpp
@@ -0,0 +1,31 @@
+// (C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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 for updates, documentation, and revision history.
+// file includes for testing a custom archive.
+// as an example this tests the portable binary archive
+
+#include <fstream>
+
+// #include output archive header
+#include "../example/portable_binary_oarchive.hpp"
+// define output archive class to be used
+typedef portable_binary_oarchive test_oarchive;
+// and corresponding stream
+typedef std::ofstream test_ostream;
+
+// repeat the above for correspondng input archive
+#include "../example/portable_binary_iarchive.hpp"
+typedef portable_binary_iarchive test_iarchive;
+typedef std::ifstream test_istream;
+
+// since this archive class isn't compiled into the
+// boost serialization library, include this here
+// so that things get instantiated
+#include "../example/portable_binary_oarchive.cpp"
+#include "../example/portable_binary_iarchive.cpp"
+
+// and stream open flags
+#define TEST_STREAM_FLAGS std::ios::binary
diff --git a/src/boost/libs/serialization/test/test3.dat b/src/boost/libs/serialization/test/test3.dat
new file mode 100644
index 000000000..9aef73950
--- /dev/null
+++ b/src/boost/libs/serialization/test/test3.dat
@@ -0,0 +1 @@
+ <?xml version="1.0" encoding="UTF-8" standalone="yes" ?> <!DOCTYPE boost_serialization> <boost_serialization signature="serialization::archive" version="3"> <a class_id="0" tracking_level="0"> <b>1</b> <f>96953204</f> <g>177129195</g> <l>1</l> <m>5627</m> <n>23010</n> <o>7419</o> <p>16212</p> <q>4086</q> <r>2749</r> <c>-33</c> <s>124</s> <t>28</t> <u>32225</u> <v>17543</v> <w>0.84431422</w> <x>1.0170664757130923</x> <y>tjbx</y> <z>cuwjentqpkejp</z> </a> </boost_serialization> \ No newline at end of file
diff --git a/src/boost/libs/serialization/test/test__helper.cpp b/src/boost/libs/serialization/test/test__helper.cpp
new file mode 100644
index 000000000..a4404e89a
--- /dev/null
+++ b/src/boost/libs/serialization/test/test__helper.cpp
@@ -0,0 +1,160 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_polymorphic.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// should pass compilation and execution
+
+#include <cstddef> // NULL
+#include <cstdio> // remove
+#include <fstream>
+
+#include <boost/config.hpp>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::remove;
+}
+#endif
+
+// the following is to ensure that when one of the libraries changes
+// BJAM rebuilds and relinks the test.
+/*
+#include "polymorphic_text_archive.hpp"
+#include "polymorphic_text_warchive.hpp"
+#include "polymorphic_binary_archive.hpp"
+#include "polymorphic_xml_archive.hpp"
+#include "polymorphic_xml_warchive.hpp"
+*/
+
+#include <string>
+#include <vector>
+
+#include "test_tools.hpp"
+#include <boost/lexical_cast.hpp>
+#include <boost/serialization/split_free.hpp>
+#include <boost/serialization/vector.hpp>
+#include <boost/serialization/nvp.hpp>
+// this test uses a special string (my_string) whose contents are shared
+// and hence saved in the archive only once. We need a helper in order
+// to convert my_string into a serializable type
+
+class my_string:public std::string
+{
+ typedef std::string super;
+
+public:
+ my_string(){}
+ my_string(const super & str): super(str){}
+ my_string & operator=(const super& rhs) {
+ super::operator=(rhs);
+ return *this;
+ }
+};
+
+struct my_string_helper
+{
+ typedef std::vector<my_string> table;
+ table m_t;
+};
+
+BOOST_SERIALIZATION_SPLIT_FREE(my_string)
+
+namespace boost {
+namespace serialization {
+
+template<class Archive>
+void save(Archive & ar, const my_string & str, const unsigned int /* version */)
+{
+ void (* const idx)(Archive &, const my_string &, const unsigned int) = & save;
+ void * const id = reinterpret_cast<void * const>(idx);
+ my_string_helper & msh = ar.template get_helper<my_string_helper>(id);
+
+ my_string_helper::table t = msh.m_t;
+ my_string_helper::table::iterator it = std::find(t.begin(), t.end(), str);
+ if(it == t.end()){
+ my_string_helper::table::size_type s = t.size();
+ ar << make_nvp("index", s);
+ t.push_back(str);
+ ar << make_nvp("string", static_cast<const std::string &>(str));
+ }
+ else{
+ my_string_helper::table::size_type s = it - t.begin();
+ ar << make_nvp("index", s);
+ }
+}
+
+template<class Archive>
+void load(Archive & ar, my_string & str, const unsigned int /* version */)
+{
+ void (* const idx)(Archive &, my_string &, const unsigned int) = & load;
+ void * const id = reinterpret_cast<void * const>(idx);
+ my_string_helper & msh = ar.template get_helper<my_string_helper>(id);
+
+ my_string_helper::table t = msh.m_t;
+
+ my_string_helper::table::size_type s;
+ ar >> make_nvp("index", s);
+ t.reserve(s);
+ if(s >= t.size()){
+ std::string tmp;
+ ar >> make_nvp("string", tmp);
+ str = tmp;
+ t.push_back(str);
+ }
+ else{
+ str = t[s];
+ }
+}
+
+} // namespace serialization
+} // namespace boost
+#include <boost/archive/polymorphic_oarchive.hpp>
+#include <boost/archive/polymorphic_iarchive.hpp>
+
+int test_main(int /* argc */, char * /* argv */ [])
+{
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ std::vector<my_string> v1;
+ for(int i=0; i<1000; ++i){
+ v1.push_back(my_string(boost::lexical_cast<std::string>(i % 100)));
+ }
+
+ // test using using polymorphic implementation.
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa_implementation(os, TEST_ARCHIVE_FLAGS);
+ oa_implementation << boost::serialization::make_nvp("vector", v1);
+ }
+ {
+ std::vector<my_string> v2;
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia_implementation(is, TEST_ARCHIVE_FLAGS);
+ ia_implementation >> boost::serialization::make_nvp("vector", v2);
+ BOOST_CHECK(v1 == v2);
+ }
+ std::remove(testfile);
+
+ // test using using polymorphic interface.
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa_implementation(os, TEST_ARCHIVE_FLAGS);
+ boost::archive::polymorphic_oarchive & oa_interface = oa_implementation;
+ oa_interface << boost::serialization::make_nvp("vector", v1);
+ }
+ {
+ std::vector<my_string> v2;
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia_implementation(is, TEST_ARCHIVE_FLAGS);
+ boost::archive::polymorphic_iarchive & ia_interface = ia_implementation;
+ ia_interface >> boost::serialization::make_nvp("vector", v2);
+ BOOST_CHECK(v1 == v2);
+ }
+ std::remove(testfile);
+ std::remove(testfile);
+ return EXIT_SUCCESS;
+}
diff --git a/src/boost/libs/serialization/test/test_array.cpp b/src/boost/libs/serialization/test/test_array.cpp
new file mode 100644
index 000000000..b23995fa2
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_array.cpp
@@ -0,0 +1,92 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_array.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// should pass compilation and execution
+
+#include <stdlib.h>
+
+#include <boost/config.hpp>
+#include <cstddef>
+#include <fstream>
+#include <algorithm> // equal
+#include <cstdio> // remove
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::remove;
+}
+#endif
+#include "test_tools.hpp"
+#include <boost/serialization/array.hpp>
+#include <boost/core/no_exceptions_support.hpp>
+#include <boost/archive/archive_exception.hpp>
+
+#include "A.hpp"
+#include "A.ipp"
+
+template <class T>
+int test_std_array(){
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ // test array of objects
+ const std::array<T, 10> a_array = {{T(),T(),T(),T(),T(),T(),T(),T(),T(),T()}};
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << boost::serialization::make_nvp("a_array", a_array);
+ }
+ {
+ std::array<T, 10> a_array1;
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ {
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> boost::serialization::make_nvp("a_array", a_array1);
+ }
+ BOOST_CHECK(std::equal(a_array.begin(), a_array.end(), a_array1.begin()));
+ }
+ {
+ std::array<T, 9> a_array1;
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ {
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ bool exception_invoked = false;
+ BOOST_TRY {
+ ia >> boost::serialization::make_nvp("a_array", a_array1);
+ }
+ BOOST_CATCH (boost::archive::archive_exception const& ae){
+ BOOST_CHECK(
+ boost::archive::archive_exception::array_size_too_short
+ == ae.code
+ );
+ exception_invoked = true;
+ }
+ BOOST_CATCH_END
+ BOOST_CHECK(exception_invoked);
+ }
+ is.close();
+ }
+ std::remove(testfile);
+ return EXIT_SUCCESS;
+}
+
+int test_main( int /* argc */, char* /* argv */[] ){
+ int res;
+
+ // std array
+ res = test_std_array<A>();
+ if (res != EXIT_SUCCESS)
+ return EXIT_FAILURE;
+ // test an int array for which optimized versions should be available
+ res = test_std_array<int>();
+ if (res != EXIT_SUCCESS)
+ return EXIT_FAILURE;
+
+ return EXIT_SUCCESS;
+}
+
+// EOF
diff --git a/src/boost/libs/serialization/test/test_binary.cpp b/src/boost/libs/serialization/test/test_binary.cpp
new file mode 100644
index 000000000..476f9ebd9
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_binary.cpp
@@ -0,0 +1,167 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_simple_class.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// should pass compilation and execution
+
+#include <cstdlib> // for rand(), NULL, size_t
+
+#include <fstream>
+#include <boost/config.hpp>
+
+#include <cstdio> // remove
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::rand;
+ using ::remove;
+}
+#endif
+
+#include "test_tools.hpp"
+
+#include <boost/serialization/nvp.hpp>
+#include <boost/serialization/binary_object.hpp>
+
+class A {
+ friend class boost::serialization::access;
+ char data[150];
+ // note: from an aesthetic perspective, I would much prefer to have this
+ // defined out of line. Unfortunately, this trips a bug in the VC 6.0
+ // compiler. So hold our nose and put it her to permit running of tests.
+ template<class Archive>
+ void serialize(Archive & ar, const unsigned int /* file_version */){
+ ar & boost::serialization::make_nvp(
+ "data",
+ boost::serialization::make_binary_object(data, sizeof(data))
+ );
+ }
+
+public:
+ A();
+ bool operator==(const A & rhs) const;
+};
+
+A::A(){
+ int i = sizeof(data);
+ while(i-- > 0)
+ data[i] = static_cast<char>(0xff & std::rand());
+}
+
+bool A::operator==(const A & rhs) const {
+ int i = sizeof(data);
+ while(i-- > 0)
+ if(data[i] != rhs.data[i])
+ return false;
+ return true;
+}
+
+int test_main( int /* argc */, char* /* argv */[] )
+{
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ const A a;
+ char s1[] = "a";
+ char s2[] = "ab";
+ char s3[] = "abc";
+ char s4[] = "abcd";
+ const int i = 12345;
+
+ A a1;
+ char s1_1[10];
+ char s1_2[10];
+ char s1_3[10];
+ char s1_4[10];
+ int i1 = 34790;
+
+ std::memset(s1_1, '\0', sizeof(s1_1));
+ std::memset(s1_2, '\0', sizeof(s1_2));
+ std::memset(s1_3, '\0', sizeof(s1_3));
+ std::memset(s1_4, '\0', sizeof(s1_4));
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << boost::serialization::make_nvp(
+ "s1",
+ boost::serialization::make_binary_object(
+ s1,
+ sizeof(s1)
+ )
+ );
+ oa << boost::serialization::make_nvp(
+ "s2",
+ boost::serialization::make_binary_object(
+ s2,
+ sizeof(s2)
+ )
+ );
+ oa << boost::serialization::make_nvp(
+ "s3",
+ boost::serialization::make_binary_object(
+ s3,
+ sizeof(s3)
+ )
+ );
+ oa << boost::serialization::make_nvp(
+ "s4",
+ boost::serialization::make_binary_object(
+ s4,
+ sizeof(s4)
+ )
+ );
+ oa << BOOST_SERIALIZATION_NVP(a);
+ // note: add a little bit on the end of the archive to detect
+ // failure of text mode binary.
+ oa << BOOST_SERIALIZATION_NVP(i);
+ }
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> boost::serialization::make_nvp(
+ "s1",
+ boost::serialization::make_binary_object(
+ s1_1,
+ sizeof(s1)
+ )
+ );
+ ia >> boost::serialization::make_nvp(
+ "s2",
+ boost::serialization::make_binary_object(
+ s1_2,
+ sizeof(s2)
+ )
+ );
+ ia >> boost::serialization::make_nvp(
+ "s3",
+ boost::serialization::make_binary_object(
+ s1_3,
+ sizeof(s3)
+ )
+ );
+ ia >> boost::serialization::make_nvp(
+ "s4",
+ boost::serialization::make_binary_object(
+ s1_4,
+ sizeof(s4)
+ )
+ );
+ ia >> BOOST_SERIALIZATION_NVP(a1);
+ // note: add a little bit on the end of the archive to detect
+ // failure of text mode binary.
+ ia >> BOOST_SERIALIZATION_NVP(i1);
+ }
+ BOOST_CHECK(0 == std::strcmp(s1, s1_1));
+ BOOST_CHECK(0 == std::strcmp(s2, s1_2));
+ BOOST_CHECK(0 == std::strcmp(s3, s1_3));
+ BOOST_CHECK(0 == std::strcmp(s4, s1_4));
+ BOOST_CHECK(a == a1);
+ BOOST_CHECK(i == i1);
+ std::remove(testfile);
+ return EXIT_SUCCESS;
+}
+
+// EOF
diff --git a/src/boost/libs/serialization/test/test_bitset.cpp b/src/boost/libs/serialization/test/test_bitset.cpp
new file mode 100644
index 000000000..356c2231f
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_bitset.cpp
@@ -0,0 +1,64 @@
+// (C) Copyright 2009 Brian Ravnsgaard and Kenneth Riddile
+// 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 for most recent version including documentation.
+
+// Test that serialization of std::bitset works.
+// Should pass compilation and execution
+// 16.09.2004, updated 04.03.2009
+
+#include <cstddef> // NULL
+#include <cstdio> // remove
+#include <fstream>
+
+#include <boost/config.hpp>
+
+#if defined( BOOST_NO_STDC_NAMESPACE )
+namespace std
+{
+ using ::remove;
+}
+#endif
+
+#include "test_tools.hpp"
+
+#include <boost/serialization/bitset.hpp>
+#include <boost/serialization/nvp.hpp>
+
+int test_main( int /* argc */, char* /* argv */[] )
+{
+ const char* testfile = boost::archive::tmpnam( NULL );
+ BOOST_REQUIRE( NULL != testfile );
+
+ std::bitset<8> bitsetA;
+ bitsetA.set( 0, false );
+ bitsetA.set( 1, true );
+ bitsetA.set( 2, false );
+ bitsetA.set( 3, true );
+ bitsetA.set( 4, false );
+ bitsetA.set( 5, false );
+ bitsetA.set( 6, true );
+ bitsetA.set( 7, true );
+
+ {
+ test_ostream os( testfile, TEST_STREAM_FLAGS );
+ test_oarchive oa( os );
+ oa << boost::serialization::make_nvp( "bitset", bitsetA );
+ }
+
+ std::bitset<8> bitsetB;
+ {
+ test_istream is( testfile, TEST_STREAM_FLAGS );
+ test_iarchive ia( is );
+ ia >> boost::serialization::make_nvp( "bitset", bitsetB );
+ }
+
+ BOOST_CHECK( bitsetA == bitsetB );
+
+ std::remove( testfile );
+ return EXIT_SUCCESS;
+}
+
+// EOF
diff --git a/src/boost/libs/serialization/test/test_boost_array.cpp b/src/boost/libs/serialization/test/test_boost_array.cpp
new file mode 100644
index 000000000..39ad6583d
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_boost_array.cpp
@@ -0,0 +1,93 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_array.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// should pass compilation and execution
+
+#include <stdlib.h>
+
+#include <boost/config.hpp>
+#include <cstddef>
+#include <fstream>
+#include <algorithm> // equal
+#include <cstdio> // remove
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::remove;
+}
+#endif
+#include "test_tools.hpp"
+#include <boost/core/no_exceptions_support.hpp>
+#include <boost/archive/archive_exception.hpp>
+#include <boost/serialization/boost_array.hpp>
+
+#include "A.hpp"
+#include "A.ipp"
+
+template <class T>
+int test_boost_array(){
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ // test array of objects
+ const boost::array<T,10> a_array = {{T(),T(),T(),T(),T(),T(),T(),T(),T(),T()}};
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << boost::serialization::make_nvp("a_array", a_array);
+ }
+ {
+ boost::array<T,10> a_array1;
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ {
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> boost::serialization::make_nvp("a_array", a_array1);
+ }
+ is.close();
+ BOOST_CHECK(std::equal(a_array.begin(), a_array.end(), a_array1.begin()));
+ }
+ {
+ boost::array<T, 9> a_array1;
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ {
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ bool exception_invoked = false;
+ BOOST_TRY {
+ ia >> boost::serialization::make_nvp("a_array", a_array1);
+ }
+ BOOST_CATCH (boost::archive::archive_exception const& ae){
+ BOOST_CHECK(
+ boost::archive::archive_exception::array_size_too_short
+ == ae.code
+ );
+ exception_invoked = true;
+ }
+ BOOST_CATCH_END
+ BOOST_CHECK(exception_invoked);
+ }
+ is.close();
+ }
+ std::remove(testfile);
+ return EXIT_SUCCESS;
+}
+
+int test_main( int /* argc */, char* /* argv */[] ){
+ int res;
+
+ // boost array
+ res = test_boost_array<A>();
+ if (res != EXIT_SUCCESS)
+ return EXIT_FAILURE;
+ // test an int array for which optimized versions should be available
+ res = test_boost_array<int>();
+ if (res != EXIT_SUCCESS)
+ return EXIT_FAILURE;
+
+ return EXIT_SUCCESS;
+}
+
+// EOF
diff --git a/src/boost/libs/serialization/test/test_check.cpp b/src/boost/libs/serialization/test/test_check.cpp
new file mode 100644
index 000000000..5f1957d23
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_check.cpp
@@ -0,0 +1,145 @@
+// (C) Copyright 2009 Robert Ramey
+// 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 for most recent version including documentation.
+
+// note: this is a compile only test.
+#include <sstream>
+#include <boost/config.hpp> // BOOST_STATIC_CONST
+
+#include <boost/serialization/static_warning.hpp>
+#include <boost/serialization/tracking.hpp>
+#include <boost/serialization/level.hpp>
+#include <boost/serialization/version.hpp>
+#include <boost/serialization/nvp.hpp>
+
+#include <boost/archive/text_iarchive.hpp>
+#include <boost/archive/text_oarchive.hpp>
+
+// track_selectivly with class information in the archive
+// is unsafe when used with a pointer and should trigger a warning
+struct check1 {
+ template<class Archive>
+ void serialize(Archive & ar, const unsigned int version);
+ check1(){}
+};
+
+BOOST_CLASS_IMPLEMENTATION(check1, boost::serialization::object_serializable)
+BOOST_CLASS_TRACKING(check1, boost::serialization::track_selectively)
+
+// the combination of versioning + no class information
+// should trigger a warning
+struct check2 {
+ template<class Archive>
+ void serialize(Archive & ar, const unsigned int version);
+ check2(){}
+};
+
+BOOST_CLASS_IMPLEMENTATION(check2, boost::serialization::object_serializable)
+BOOST_CLASS_VERSION(check2, 1)
+// use track always to turn off warning tested above
+BOOST_CLASS_TRACKING(check2, boost::serialization::track_always)
+
+// serializing a type marked as "track_never" through a pointer
+// is likely an error
+struct check3 {
+ template<class Archive>
+ void serialize(Archive & ar, const unsigned int version);
+ check3(){}
+};
+
+BOOST_CLASS_TRACKING(check3, boost::serialization::track_never)
+
+template<class T>
+int f(){
+ BOOST_STATIC_WARNING(T::value);
+ BOOST_STATIC_ASSERT(T::value);
+ return 0;
+}
+
+/////////////////////////////////////////////////////////////////////////
+// compilation of this program should show a total of 10 warning messages
+int main(int /* argc */, char * /* argv */[]){
+ std::stringstream s;
+ {
+ boost::archive::text_oarchive oa(s);
+
+ check1 const c1_out;
+ oa << c1_out;
+
+ check1 c1_non_const_out;
+ oa << c1_non_const_out; // warn check_object_tracking
+
+ check1 * const c1_ptr_out = 0;
+ oa << c1_ptr_out; // warn check_pointer_level
+
+ check2 const * c2_ptr_out;
+ oa << c2_ptr_out; // error check_object_versioning
+
+ check3 * const c3_ptr_out = 0;
+ oa << c3_ptr_out; // warning check_pointer_tracking
+
+ check2 const c2_out;
+ oa << c2_out; // error check_object_versioning
+ }
+ {
+ boost::archive::text_iarchive ia(s);
+
+ check1 const c1_in;
+ ia >> c1_in; // check_const_loading
+
+ check1 * c1_ptr_in = 0;
+ ia >> c1_ptr_in; // warn check_pointer_level
+
+ check2 * c2_ptr_in;
+ ia >> c2_ptr_in; // error check_object_versioning
+
+ check3 * c3_ptr_in = 0;
+ ia >> c3_ptr_in; // warning check_pointer_tracking
+
+ check2 c2_in;
+ ia >> c2_in; // error check_object_versioning
+ }
+ {
+ boost::archive::text_oarchive oa(s);
+
+ check1 const c1_out;
+ oa << BOOST_SERIALIZATION_NVP(c1_out);
+
+ check1 c1_non_const_out;
+ oa << BOOST_SERIALIZATION_NVP(c1_non_const_out); // warn check_object_tracking
+
+ check1 * const c1_ptr_out = 0;
+ oa << BOOST_SERIALIZATION_NVP(c1_ptr_out); // warn check_pointer_level
+
+ check2 const * c2_ptr_out;
+ oa << BOOST_SERIALIZATION_NVP(c2_ptr_out); // error check_object_versioning
+
+ check3 * const c3_ptr_out = 0;
+ oa << BOOST_SERIALIZATION_NVP(c3_ptr_out); // warning check_pointer_tracking
+
+ check2 const c2_out;
+ oa << BOOST_SERIALIZATION_NVP(c2_out); // error check_object_versioning
+ }
+ {
+ boost::archive::text_iarchive ia(s);
+
+ check1 const c1_in;
+ ia >> BOOST_SERIALIZATION_NVP(c1_in); // check_const_loading
+
+ check1 * c1_ptr_in = 0;
+ ia >> BOOST_SERIALIZATION_NVP(c1_ptr_in); // warn check_pointer_level
+
+ check2 * c2_ptr_in;
+ ia >> BOOST_SERIALIZATION_NVP(c2_ptr_in); // error check_object_versioning
+
+ check3 * c3_ptr_in = 0;
+ ia >> BOOST_SERIALIZATION_NVP(c3_ptr_in); // warning check_pointer_tracking
+
+ check2 c2_in;
+ ia >> BOOST_SERIALIZATION_NVP(c2_in); // error check_object_versioning
+ }
+ return 0;
+}
diff --git a/src/boost/libs/serialization/test/test_class_info_load.cpp b/src/boost/libs/serialization/test/test_class_info_load.cpp
new file mode 100644
index 000000000..fd4e92f47
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_class_info_load.cpp
@@ -0,0 +1,92 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_class_info_load.cpp: test implementation level trait
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// test implementation level "object_class_info"
+// should pass compilation and execution
+
+#include <string>
+#include <fstream>
+
+#include <boost/archive/tmpdir.hpp>
+#include <boost/preprocessor/stringize.hpp>
+#include "test_tools.hpp"
+
+#include <boost/static_assert.hpp>
+#include <boost/serialization/level.hpp>
+#include <boost/serialization/tracking.hpp>
+#include <boost/serialization/version.hpp>
+#include <boost/serialization/nvp.hpp>
+
+class A
+{
+ friend class boost::serialization::access;
+ template<class Archive>
+ void serialize(Archive & /*ar*/, const unsigned int file_version){
+ // class that don't save class info always have a version number of 0
+ BOOST_CHECK(file_version == 0);
+ BOOST_STATIC_ASSERT(0 == ::boost::serialization::version<A>::value);
+ ++count;
+ }
+public:
+ unsigned int count;
+ A() : count(0) {}
+};
+
+BOOST_CLASS_IMPLEMENTATION(A, ::boost::serialization::object_serializable)
+BOOST_CLASS_TRACKING(A, ::boost::serialization::track_never)
+
+// second case : serialize WITH class information
+class B
+{
+ friend class boost::serialization::access;
+ template<class Archive>
+ void serialize(Archive & /*ar*/, const unsigned int file_version){
+ // verify at execution that the version number corresponds to the saved
+ // one
+ BOOST_CHECK(file_version == 2);
+ ++count;
+ }
+public:
+ unsigned int count;
+ B() : count(0) {}
+};
+
+BOOST_CLASS_IMPLEMENTATION(B, ::boost::serialization::object_class_info)
+BOOST_CLASS_TRACKING(B, ::boost::serialization::track_never)
+BOOST_CLASS_VERSION(B, 4)
+
+void in(const char *testfile, A & a, B & b)
+{
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> BOOST_SERIALIZATION_NVP(a);
+ ia >> BOOST_SERIALIZATION_NVP(a);
+ BOOST_CHECK(a.count == 2); // no tracking => redundant loads
+ ia >> BOOST_SERIALIZATION_NVP(b);
+ ia >> BOOST_SERIALIZATION_NVP(b);
+ // note: archive was saved with tracking so that is what determines
+ // whether tracking is perform on load - regardless of the latest
+ // tracking setting.
+ BOOST_CHECK(b.count == 1);
+}
+
+int
+test_main( int /* argc */, char* /* argv */[] )
+{
+ A a;
+ B b;
+ std::string filename;
+ filename += boost::archive::tmpdir();
+ filename += '/';
+ filename += BOOST_PP_STRINGIZE(testfile_);
+ filename += BOOST_PP_STRINGIZE(BOOST_ARCHIVE_TEST);
+ in(filename.c_str(), a, b);
+ return EXIT_SUCCESS;
+}
+
+// EOF
diff --git a/src/boost/libs/serialization/test/test_class_info_save.cpp b/src/boost/libs/serialization/test/test_class_info_save.cpp
new file mode 100644
index 000000000..a2590bf8f
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_class_info_save.cpp
@@ -0,0 +1,100 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_class_info_save.cpp: test implementation level trait
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// test implementation level "object_class_info"
+// should pass compilation and execution
+
+#include <fstream>
+#include <string>
+
+#include <boost/static_assert.hpp>
+#include <boost/archive/tmpdir.hpp>
+#include <boost/preprocessor/stringize.hpp>
+#include "test_tools.hpp"
+
+#include <boost/serialization/level.hpp>
+#include <boost/serialization/version.hpp>
+#include <boost/serialization/tracking.hpp>
+#include <boost/serialization/nvp.hpp>
+
+// first case : serialize WITHOUT class information
+class A
+{
+ friend class boost::serialization::access;
+ template<class Archive>
+ void serialize(Archive & /*ar*/, const unsigned int file_version){
+ // class that don't save class info always have a version number of 0
+ BOOST_CHECK(file_version == 0);
+ BOOST_STATIC_ASSERT(0 == ::boost::serialization::version<A>::value);
+ ++count;
+ }
+public:
+ unsigned int count;
+ A() : count(0) {}
+};
+
+BOOST_CLASS_IMPLEMENTATION(A, ::boost::serialization::object_serializable)
+BOOST_CLASS_TRACKING(A, ::boost::serialization::track_never)
+
+// second case : serialize WITH class information
+// note: GCC compile fails if this is after the class declaration
+class B;
+BOOST_CLASS_VERSION(B, 2)
+
+class B
+{
+ friend class boost::serialization::access;
+ template<class Archive>
+ void serialize(Archive & /*ar*/, const unsigned int file_version){
+ // verify at execution that correct version number is passed on save
+ BOOST_CHECK(
+ static_cast<const int>(file_version)
+ == ::boost::serialization::version<B>::value
+ );
+ ++count;
+ }
+public:
+ unsigned int count;
+ B() : count(0) {}
+};
+
+BOOST_CLASS_IMPLEMENTATION(B, ::boost::serialization::object_class_info)
+BOOST_CLASS_TRACKING(B, boost::serialization::track_always)
+
+#include <iostream>
+
+void out(const char *testfile, const A & a, const B & b)
+{
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ // write object twice to check tracking
+ oa << BOOST_SERIALIZATION_NVP(a);
+ oa << BOOST_SERIALIZATION_NVP(a);
+ BOOST_CHECK(a.count == 2); // no tracking => redundant saves
+ std::cout << "a.count=" << a.count << '\n' ;
+ oa << BOOST_SERIALIZATION_NVP(b);
+ oa << BOOST_SERIALIZATION_NVP(b);
+ BOOST_CHECK(b.count == 1); // tracking => no redundant saves
+ std::cout << "b.count=" << b.count << '\n' ;
+}
+
+int
+test_main( int /* argc */, char* /* argv */[] )
+{
+ A a;
+ B b;
+ std::string filename;
+ filename += boost::archive::tmpdir();
+ filename += '/';
+ filename += BOOST_PP_STRINGIZE(testfile_);
+ filename += BOOST_PP_STRINGIZE(BOOST_ARCHIVE_TEST);
+ out(filename.c_str(), a, b);
+ return EXIT_SUCCESS;
+}
+
+// EOF
diff --git a/src/boost/libs/serialization/test/test_codecvt_null.cpp b/src/boost/libs/serialization/test/test_codecvt_null.cpp
new file mode 100644
index 000000000..11e434c52
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_codecvt_null.cpp
@@ -0,0 +1,124 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_codecvt_null.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// should pass compilation and execution. Note: compilation with compilers
+// which use wchar_t as 2 byte objects will emit warnings. These should be
+// ignored.
+
+#include <algorithm> // std::copy
+#include <fstream>
+#include <iostream>
+#include <iterator>
+#include <locale>
+#include <vector>
+#include <cstdio> // remove
+#include <cstddef> // NULL, size_t
+
+#include <boost/config.hpp>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::remove;
+}
+#endif
+
+#include "test_tools.hpp"
+
+#include <boost/archive/codecvt_null.hpp>
+#include <boost/archive/iterators/ostream_iterator.hpp>
+#include <boost/archive/iterators/istream_iterator.hpp>
+
+template<std::size_t S>
+struct test_data
+{
+ static wchar_t wchar_encoding[];
+};
+
+template<>
+wchar_t test_data<2>::wchar_encoding[] = {
+ (wchar_t) 0x0001,
+ (wchar_t) 0x007f,
+ (wchar_t) 0x0080,
+ (wchar_t) 0x07ff,
+ (wchar_t) 0x0800,
+ (wchar_t) 0x7fff
+};
+
+template<>
+wchar_t test_data<4>::wchar_encoding[] = {
+ (wchar_t) 0x00000001,
+ (wchar_t) 0x0000007f,
+ (wchar_t) 0x00000080,
+ (wchar_t) 0x000007ff,
+ (wchar_t) 0x00000800,
+ (wchar_t) 0x0000ffff,
+ (wchar_t) 0x00010000,
+ (wchar_t) 0x0010ffff,
+ (wchar_t) 0x001fffff,
+ (wchar_t) 0x00200000,
+ (wchar_t) 0x03ffffff,
+ (wchar_t) 0x04000000,
+ (wchar_t) 0x7fffffff
+};
+
+#include <iostream>
+
+int test_main( int /* argc */, char* /* argv */[] ) {
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ std::locale old_loc;
+ std::locale null_locale = std::locale(
+ old_loc,
+ new boost::archive::codecvt_null<wchar_t>
+ );
+
+ typedef test_data<sizeof(wchar_t)> td;
+ {
+ std::wofstream ofs;
+ ofs.imbue(null_locale);
+ ofs.open(testfile, std::ios::binary);
+ std::copy(
+ td::wchar_encoding,
+ td::wchar_encoding + sizeof(td::wchar_encoding)/sizeof(wchar_t),
+ boost::archive::iterators::ostream_iterator<wchar_t>(ofs)
+ );
+ }
+ bool ok = false;
+ {
+ std::wifstream ifs;
+ ifs.imbue(null_locale);
+ ifs.open(testfile, std::ios::binary);
+ ok = std::equal(
+ td::wchar_encoding,
+ td::wchar_encoding + sizeof(td::wchar_encoding)/sizeof(wchar_t),
+ boost::archive::iterators::istream_iterator<wchar_t>(ifs)
+ );
+ }
+
+ BOOST_CHECK(ok);
+ {
+ std::wofstream ofs("testfile2");
+ ofs.imbue(null_locale);
+ int i = 10;
+ ofs << i;
+ ofs.close();
+
+ std::wifstream ifs("testfile2");
+ ifs.imbue(null_locale);
+ int i2;
+ ifs >> i2;
+ std::cout << "i=" << i << std::endl;
+ std::cout << "i2=" << i2 << std::endl;
+ BOOST_CHECK(i == i2);
+ ifs.close();
+ }
+
+ std::remove(testfile);
+ return EXIT_SUCCESS;
+}
+
diff --git a/src/boost/libs/serialization/test/test_complex.cpp b/src/boost/libs/serialization/test/test_complex.cpp
new file mode 100644
index 000000000..7caca8717
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_complex.cpp
@@ -0,0 +1,82 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_complex.cpp
+
+// (C) Copyright 2005 Matthias Troyer .
+// Use, modification and distribution is 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)
+
+// should pass compilation and execution
+
+#include <fstream>
+
+#include <cstddef> // NULL
+#include <cstdlib> // rand
+#include <cstdio> // remove
+#include <boost/config.hpp>
+#include <boost/detail/workaround.hpp>
+#include <boost/math/special_functions/next.hpp>
+
+#if defined(BOOST_NO_STDC_NAMESPACE)
+#include <boost/limits.hpp>
+namespace std{
+ using ::rand;
+ using ::remove;
+ #if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) && !defined(UNDER_CE)
+ using ::numeric_limits;
+ #endif
+}
+#endif
+
+#include "test_tools.hpp"
+
+#include <boost/preprocessor/stringize.hpp>
+#include BOOST_PP_STRINGIZE(BOOST_ARCHIVE_TEST)
+
+#include <boost/serialization/complex.hpp>
+
+#include <iostream>
+
+int test_main( int /* argc */, char* /* argv */[] )
+{
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ // test array of objects
+ std::complex<float> a(
+ static_cast<float>(std::rand()) / static_cast<float>(std::rand()),
+ static_cast<float>(std::rand()) / static_cast<float>(std::rand())
+ );
+ std::complex<double> b(
+ static_cast<double>(std::rand()) / static_cast<double>(std::rand()),
+ static_cast<double>(std::rand()) / static_cast<double>(std::rand())
+ );
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os);
+ oa << boost::serialization::make_nvp("afloatcomplex", a);
+ oa << boost::serialization::make_nvp("adoublecomplex", b);
+ }
+ std::complex<float> a1;
+ std::complex<double> b1;
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is);
+ ia >> boost::serialization::make_nvp("afloatcomplex", a1);
+ ia >> boost::serialization::make_nvp("adoublecomplex", b1);
+ }
+
+ std::cerr << "a.real()-a1a.real() distance = " << std::abs( boost::math::float_distance(a.real(), a1.real())) << std::endl;
+ BOOST_CHECK(std::abs(boost::math::float_distance(a.real(), a1.real())) < 2);
+ std::cerr << "a.imag() - a1a.imag() distance = " << std::abs( boost::math::float_distance(a.imag(), a1.imag())) << std::endl;
+ BOOST_CHECK(std::abs(boost::math::float_distance(a.imag(), a1.imag())) < 2);
+ std::cerr << "b.real() - b1.real() distance = " << std::abs( boost::math::float_distance(b.real(), b1.real())) << std::endl;
+ BOOST_CHECK(std::abs(boost::math::float_distance(b.real(), b1.real())) < 2);
+ std::cerr << "b.imag() - b1.imag() distance = " << std::abs( boost::math::float_distance(b.imag(), b1.imag())) << std::endl;
+ BOOST_CHECK(std::abs(boost::math::float_distance(b.imag(), b1.imag())) < 2);
+
+ std::remove(testfile);
+ return EXIT_SUCCESS;
+}
+
+// EOF
diff --git a/src/boost/libs/serialization/test/test_const_load_fail1.cpp b/src/boost/libs/serialization/test/test_const_load_fail1.cpp
new file mode 100644
index 000000000..b756e6f56
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_const_load_fail1.cpp
@@ -0,0 +1,23 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_const.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// compile only
+
+#include <boost/archive/text_iarchive.hpp>
+
+using namespace boost::archive;
+
+struct A {
+ template<class Archive>
+ void serialize(Archive & ar, unsigned int version) {
+ }
+};
+
+void f1(text_iarchive & ia, const A & a){
+ ia >> a;
+}
diff --git a/src/boost/libs/serialization/test/test_const_load_fail1_nvp.cpp b/src/boost/libs/serialization/test/test_const_load_fail1_nvp.cpp
new file mode 100644
index 000000000..dc8d0f471
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_const_load_fail1_nvp.cpp
@@ -0,0 +1,24 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_const.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// compile only
+
+#include <boost/archive/text_iarchive.hpp>
+#include <boost/serialization/nvp.hpp>
+
+using namespace boost::archive;
+
+struct A {
+ template<class Archive>
+ void serialize(Archive & ar, unsigned int version) {
+ }
+};
+
+void f1(text_iarchive & ia, const A & a){
+ ia >> BOOST_SERIALIZATION_NVP(a);
+}
diff --git a/src/boost/libs/serialization/test/test_const_load_fail2.cpp b/src/boost/libs/serialization/test/test_const_load_fail2.cpp
new file mode 100644
index 000000000..06d213fa1
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_const_load_fail2.cpp
@@ -0,0 +1,23 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_const.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// compile only
+
+#include <boost/archive/text_iarchive.hpp>
+
+using namespace boost::archive;
+
+struct A {
+ template<class Archive>
+ void serialize(Archive & ar, unsigned int version) {
+ }
+};
+
+void f2(text_iarchive & ia, A * const & a){
+ ia >> a;
+}
diff --git a/src/boost/libs/serialization/test/test_const_load_fail2_nvp.cpp b/src/boost/libs/serialization/test/test_const_load_fail2_nvp.cpp
new file mode 100644
index 000000000..eadb0769f
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_const_load_fail2_nvp.cpp
@@ -0,0 +1,25 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_const.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// compile only
+
+#include <boost/archive/text_iarchive.hpp>
+#include <boost/serialization/nvp.hpp>
+
+using namespace boost::archive;
+
+struct A {
+ template<class Archive>
+ void serialize(Archive & ar, unsigned int version) {
+ }
+};
+
+void f2(text_iarchive & ia, A * const & a){
+ ia >> BOOST_SERIALIZATION_NVP(a);
+}
+
diff --git a/src/boost/libs/serialization/test/test_const_load_fail3.cpp b/src/boost/libs/serialization/test/test_const_load_fail3.cpp
new file mode 100644
index 000000000..f804a8d00
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_const_load_fail3.cpp
@@ -0,0 +1,22 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_const.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// compile only
+
+#include <boost/archive/text_iarchive.hpp>
+using namespace boost::archive;
+
+struct A {
+ template<class Archive>
+ void serialize(Archive & ar, unsigned int version) {
+ }
+};
+
+void f2(text_iarchive & ia, const A * const & a){
+ ia >> a;
+}
diff --git a/src/boost/libs/serialization/test/test_const_load_fail3_nvp.cpp b/src/boost/libs/serialization/test/test_const_load_fail3_nvp.cpp
new file mode 100644
index 000000000..8995f3eb8
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_const_load_fail3_nvp.cpp
@@ -0,0 +1,24 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_const.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// compile only
+
+#include <boost/archive/text_iarchive.hpp>
+#include <boost/serialization/nvp.hpp>
+
+using namespace boost::archive;
+
+struct A {
+ template<class Archive>
+ void serialize(Archive & ar, unsigned int version) {
+ }
+};
+
+void f2(text_iarchive & ia, const A * const & a){
+ ia >> BOOST_SERIALIZATION_NVP(a);
+}
diff --git a/src/boost/libs/serialization/test/test_const_pass.cpp b/src/boost/libs/serialization/test/test_const_pass.cpp
new file mode 100644
index 000000000..552d3acab
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_const_pass.cpp
@@ -0,0 +1,54 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_const.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// compile only
+
+#include <boost/archive/text_oarchive.hpp>
+#include <boost/archive/text_iarchive.hpp>
+#include <boost/serialization/nvp.hpp>
+
+struct A {
+ template<class Archive>
+ void serialize(Archive & ar, unsigned int version) {
+ }
+};
+
+// should compile w/o problem
+void f1(boost::archive::text_oarchive & oa, const A & a){
+ oa & a;
+ oa & BOOST_SERIALIZATION_NVP(a);
+ oa << a;
+ oa << BOOST_SERIALIZATION_NVP(a);
+}
+void f2(boost::archive::text_oarchive & oa, const A * const & a){
+ oa & a;
+ oa & BOOST_SERIALIZATION_NVP(a);
+ oa << a;
+ oa << BOOST_SERIALIZATION_NVP(a);
+}
+void f3(boost::archive::text_iarchive & ia, A & a){
+ ia & a;
+ ia & BOOST_SERIALIZATION_NVP(a);
+ ia >> a;
+ ia >> BOOST_SERIALIZATION_NVP(a);
+}
+void f4(boost::archive::text_iarchive & ia, A * & a){
+ ia & a;
+ ia & BOOST_SERIALIZATION_NVP(a);
+ ia >> a;
+ ia >> BOOST_SERIALIZATION_NVP(a);
+}
+#if 0
+void f5(boost::archive::text_oarchive & oa, const A * & a){
+ oa & a;
+ oa & BOOST_SERIALIZATION_NVP(a);
+ oa << a;
+ oa << BOOST_SERIALIZATION_NVP(a);
+}
+#endif
+
diff --git a/src/boost/libs/serialization/test/test_const_save_warn1.cpp b/src/boost/libs/serialization/test/test_const_save_warn1.cpp
new file mode 100644
index 000000000..4e1625bcc
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_const_save_warn1.cpp
@@ -0,0 +1,25 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_const.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// compile only
+
+#include <boost/archive/text_oarchive.hpp>
+
+using namespace boost::archive;
+
+struct A {
+ template<class Archive>
+ void serialize(Archive & ar, unsigned int version) {
+ }
+};
+
+// should fail to compile
+void f1(text_oarchive & oa, A & a){
+ oa << a;
+}
+
diff --git a/src/boost/libs/serialization/test/test_const_save_warn1_nvp.cpp b/src/boost/libs/serialization/test/test_const_save_warn1_nvp.cpp
new file mode 100644
index 000000000..ffa9da596
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_const_save_warn1_nvp.cpp
@@ -0,0 +1,26 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_const.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// compile only
+
+#include <boost/archive/text_oarchive.hpp>
+#include <boost/serialization/nvp.hpp>
+#include <boost/serialization/tracking.hpp>
+
+using namespace boost::archive;
+
+struct A {
+ template<class Archive>
+ void serialize(Archive & ar, unsigned int version) {
+ }
+};
+
+void f1(text_oarchive & oa, A & a){
+ oa << BOOST_SERIALIZATION_NVP(a);
+}
+
diff --git a/src/boost/libs/serialization/test/test_const_save_warn2.cpp b/src/boost/libs/serialization/test/test_const_save_warn2.cpp
new file mode 100644
index 000000000..d2955b616
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_const_save_warn2.cpp
@@ -0,0 +1,24 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_const.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// compile only
+
+#include <boost/archive/text_oarchive.hpp>
+
+using namespace boost::archive;
+
+struct A {
+ template<class Archive>
+ void serialize(Archive & ar, unsigned int version) {
+ }
+};
+
+void f2(text_oarchive & oa, A * & a){
+ oa << a;
+}
+
diff --git a/src/boost/libs/serialization/test/test_const_save_warn2_nvp.cpp b/src/boost/libs/serialization/test/test_const_save_warn2_nvp.cpp
new file mode 100644
index 000000000..4a4d0388d
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_const_save_warn2_nvp.cpp
@@ -0,0 +1,25 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_const.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// compile only
+
+#include <boost/archive/text_oarchive.hpp>
+#include <boost/serialization/nvp.hpp>
+
+using namespace boost::archive;
+
+struct A {
+ template<class Archive>
+ void serialize(Archive & ar, unsigned int version) {
+ }
+};
+
+void f2(text_oarchive & oa, A * & a){
+ oa << BOOST_SERIALIZATION_NVP(a);
+}
+
diff --git a/src/boost/libs/serialization/test/test_const_save_warn3.cpp b/src/boost/libs/serialization/test/test_const_save_warn3.cpp
new file mode 100644
index 000000000..55759cc74
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_const_save_warn3.cpp
@@ -0,0 +1,24 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_const.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// compile only
+
+#include <boost/archive/text_oarchive.hpp>
+
+using namespace boost::archive;
+
+struct A {
+ template<class Archive>
+ void serialize(Archive & ar, unsigned int version) {
+ }
+};
+
+void f3(text_oarchive & oa, const A * & a){
+ oa << a;
+}
+
diff --git a/src/boost/libs/serialization/test/test_const_save_warn3_nvp.cpp b/src/boost/libs/serialization/test/test_const_save_warn3_nvp.cpp
new file mode 100644
index 000000000..fe8a9b0e2
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_const_save_warn3_nvp.cpp
@@ -0,0 +1,25 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_const.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// compile only
+
+#include <boost/archive/text_oarchive.hpp>
+#include <boost/serialization/nvp.hpp>
+
+using namespace boost::archive;
+
+struct A {
+ template<class Archive>
+ void serialize(Archive & ar, unsigned int version) {
+ }
+};
+
+void f3(text_oarchive & oa, const A * & a){
+ oa << BOOST_SERIALIZATION_NVP(a);
+}
+
diff --git a/src/boost/libs/serialization/test/test_const_save_warn4.cpp b/src/boost/libs/serialization/test/test_const_save_warn4.cpp
new file mode 100644
index 000000000..53007165a
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_const_save_warn4.cpp
@@ -0,0 +1,37 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_const.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// compile only
+
+#include <boost/archive/text_oarchive.hpp>
+#include <boost/serialization/nvp.hpp>
+
+using namespace boost::archive;
+
+struct A {
+ template<class Archive>
+ void serialize(Archive & ar, unsigned int version) {
+ }
+};
+
+// comment out this test case as a reminder not to keep inserting it !!!
+// we don't trap this as an error in order to permit things like
+// X * xptr;
+// save(..){
+// ar << xptr;
+// }
+//
+// for rational - consider the following example from demo.cpp
+// std::list<pair<trip_info, bus_route_info *> > schedule
+// its not obvious to me how this can be cast to:
+// std::list<pair<trip_info, const bus_route_info * const> > schedule
+
+void f4(text_oarchive & oa, A * const & a){
+ oa << a;
+}
+
diff --git a/src/boost/libs/serialization/test/test_const_save_warn4_nvp.cpp b/src/boost/libs/serialization/test/test_const_save_warn4_nvp.cpp
new file mode 100644
index 000000000..3cb59d413
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_const_save_warn4_nvp.cpp
@@ -0,0 +1,39 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_const.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// compile only
+
+#include <boost/archive/text_oarchive.hpp>
+#include <boost/serialization/nvp.hpp>
+
+using namespace boost::archive;
+
+struct A {
+ template<class Archive>
+ void serialize(Archive & ar, unsigned int version) {
+ }
+};
+
+// comment out this test case as a reminder not to keep inserting it !!!
+// we don't trap this as an error in order to permit things like
+// X * xptr;
+// save(..){
+// ar << xptr;
+// }
+//
+// for rational - consider the following example from demo.cpp
+//
+// std::list<pair<trip_info, bus_route_info *> > schedule
+//
+// its not obvious to me how this can be cast to:
+//
+// std::list<pair<trip_info, const bus_route_info * const> > schedule
+
+void f4(text_oarchive & oa, A * const & a){
+ oa << BOOST_SERIALIZATION_NVP(a);
+}
diff --git a/src/boost/libs/serialization/test/test_contained_class.cpp b/src/boost/libs/serialization/test/test_contained_class.cpp
new file mode 100644
index 000000000..4830fa996
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_contained_class.cpp
@@ -0,0 +1,69 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_contained_class.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// should pass compilation and execution
+
+#include <cstddef>
+#include <fstream>
+
+#include <cstdio> // remove
+#include <boost/config.hpp>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::remove;
+}
+#endif
+
+#include "test_tools.hpp"
+#include <boost/serialization/nvp.hpp>
+
+#include "B.hpp"
+#include "A.ipp"
+
+///////////////////////////////////////////////////////
+// Contained class
+class C
+{
+private:
+ friend class boost::serialization::access;
+ template<class Archive>
+ void serialize(Archive & ar, const unsigned int /* file_version */){
+ ar & BOOST_SERIALIZATION_NVP(b);
+ }
+ B b;
+public:
+ bool operator==(const C &rhs) const
+ {
+ return b == rhs.b;
+ }
+ C(){}
+};
+
+int test_main( int /* argc */, char* /* argv */[] )
+{
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ const C c;
+ C c1;
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << boost::serialization::make_nvp("c", c);
+ }
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> boost::serialization::make_nvp("c", c1);
+ }
+ BOOST_CHECK(c == c1);
+ std::remove(testfile);
+ return EXIT_SUCCESS;
+}
+
+// EOF
diff --git a/src/boost/libs/serialization/test/test_cyclic_ptrs.cpp b/src/boost/libs/serialization/test/test_cyclic_ptrs.cpp
new file mode 100644
index 000000000..cce8b6f9b
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_cyclic_ptrs.cpp
@@ -0,0 +1,204 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_cyclic_ptrs.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// should pass compilation and execution
+
+#include <cstddef> // NULL
+#include <fstream>
+
+#include <cstdio> // remove
+#include <boost/config.hpp>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::remove;
+}
+#endif
+
+#include "test_tools.hpp"
+#include <boost/core/no_exceptions_support.hpp>
+
+#include <boost/serialization/nvp.hpp>
+#include <boost/serialization/version.hpp>
+#include <boost/serialization/base_object.hpp>
+
+#include "A.hpp"
+#include "A.ipp"
+
+///////////////////////////////////////////////////////
+// class with a member which refers to itself
+class J : public A
+{
+private:
+ friend class boost::serialization::access;
+ template<class Archive>
+ void serialize(Archive &ar, const unsigned int /* file_version */){
+ ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(A);
+ ar & BOOST_SERIALIZATION_NVP(j);
+ }
+public:
+ bool operator==(const J &rhs) const;
+ J *j;
+ J(J *_j) : j(_j) {}
+ J() : j(NULL){}
+};
+
+BOOST_CLASS_VERSION(J, 6)
+
+bool J::operator==(const J &rhs) const
+{
+ return static_cast<const A &>(*this) == static_cast<const A &>(rhs);
+}
+
+///////////////////////////////////////////////////////
+// class with members that refer to each other
+// this is an example of a class that, as written, cannot
+// be serialized with this system. The problem is that the
+// serialization of the first member - j1 , provokes serialization
+// of those objects which it points to either directly or indirectly.
+// When those objects are subsequently serialized, it is discovered
+// that have already been serialized through pointers. This is
+// detected by the system and an exception - pointer_conflict -
+// is thrown. Permiting this to go undetected would result in the
+// creation of multiple equal objects rather than the original
+// structure.
+class K
+{
+ J j1;
+ J j2;
+ J j3;
+ friend class boost::serialization::access;
+ template<class Archive>
+ void serialize(
+ Archive &ar,
+ const unsigned int /* file_version */
+ ){
+ ar & BOOST_SERIALIZATION_NVP(j1);
+ ar & BOOST_SERIALIZATION_NVP(j2);
+ ar & BOOST_SERIALIZATION_NVP(j3);
+ }
+public:
+ bool operator==(const K &rhs) const;
+ K();
+};
+
+K::K()
+: j1(&j2), j2(&j3), j3(&j1)
+{
+}
+
+bool K::operator==(const K &rhs) const
+{
+ return
+ j1.j == & j2
+ && j2.j == & j3
+ && j3.j == & j1
+ && j1 == rhs.j1
+ && j2 == rhs.j2
+ && j3 == rhs.j3
+ ;
+}
+
+int test1(){
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ J j1, j2;
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << BOOST_SERIALIZATION_NVP(j1);
+ }
+ {
+ // try to read the archive
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> BOOST_SERIALIZATION_NVP(j2);
+ }
+ BOOST_CHECK(j1 == j2);
+ std::remove(testfile);
+ return EXIT_SUCCESS;
+}
+
+int test2(){
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ J *j1 = new J;
+ j1->j = j1;
+ J *j2 = reinterpret_cast<J *>(0xBAADF00D);
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << BOOST_SERIALIZATION_NVP(j1);
+ }
+ {
+ // try to read the archive
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> BOOST_SERIALIZATION_NVP(j2);
+ }
+ BOOST_CHECK(*j1 == *j2);
+ delete j1;
+ BOOST_CHECK(j2 == j2->j);
+ std::remove(testfile);
+ return EXIT_SUCCESS;
+}
+
+int test3(){
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ K k;
+ boost::archive::archive_exception exception(
+ boost::archive::archive_exception::no_exception
+ );
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ BOOST_TRY {
+ oa << BOOST_SERIALIZATION_NVP(k);
+ }
+ BOOST_CATCH (boost::archive::archive_exception const& ae){
+ exception = ae;
+ }
+ BOOST_CATCH_END
+ BOOST_CHECK(
+ exception.code == boost::archive::archive_exception::pointer_conflict
+ );
+ }
+ // if exception wasn't invoked
+ if(exception.code == boost::archive::archive_exception::no_exception){
+ // try to read the archive
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ exception = boost::archive::archive_exception(
+ boost::archive::archive_exception::no_exception
+ );
+ BOOST_TRY {
+ ia >> BOOST_SERIALIZATION_NVP(k);
+ }
+ BOOST_CATCH (boost::archive::archive_exception const& ae){
+ exception = ae;
+ }
+ BOOST_CATCH_END
+ BOOST_CHECK(
+ exception.code == boost::archive::archive_exception::pointer_conflict
+ );
+ }
+ std::remove(testfile);
+ return EXIT_SUCCESS;
+}
+
+int test_main( int /* argc */, char* /* argv */[] ){
+ test1();
+ test2();
+ test3();
+ return EXIT_SUCCESS;
+}
+
+// EOF
diff --git a/src/boost/libs/serialization/test/test_delete_pointer.cpp b/src/boost/libs/serialization/test/test_delete_pointer.cpp
new file mode 100644
index 000000000..80493e041
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_delete_pointer.cpp
@@ -0,0 +1,119 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_delete_pointer.cpp
+
+// (C) Copyright 2002 Vahan Margaryan.
+// Use, modification and distribution is 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)
+//
+
+#include <cstddef> // NULL
+#include <fstream>
+
+#include <cstdio> // remove
+#include <boost/config.hpp>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::remove;
+}
+#endif
+
+#include "test_tools.hpp"
+#include <boost/core/no_exceptions_support.hpp>
+#include <boost/serialization/throw_exception.hpp>
+
+#include <boost/serialization/nvp.hpp>
+#include <boost/serialization/split_member.hpp>
+
+//A holds a pointer to another A, but doesn't own the pointer.
+//objCount
+class A
+{
+ friend class boost::serialization::access;
+ template<class Archive>
+ void save(Archive &ar, const unsigned int /* file_version */) const
+ {
+ ar << BOOST_SERIALIZATION_NVP(next_);
+ }
+ template<class Archive>
+ void load(Archive & ar, const unsigned int /* file_version */)
+ {
+ ar >> BOOST_SERIALIZATION_NVP(next_);
+ ++loadcount;
+ }
+ BOOST_SERIALIZATION_SPLIT_MEMBER()
+public:
+ A()
+ {
+ if(test && objcount == 3)
+ boost::serialization::throw_exception(boost::archive::archive_exception(
+ boost::archive::archive_exception::no_exception
+ ));
+ next_ = 0;
+ ++objcount;
+ }
+ ~A(){
+ delete next_;
+ --objcount;
+ }
+ A* next_;
+ static int objcount;
+ static bool test;
+ static int loadcount;
+};
+
+
+int A::objcount = 0;
+int A::loadcount = 0;
+bool A::test = false;
+
+int
+test_main( int /* argc */, char* /* argv */[] )
+{
+
+ //fill the vector with chained A's. The vector is assumed
+ //to own the objects - we will destroy the objects through this vector.
+
+ A * head = new A;
+ A* last = head;
+ unsigned int i;
+ for(i = 1; i < 9; ++i)
+ {
+ A *a = new A;
+ last->next_ = a;
+ last = a;
+ }
+
+ const char * testfile = boost::archive::tmpnam(0);
+ BOOST_REQUIRE(NULL != testfile);
+
+ //output the list
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << BOOST_SERIALIZATION_NVP(head);
+ }
+
+ delete head;
+ BOOST_CHECK(A::objcount == 0);
+
+ head = NULL;
+ A::test = true;
+ //read the list back
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ BOOST_TRY {
+ ia >> BOOST_SERIALIZATION_NVP(head);
+ }
+ BOOST_CATCH (...){
+ ia.delete_created_pointers();
+ }
+ BOOST_CATCH_END
+ }
+
+ //identify the leaks
+ BOOST_CHECK(A::loadcount == 0);
+ std::remove(testfile);
+ return EXIT_SUCCESS;
+}
diff --git a/src/boost/libs/serialization/test/test_deque.cpp b/src/boost/libs/serialization/test/test_deque.cpp
new file mode 100644
index 000000000..37ab90a33
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_deque.cpp
@@ -0,0 +1,55 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_deque.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// should pass compilation and execution
+
+#include <cstddef>
+#include <fstream>
+
+#include <cstdio> // remove
+#include <boost/config.hpp>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::remove;
+}
+#endif
+
+#include <boost/archive/archive_exception.hpp>
+#include "test_tools.hpp"
+
+#include <boost/serialization/deque.hpp>
+
+#include "A.hpp"
+#include "A.ipp"
+
+int test_main( int /* argc */, char* /* argv */[] )
+{
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ // test array of objects
+ std::deque<A> adeque, adeque1;
+ adeque.push_front(A());
+ adeque.push_front(A());
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << boost::serialization::make_nvp("adeque",adeque);
+ }
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> boost::serialization::make_nvp("adeque",adeque1);
+ }
+ BOOST_CHECK(adeque == adeque1);
+
+ std::remove(testfile);
+ return EXIT_SUCCESS;
+}
+
+// EOF
diff --git a/src/boost/libs/serialization/test/test_derived.cpp b/src/boost/libs/serialization/test/test_derived.cpp
new file mode 100644
index 000000000..fb378e210
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_derived.cpp
@@ -0,0 +1,148 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_derived.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// should pass compilation and execution
+
+#include <cstddef> // NULL
+#include <fstream>
+
+#include <cstdio> // remove
+#include <boost/config.hpp>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::remove;
+}
+#endif
+
+#include <boost/archive/archive_exception.hpp>
+#include "test_tools.hpp"
+
+#include <boost/serialization/base_object.hpp>
+#include <boost/serialization/type_info_implementation.hpp>
+
+class base
+{
+ friend class boost::serialization::access;
+ template<class Archive>
+ void serialize(Archive & /* ar */, const unsigned int /* file_version */){
+ }
+public:
+ virtual ~base(){};
+};
+
+class derived1 : public base
+{
+ friend class boost::serialization::access;
+ template<class Archive>
+ void serialize(Archive &ar, const unsigned int /* file_version */){
+ ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(base);
+ }
+};
+
+class derived2 : public base
+{
+ friend class boost::serialization::access;
+ template<class Archive>
+ void serialize(Archive &ar, const unsigned int /* file_version */){
+ ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(base);
+ }
+};
+
+// save non-polymorphic classes through a base class pointer
+void save_derived(const char *testfile)
+{
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+
+ // registration not necessary when serializing the most derived pointer
+ derived1 *d1 = new derived1;
+ derived2 *d2 = new derived2;
+ oa << BOOST_SERIALIZATION_NVP(d1) << BOOST_SERIALIZATION_NVP(d2);
+
+ // upcasting non-polymorphic pointers may not lead to the expected
+ // result. In the current type id system
+ base *b1 = d1;
+ base *b2 = d2;
+
+ // Warning, the current type id system does not yield true
+ // type id for non-polymorphic types
+ const boost::serialization::extended_type_info & this_type
+ = boost::serialization::type_info_implementation<base>::type
+ ::get_const_instance();
+ // retrieve the true type of the object pointed to
+ const boost::serialization::extended_type_info & true_type
+ = * boost::serialization::type_info_implementation<base>::type
+ ::get_const_instance().get_derived_extended_type_info(*b1);
+
+ BOOST_WARN_MESSAGE(
+ !(this_type == true_type),
+ "current type id system does not support non-polymorphic types"
+ );
+
+ oa << BOOST_SERIALIZATION_NVP(b1);
+ oa << BOOST_SERIALIZATION_NVP(b2);
+
+ delete d1;
+ delete d2;
+}
+
+// save non-polymorphic classes through a base class pointer
+void load_derived(const char *testfile)
+{
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+
+ // registration not necessary when serializing the most derived pointer
+ derived1 *d1 = NULL;
+ derived2 *d2 = NULL;
+ ia >> BOOST_SERIALIZATION_NVP(d1) >> BOOST_SERIALIZATION_NVP(d2);
+
+ // upcasting non-polymorphic pointers may not lead to the expected
+ // result. In the current type id system
+ base *b1 = NULL;
+ base *b2 = NULL;
+
+ // note: this will produce incorrect results for non-polymorphic classes
+ ia >> BOOST_SERIALIZATION_NVP(b1);
+ ia >> BOOST_SERIALIZATION_NVP(b2);
+
+ // Warning, the current type id system does not yield true
+ // type id for non-polymorphic types
+ const boost::serialization::extended_type_info & this_type
+ = boost::serialization::type_info_implementation<base>::type
+ ::get_const_instance();
+ // retrieve the true type of the object pointed to
+ const boost::serialization::extended_type_info & true_type
+ = * boost::serialization::type_info_implementation<base>::type
+ ::get_const_instance().get_derived_extended_type_info(*b1);
+
+ BOOST_WARN_MESSAGE(
+ ! (this_type == true_type),
+ "current type id system does fails for non-polymorphic types"
+ );
+
+ BOOST_CHECK(b1 == static_cast<base *>(d1));
+ BOOST_CHECK(b2 == static_cast<base *>(d2));
+
+ delete d1;
+ delete d2;
+}
+
+int
+test_main( int /* argc */, char* /* argv */[] )
+{
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ save_derived(testfile);
+ load_derived(testfile);
+ std::remove(testfile);
+ return EXIT_SUCCESS;
+}
+
+// EOF
diff --git a/src/boost/libs/serialization/test/test_derived_class.cpp b/src/boost/libs/serialization/test/test_derived_class.cpp
new file mode 100644
index 000000000..056c8ebec
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_derived_class.cpp
@@ -0,0 +1,49 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_derived_class.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// should pass compilation and execution
+
+#include <fstream>
+
+#include <cstdio> // remove
+#include <boost/config.hpp>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::remove;
+}
+#endif
+
+#include "test_tools.hpp"
+
+#include "B.hpp"
+#include "A.ipp"
+
+int test_main( int /*argc*/, char* /*argv*/[] )
+{
+ const char * testfile = boost::archive::tmpnam(NULL);
+
+ BOOST_REQUIRE(NULL != testfile);
+
+ B b, b1;
+
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << boost::serialization::make_nvp("b", b);
+ }
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> boost::serialization::make_nvp("b1", b1);
+ }
+ BOOST_CHECK(b == b1);
+ std::remove(testfile);
+ return EXIT_SUCCESS;
+}
+
+// EOF
diff --git a/src/boost/libs/serialization/test/test_derived_class_ptr.cpp b/src/boost/libs/serialization/test/test_derived_class_ptr.cpp
new file mode 100644
index 000000000..6749c8221
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_derived_class_ptr.cpp
@@ -0,0 +1,52 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_deriviec_class_.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// should pass compilation and execution
+
+#include <cstddef> // NULL
+#include <fstream>
+
+#include <cstdio> // remove
+#include <boost/config.hpp>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::remove;
+}
+#endif
+
+#include "test_tools.hpp"
+
+#include "B.hpp"
+#include "A.ipp"
+
+int test_main( int /* argc */, char* /* argv */[] )
+{
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ B * tb = new B;
+ B * tb1 = NULL;
+
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << boost::serialization::make_nvp("tb", tb);
+ }
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> boost::serialization::make_nvp("tb",tb1);
+ }
+ BOOST_CHECK(tb != tb1);
+ BOOST_CHECK(*tb == *tb1);
+ delete tb;
+ std::remove(testfile);
+ return EXIT_SUCCESS;
+}
+
+// EOF
diff --git a/src/boost/libs/serialization/test/test_diamond.cpp b/src/boost/libs/serialization/test/test_diamond.cpp
new file mode 100644
index 000000000..9eaf4577a
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_diamond.cpp
@@ -0,0 +1,205 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_diamond.cpp
+
+// (C) Copyright 2002-2009 Vladimir Prus and Robert Ramey.
+// Use, modification and distribution is 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)
+
+// test of serialization library for diamond inheritence situations
+
+#include <cstddef> // NULL
+#include <fstream>
+#include <iostream>
+
+#include <boost/config.hpp>
+#include <cstdio> // remove
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::remove;
+}
+#endif
+
+#include "test_tools.hpp"
+
+#include <boost/serialization/map.hpp>
+#include <boost/serialization/utility.hpp>
+#include <boost/serialization/split_member.hpp>
+#include <boost/serialization/tracking.hpp>
+#include <boost/serialization/base_object.hpp>
+#include <boost/serialization/nvp.hpp>
+#include <boost/serialization/export.hpp>
+
+int save_count = 0; // used to detect when base class is saved multiple times
+int load_count = 0; // used to detect when base class is loaded multiple times
+
+class base {
+public:
+ base() : i(0) {}
+ base(int i) : i(i)
+ {
+ m[i] = "text";
+ }
+
+ template<class Archive>
+ void save(Archive &ar, const unsigned int /* file_version */) const
+ {
+ std::cout << "Saving base\n";
+ ar << BOOST_SERIALIZATION_NVP(i);
+ ar << BOOST_SERIALIZATION_NVP(m);
+ ++save_count;
+ }
+
+ template<class Archive>
+ void load(Archive & ar, const unsigned int /* file_version */)
+ {
+ std::cout << "Restoring base\n";
+ ar >> BOOST_SERIALIZATION_NVP(i);
+ ar >> BOOST_SERIALIZATION_NVP(m);
+ ++load_count;
+ }
+
+ BOOST_SERIALIZATION_SPLIT_MEMBER()
+
+ bool operator==(const base& another) const
+ {
+ return i == another.i && m == another.m;
+ }
+ // make polymorphic by marking at least one function virtual
+ virtual ~base() {};
+private:
+ int i;
+ std::map<int, std::string> m;
+};
+
+// note: the default is for object tracking to be performed if and only
+// if and object of the corresponding class is anywhere serialized
+// through a pointer. In this example, that doesn't occur so
+// by default, the shared base object wouldn't normally be tracked.
+// This would leave to multiple save/load operation of the data in
+// this shared base class. This wouldn't cause an error, but it would
+// be a waste of time. So set the tracking behavior trait of the base
+// class to always track serialized objects of that class. This permits
+// the system to detect and elminate redundent save/load operations.
+// (It is concievable that this might someday be detected automatically
+// but for now, this is not done so we have to rely on the programmer
+// to specify this trait)
+BOOST_CLASS_TRACKING(base, track_always)
+
+class derived1 : virtual public base {
+public:
+ template<class Archive>
+ void save(Archive &ar, const unsigned int /* file_version */) const
+ {
+ std::cout << "Saving derived1\n";
+ ar << BOOST_SERIALIZATION_BASE_OBJECT_NVP(base);
+ }
+
+ template<class Archive>
+ void load(Archive & ar, const unsigned int /* file_version */)
+ {
+ std::cout << "Restoring derived1\n";
+ ar >> BOOST_SERIALIZATION_BASE_OBJECT_NVP(base);
+ }
+
+ BOOST_SERIALIZATION_SPLIT_MEMBER()
+};
+
+class derived2 : virtual public base {
+public:
+ template<class Archive>
+ void save(Archive &ar, const unsigned int /* file_version */) const
+ {
+ std::cout << "Saving derived2\n";
+ ar << BOOST_SERIALIZATION_BASE_OBJECT_NVP(base);
+ }
+
+ template<class Archive>
+ void load(Archive & ar, const unsigned int /* file_version */)
+ {
+ std::cout << "Restoring derived2\n";
+ ar >> BOOST_SERIALIZATION_BASE_OBJECT_NVP(base);
+ }
+
+ BOOST_SERIALIZATION_SPLIT_MEMBER()
+};
+
+class final : public derived1, public derived2 {
+public:
+ final() {}
+ final(int i) : base(i) {}
+
+ template<class Archive>
+ void save(Archive &ar, const unsigned int /* file_version */) const
+ {
+ std::cout << "Saving final\n";
+ ar << BOOST_SERIALIZATION_BASE_OBJECT_NVP(derived1);
+ ar << BOOST_SERIALIZATION_BASE_OBJECT_NVP(derived2);
+ }
+
+ template<class Archive>
+ void load(Archive & ar, const unsigned int /* file_version */)
+ {
+ std::cout << "Restoring final\n";
+ ar >> BOOST_SERIALIZATION_BASE_OBJECT_NVP(derived1);
+ ar >> BOOST_SERIALIZATION_BASE_OBJECT_NVP(derived2);
+ }
+
+ BOOST_SERIALIZATION_SPLIT_MEMBER()
+};
+
+BOOST_CLASS_EXPORT(final)
+
+int
+test_main( int /* argc */, char* /* argv */[] )
+{
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ const final b(3);
+ {
+ test_ostream ofs(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(ofs);
+ oa << boost::serialization::make_nvp("b", b);
+ }
+
+ final b2;
+ {
+ test_istream ifs(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(ifs);
+ ia >> boost::serialization::make_nvp("b2", b2);
+ }
+ BOOST_CHECK(1 == save_count);
+ BOOST_CHECK(1 == load_count);
+ BOOST_CHECK(b2 == b);
+ std::remove(testfile);
+
+ // do the same test with pointers
+ testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ save_count = 0;
+ load_count = 0;
+
+ const base* bp = new final( 3 );
+ {
+ test_ostream ofs(testfile);
+ test_oarchive oa(ofs);
+ oa << BOOST_SERIALIZATION_NVP(bp);
+ }
+
+ base* bp2;
+ {
+ test_istream ifs(testfile);
+ test_iarchive ia(ifs);
+ ia >> BOOST_SERIALIZATION_NVP(bp2);
+ }
+
+ BOOST_CHECK(1 == save_count);
+ BOOST_CHECK(1 == load_count);
+ BOOST_CHECK(*bp2 == *bp);
+ delete bp;
+ std::remove(testfile);
+
+ return EXIT_SUCCESS;
+}
diff --git a/src/boost/libs/serialization/test/test_diamond_complex.cpp b/src/boost/libs/serialization/test/test_diamond_complex.cpp
new file mode 100644
index 000000000..826c7fb8c
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_diamond_complex.cpp
@@ -0,0 +1,480 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_diamond.cpp
+
+// (C) Copyright 2002-2009 Vladimir Prus, Robert Ramey and Takatoshi Kondo.
+// Use, modification and distribution is 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)
+
+// test of serialization library for diamond inheritence situations
+
+#include <cstddef> // NULL
+#include <fstream>
+#include <iostream>
+
+#include <boost/config.hpp>
+#include <cstdio> // remove
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::remove;
+}
+#endif
+
+#include "test_tools.hpp"
+
+#include <boost/serialization/map.hpp>
+#include <boost/serialization/utility.hpp>
+#include <boost/serialization/split_member.hpp>
+#include <boost/serialization/tracking.hpp>
+#include <boost/serialization/base_object.hpp>
+#include <boost/serialization/nvp.hpp>
+#include <boost/serialization/export.hpp>
+
+int save_count = 0; // used to detect when EXnLevel1 class is saved multiple times
+int load_count = 0; // used to detect when EXnLevel1 class is loaded multiple times
+
+// inheritance structure
+//
+// EX1Level1<-+-EX1Level2_A<-+-+-EX1Level3_A
+// | | |
+// +-EX1Level2_B<-+ +-EX1Level3_B<--EX1Level4
+//
+// EXPORT Sequence EX1Level3_A, EX1Level4
+//---------------------------------------------------------
+// EX2Level1<-+-EX2Level2_A<-+-+-EX2Level3_A
+// | | |
+// +-EX2Level2_B<-+ +-EX2Level3_B<--EX2Level4
+//
+// EXPORT Sequence EX2Level4, EX2Level3_A
+
+class EX1Level1 {
+public:
+ EX1Level1() : i(0) {}
+ EX1Level1(int i) : i(i)
+ {
+ m[i] = "text";
+ }
+
+ template<class Archive>
+ void save(Archive &ar, const unsigned int /* file_version */) const
+ {
+ std::cout << "Saving EX1Level1\n";
+ ar << BOOST_SERIALIZATION_NVP(i);
+ ar << BOOST_SERIALIZATION_NVP(m);
+ ++save_count;
+ }
+
+ template<class Archive>
+ void load(Archive & ar, const unsigned int /* file_version */)
+ {
+ std::cout << "Restoring EX1Level1\n";
+ ar >> BOOST_SERIALIZATION_NVP(i);
+ ar >> BOOST_SERIALIZATION_NVP(m);
+ ++load_count;
+ }
+
+ BOOST_SERIALIZATION_SPLIT_MEMBER()
+
+ bool operator==(const EX1Level1& another) const
+ {
+ return i == another.i && m == another.m;
+ }
+ // make polymorphic by marking at least one function virtual
+ virtual ~EX1Level1() {};
+private:
+ int i;
+ std::map<int, std::string> m;
+};
+
+// note: the default is for object tracking to be performed if and only
+// if and object of the corresponding class is anywhere serialized
+// through a pointer. In this example, that doesn't occur so
+// by default, the shared EX1Level1 object wouldn't normally be tracked.
+// This would leave to multiple save/load operation of the data in
+// this shared EX1Level1 class. This wouldn't cause an error, but it would
+// be a waste of time. So set the tracking behavior trait of the EX1Level1
+// class to always track serialized objects of that class. This permits
+// the system to detect and elminate redundent save/load operations.
+// (It is concievable that this might someday be detected automatically
+// but for now, this is not done so we have to rely on the programmer
+// to specify this trait)
+BOOST_CLASS_TRACKING(EX1Level1, track_always)
+
+class EX1Level2_A : virtual public EX1Level1 {
+public:
+ template<class Archive>
+ void save(Archive &ar, const unsigned int /* file_version */) const
+ {
+ std::cout << "Saving EX1Level2_A\n";
+ ar << BOOST_SERIALIZATION_BASE_OBJECT_NVP(EX1Level1);
+ }
+
+ template<class Archive>
+ void load(Archive & ar, const unsigned int /* file_version */)
+ {
+ std::cout << "Restoring EX1Level2_A\n";
+ ar >> BOOST_SERIALIZATION_BASE_OBJECT_NVP(EX1Level1);
+ }
+
+ BOOST_SERIALIZATION_SPLIT_MEMBER()
+};
+
+class EX1Level2_B : virtual public EX1Level1 {
+public:
+ template<class Archive>
+ void save(Archive &ar, const unsigned int /* file_version */) const
+ {
+ std::cout << "Saving EX1Level2_B\n";
+ ar << BOOST_SERIALIZATION_BASE_OBJECT_NVP(EX1Level1);
+ }
+
+ template<class Archive>
+ void load(Archive & ar, const unsigned int /* file_version */)
+ {
+ std::cout << "Restoring EX1Level2_B\n";
+ ar >> BOOST_SERIALIZATION_BASE_OBJECT_NVP(EX1Level1);
+ }
+
+ BOOST_SERIALIZATION_SPLIT_MEMBER()
+};
+
+class EX1Level3_A : public EX1Level2_A, public EX1Level2_B {
+public:
+ EX1Level3_A() {}
+ EX1Level3_A(int i) : EX1Level1(i) {}
+
+ template<class Archive>
+ void save(Archive &ar, const unsigned int /* file_version */) const
+ {
+ std::cout << "Saving EX1Level3_A\n";
+ ar << BOOST_SERIALIZATION_BASE_OBJECT_NVP(EX1Level2_A);
+ ar << BOOST_SERIALIZATION_BASE_OBJECT_NVP(EX1Level2_B);
+ }
+
+ template<class Archive>
+ void load(Archive & ar, const unsigned int /* file_version */)
+ {
+ std::cout << "Restoring EX1Level3_A\n";
+ ar >> BOOST_SERIALIZATION_BASE_OBJECT_NVP(EX1Level2_A);
+ ar >> BOOST_SERIALIZATION_BASE_OBJECT_NVP(EX1Level2_B);
+ }
+
+ BOOST_SERIALIZATION_SPLIT_MEMBER()
+};
+
+
+class EX1Level3_B : public EX1Level2_A, public EX1Level2_B {
+public:
+ EX1Level3_B() {}
+ EX1Level3_B(int) {}
+
+ template<class Archive>
+ void save(Archive &ar, const unsigned int /* file_version */) const
+ {
+ std::cout << "Saving EX1Level3_B\n";
+ ar << BOOST_SERIALIZATION_BASE_OBJECT_NVP(EX1Level2_A);
+ ar << BOOST_SERIALIZATION_BASE_OBJECT_NVP(EX1Level2_B);
+ }
+
+ template<class Archive>
+ void load(Archive & ar, const unsigned int /* file_version */)
+ {
+ std::cout << "Restoring EX1Level3_B\n";
+ ar >> BOOST_SERIALIZATION_BASE_OBJECT_NVP(EX1Level2_A);
+ ar >> BOOST_SERIALIZATION_BASE_OBJECT_NVP(EX1Level2_B);
+ }
+
+ BOOST_SERIALIZATION_SPLIT_MEMBER()
+};
+
+class EX1Level4 : public EX1Level3_B {
+public:
+ EX1Level4() {}
+ EX1Level4(int i) : EX1Level1(i) {}
+
+ template<class Archive>
+ void save(Archive &ar, const unsigned int /* file_version */) const
+ {
+ std::cout << "Saving EX1Level4\n";
+ ar << BOOST_SERIALIZATION_BASE_OBJECT_NVP(EX1Level3_B);
+ }
+
+ template<class Archive>
+ void load(Archive & ar, const unsigned int /* file_version */)
+ {
+ std::cout << "Restoring EX1Level4\n";
+ ar >> BOOST_SERIALIZATION_BASE_OBJECT_NVP(EX1Level3_B);
+ }
+
+ BOOST_SERIALIZATION_SPLIT_MEMBER()
+};
+
+
+class EX2Level1 {
+public:
+ EX2Level1() : i(0) {}
+ EX2Level1(int i) : i(i)
+ {
+ m[i] = "text";
+ }
+
+ template<class Archive>
+ void save(Archive &ar, const unsigned int /* file_version */) const
+ {
+ std::cout << "Saving EX2Level1\n";
+ ar << BOOST_SERIALIZATION_NVP(i);
+ ar << BOOST_SERIALIZATION_NVP(m);
+ ++save_count;
+ }
+
+ template<class Archive>
+ void load(Archive & ar, const unsigned int /* file_version */)
+ {
+ std::cout << "Restoring EX2Level1\n";
+ ar >> BOOST_SERIALIZATION_NVP(i);
+ ar >> BOOST_SERIALIZATION_NVP(m);
+ ++load_count;
+ }
+
+ BOOST_SERIALIZATION_SPLIT_MEMBER()
+
+ bool operator==(const EX2Level1& another) const
+ {
+ return i == another.i && m == another.m;
+ }
+ // make polymorphic by marking at least one function virtual
+ virtual ~EX2Level1() {};
+private:
+ int i;
+ std::map<int, std::string> m;
+};
+
+// note: the default is for object tracking to be performed if and only
+// if and object of the corresponding class is anywhere serialized
+// through a pointer. In this example, that doesn't occur so
+// by default, the shared EX2Level1 object wouldn't normally be tracked.
+// This would leave to multiple save/load operation of the data in
+// this shared EX2Level1 class. This wouldn't cause an error, but it would
+// be a waste of time. So set the tracking behavior trait of the EX2Level1
+// class to always track serialized objects of that class. This permits
+// the system to detect and elminate redundent save/load operations.
+// (It is concievable that this might someday be detected automatically
+// but for now, this is not done so we have to rely on the programmer
+// to specify this trait)
+BOOST_CLASS_TRACKING(EX2Level1, track_always)
+
+class EX2Level2_A : virtual public EX2Level1 {
+public:
+ template<class Archive>
+ void save(Archive &ar, const unsigned int /* file_version */) const
+ {
+ std::cout << "Saving EX2Level2_A\n";
+ ar << BOOST_SERIALIZATION_BASE_OBJECT_NVP(EX2Level1);
+ }
+
+ template<class Archive>
+ void load(Archive & ar, const unsigned int /* file_version */)
+ {
+ std::cout << "Restoring EX2Level2_A\n";
+ ar >> BOOST_SERIALIZATION_BASE_OBJECT_NVP(EX2Level1);
+ }
+
+ BOOST_SERIALIZATION_SPLIT_MEMBER()
+};
+
+class EX2Level2_B : virtual public EX2Level1 {
+public:
+ template<class Archive>
+ void save(Archive &ar, const unsigned int /* file_version */) const
+ {
+ std::cout << "Saving EX2Level2_B\n";
+ ar << BOOST_SERIALIZATION_BASE_OBJECT_NVP(EX2Level1);
+ }
+
+ template<class Archive>
+ void load(Archive & ar, const unsigned int /* file_version */)
+ {
+ std::cout << "Restoring EX2Level2_B\n";
+ ar >> BOOST_SERIALIZATION_BASE_OBJECT_NVP(EX2Level1);
+ }
+
+ BOOST_SERIALIZATION_SPLIT_MEMBER()
+};
+
+class EX2Level3_A : public EX2Level2_A, public EX2Level2_B {
+public:
+ EX2Level3_A() {}
+ EX2Level3_A(int i) : EX2Level1(i) {}
+
+ template<class Archive>
+ void save(Archive &ar, const unsigned int /* file_version */) const
+ {
+ std::cout << "Saving EX2Level3_A\n";
+ ar << BOOST_SERIALIZATION_BASE_OBJECT_NVP(EX2Level2_A);
+ ar << BOOST_SERIALIZATION_BASE_OBJECT_NVP(EX2Level2_B);
+ }
+
+ template<class Archive>
+ void load(Archive & ar, const unsigned int /* file_version */)
+ {
+ std::cout << "Restoring EX2Level3_A\n";
+ ar >> BOOST_SERIALIZATION_BASE_OBJECT_NVP(EX2Level2_A);
+ ar >> BOOST_SERIALIZATION_BASE_OBJECT_NVP(EX2Level2_B);
+ }
+
+ BOOST_SERIALIZATION_SPLIT_MEMBER()
+};
+
+
+class EX2Level3_B : public EX2Level2_A, public EX2Level2_B {
+public:
+ EX2Level3_B() {}
+ EX2Level3_B(int i) : EX2Level1(i) {}
+
+ template<class Archive>
+ void save(Archive &ar, const unsigned int /* file_version */) const
+ {
+ std::cout << "Saving EX2Level3_B\n";
+ ar << BOOST_SERIALIZATION_BASE_OBJECT_NVP(EX2Level2_A);
+ ar << BOOST_SERIALIZATION_BASE_OBJECT_NVP(EX2Level2_B);
+ }
+
+ template<class Archive>
+ void load(Archive & ar, const unsigned int /* file_version */)
+ {
+ std::cout << "Restoring EX2Level3_B\n";
+ ar >> BOOST_SERIALIZATION_BASE_OBJECT_NVP(EX2Level2_A);
+ ar >> BOOST_SERIALIZATION_BASE_OBJECT_NVP(EX2Level2_B);
+ }
+
+ BOOST_SERIALIZATION_SPLIT_MEMBER()
+};
+
+class EX2Level4 : public EX2Level3_B {
+public:
+ EX2Level4() {}
+ EX2Level4(int i) : EX2Level1(i) {}
+
+ template<class Archive>
+ void save(Archive &ar, const unsigned int /* file_version */) const
+ {
+ std::cout << "Saving EX2Level4\n";
+ ar << BOOST_SERIALIZATION_BASE_OBJECT_NVP(EX2Level3_B);
+ }
+
+ template<class Archive>
+ void load(Archive & ar, const unsigned int /* file_version */)
+ {
+ std::cout << "Restoring EX2Level4\n";
+ ar >> BOOST_SERIALIZATION_BASE_OBJECT_NVP(EX2Level3_B);
+ }
+
+ BOOST_SERIALIZATION_SPLIT_MEMBER()
+};
+
+BOOST_CLASS_EXPORT(EX1Level4)
+BOOST_CLASS_EXPORT(EX1Level3_A)
+
+BOOST_CLASS_EXPORT(EX2Level3_A)
+BOOST_CLASS_EXPORT(EX2Level4)
+
+int
+test_main( int /* argc */, char* /* argv */[] )
+{
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ {
+ save_count = 0;
+ load_count = 0;
+
+ const EX1Level3_A ex1L3a_save(3);
+ const EX1Level1 *ex1L1_save = &ex1L3a_save;
+ {
+ test_ostream ofs(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(ofs);
+ oa << boost::serialization::make_nvp("ex1L1_save", ex1L1_save);
+ }
+
+ EX1Level1 *ex1L1_load;
+ {
+ test_istream ifs(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(ifs);
+ ia >> boost::serialization::make_nvp("ex1L1_load", ex1L1_load);
+ }
+ BOOST_CHECK(1 == save_count);
+ BOOST_CHECK(1 == load_count);
+ BOOST_CHECK(*ex1L1_save == *ex1L1_load);
+ std::remove(testfile);
+ }
+ {
+ save_count = 0;
+ load_count = 0;
+
+ const EX1Level4 ex1L4_save(3);
+ const EX1Level1 *ex1L1_save = &ex1L4_save;
+ {
+ test_ostream ofs(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(ofs);
+ oa << boost::serialization::make_nvp("ex1L1_save", ex1L1_save);
+ }
+
+ EX1Level1 *ex1L1_load;
+ {
+ test_istream ifs(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(ifs);
+ ia >> boost::serialization::make_nvp("ex1L1_load", ex1L1_load);
+ }
+ BOOST_CHECK(1 == save_count);
+ BOOST_CHECK(1 == load_count);
+ BOOST_CHECK(*ex1L1_save == *ex1L1_load);
+ std::remove(testfile);
+ }
+ {
+ save_count = 0;
+ load_count = 0;
+
+ const EX2Level3_A ex2L3a_save(3);
+ const EX2Level1 *ex2L1_save = &ex2L3a_save;
+ {
+ test_ostream ofs(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(ofs);
+ oa << boost::serialization::make_nvp("ex2L1_save", ex2L1_save);
+ }
+
+ EX2Level1 *ex2L1_load;
+ {
+ test_istream ifs(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(ifs);
+ ia >> boost::serialization::make_nvp("ex2L1_load", ex2L1_load);
+ }
+ BOOST_CHECK(1 == save_count);
+ BOOST_CHECK(1 == load_count);
+ BOOST_CHECK(*ex2L1_save == *ex2L1_load);
+ std::remove(testfile);
+ }
+ {
+ save_count = 0;
+ load_count = 0;
+
+ const EX2Level4 ex2L4_save(3);
+ const EX2Level1 *ex2L1_save = &ex2L4_save;
+ {
+ test_ostream ofs(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(ofs);
+ oa << boost::serialization::make_nvp("ex2L1_save", ex2L1_save);
+ }
+
+ EX2Level1 *ex2L1_load;
+ {
+ test_istream ifs(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(ifs);
+ ia >> boost::serialization::make_nvp("ex2L1_load", ex2L1_load);
+ }
+ BOOST_CHECK(1 == save_count);
+ BOOST_CHECK(1 == load_count);
+ BOOST_CHECK(*ex2L1_save == *ex2L1_load);
+ std::remove(testfile);
+ }
+ return EXIT_SUCCESS;
+}
diff --git a/src/boost/libs/serialization/test/test_dll_exported.cpp b/src/boost/libs/serialization/test/test_dll_exported.cpp
new file mode 100644
index 000000000..69b996c51
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_dll_exported.cpp
@@ -0,0 +1,137 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_dll_exported.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// should pass compilation and execution
+
+// This is an overly complex test. The purpose of this test is to
+// demostrate and test the ability to serialize a hiarchy of class
+// through a base class pointer even though those class might be
+// implemente in different dlls and use different extended type info
+// systems.
+//
+// polymorphic_ base is locally declared and defined. It use the
+// "no_rtti" extended type info system.
+
+// polymorphic_derived1 is locally declared and defined. It uses
+// the default "type_id" extended type info system
+
+// polymorphic_derived2 is declared in polymorphic_derived.hpp
+// and defined in dll_polymorphic_derived2. It uses the typeid
+// system.
+
+#include <cstddef> // NULL
+#include <fstream>
+
+#include <cstdio> // remove
+#include <boost/config.hpp>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::remove;
+}
+#endif
+
+#include <boost/archive/polymorphic_oarchive.hpp>
+#include <boost/archive/polymorphic_iarchive.hpp>
+
+#include "test_tools.hpp"
+
+#include <boost/archive/polymorphic_oarchive.hpp>
+#include <boost/archive/polymorphic_iarchive.hpp>
+
+#include <boost/serialization/base_object.hpp>
+#include <boost/serialization/export.hpp>
+#include <boost/serialization/access.hpp>
+
+#define POLYMORPHIC_BASE_IMPORT
+#include "polymorphic_base.hpp"
+
+#include "polymorphic_derived1.hpp"
+
+#define POLYMORPHIC_DERIVED2_IMPORT
+#include "polymorphic_derived2.hpp"
+
+// save exported polymorphic class
+void save_exported(const char *testfile)
+{
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa_implementation(os, TEST_ARCHIVE_FLAGS);
+ boost::archive::polymorphic_oarchive & oa_interface = oa_implementation;
+
+ polymorphic_base *rb1 = new polymorphic_derived1;
+ polymorphic_base *rb2 = new polymorphic_derived2;
+ polymorphic_derived2 *rd21 = new polymorphic_derived2;
+
+ // export will permit correct serialization
+ // through a pointer to a base class
+ oa_interface << BOOST_SERIALIZATION_NVP(rb1);
+ oa_interface << BOOST_SERIALIZATION_NVP(rb2);
+ oa_interface << BOOST_SERIALIZATION_NVP(rd21);
+
+ delete rd21;
+ delete rb2;
+ delete rb1;
+}
+
+// save exported polymorphic class
+void load_exported(const char *testfile)
+{
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia_implementation(is, TEST_ARCHIVE_FLAGS);
+ boost::archive::polymorphic_iarchive & ia_interface = ia_implementation;
+
+ polymorphic_base *rb1 = NULL;
+ polymorphic_base *rb2 = NULL;
+ polymorphic_derived2 *rd21 = NULL;
+
+ // export will permit correct serialization
+ // through a pointer to a base class
+ ia_interface >> BOOST_SERIALIZATION_NVP(rb1);
+ BOOST_CHECK_MESSAGE(
+ boost::serialization::type_info_implementation<polymorphic_derived1>
+ ::type::get_const_instance()
+ ==
+ * boost::serialization::type_info_implementation<polymorphic_base>
+ ::type::get_const_instance().get_derived_extended_type_info(*rb1),
+ "restored pointer b1 not of correct type"
+ );
+ ia_interface >> BOOST_SERIALIZATION_NVP(rb2);
+ BOOST_CHECK_MESSAGE(
+ boost::serialization::type_info_implementation<polymorphic_derived2>
+ ::type::get_const_instance()
+ ==
+ * boost::serialization::type_info_implementation<polymorphic_base>
+ ::type::get_const_instance().get_derived_extended_type_info(*rb2),
+ "restored pointer b2 not of correct type"
+ );
+ ia_interface >> BOOST_SERIALIZATION_NVP(rd21);
+ BOOST_CHECK_MESSAGE(
+ boost::serialization::type_info_implementation<polymorphic_derived2>
+ ::type::get_const_instance()
+ ==
+ * boost::serialization::type_info_implementation<polymorphic_derived2>
+ ::type::get_const_instance().get_derived_extended_type_info(*rd21),
+ "restored pointer d2 not of correct type"
+ );
+ delete rd21;
+ delete rb2;
+ delete rb1;
+}
+
+int
+test_main( int /* argc */, char* /* argv */[] )
+{
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ save_exported(testfile);
+ load_exported(testfile);
+ std::remove(testfile);
+ return EXIT_SUCCESS;
+}
+
+// EOF
diff --git a/src/boost/libs/serialization/test/test_dll_plugin.cpp b/src/boost/libs/serialization/test/test_dll_plugin.cpp
new file mode 100644
index 000000000..c5c4a5fb9
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_dll_plugin.cpp
@@ -0,0 +1,211 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_dll_plugin.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// should pass compilation and execution
+
+// Note this test creates, serializes, and destroys
+// a class instance while knowing nothing more than its
+// exported class ID (GUID) and a base class from which
+// it is derived. This is referred to as a "plugin"
+// since the same program could, without recompilation,
+// manipulate any number of derived types - even those
+// which have not been yet been created.
+
+#include <fstream>
+
+#include <cstdio> // remove
+#include <boost/config.hpp>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::remove;
+}
+#endif
+
+#include <boost/archive/archive_exception.hpp>
+
+// for now, only test with simple text and polymorphic archive
+#include "test_tools.hpp"
+
+#include <boost/serialization/base_object.hpp>
+#include <boost/serialization/export.hpp>
+#include <boost/serialization/type_info_implementation.hpp>
+#include <boost/serialization/access.hpp>
+#include <boost/serialization/void_cast.hpp>
+#include <boost/serialization/extended_type_info.hpp>
+
+#include "polymorphic_base.hpp"
+
+// declare and implement a derived class in our own executable
+class polymorphic_derived1 : public polymorphic_base
+{
+ friend class boost::serialization::access;
+ template<class Archive>
+ void serialize(Archive &ar, const unsigned int /* file_version */){
+ ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(polymorphic_base);
+ }
+ const char * get_key() const{
+ return
+ boost::serialization::type_info_implementation<
+ polymorphic_derived1
+ >::type::get_const_instance().get_key();
+ }
+public:
+ virtual ~polymorphic_derived1(){}
+};
+
+// This class is derived from polymorphic_base which uses the no_rtti system
+// rather than the typeid system. This system uses the exported name as the
+// type identifier key. This MUST be exported!!!
+BOOST_CLASS_EXPORT(polymorphic_derived1)
+
+// MWerks users can do this to make their code work
+BOOST_SERIALIZATION_MWERKS_BASE_AND_DERIVED(polymorphic_base, polymorphic_derived1)
+
+// save exported polymorphic class
+void save_exported(const char *testfile)
+{
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+
+ polymorphic_base *rb1 = new polymorphic_derived1;
+
+ // get the eti record for the exported type "polymorphic_derived2"
+ boost::serialization::extended_type_info const * const d2_eti =
+ boost::serialization::extended_type_info::find(
+ "polymorphic_derived2"
+ );
+ assert(NULL != d2_eti);
+
+ // create a new instance of the type referred to by this record.
+ // in this example, we happen to know that the class constructor
+ // takes no arguments.
+ void const * const rd2 = d2_eti->construct();
+ assert(NULL != rd2);
+
+ // transform the pointer to a pointer to the base class
+ polymorphic_base const * const rb2
+ = static_cast<polymorphic_base const *>(
+ boost::serialization::void_upcast(
+ * d2_eti,
+ boost::serialization::type_info_implementation<polymorphic_base>
+ ::type::get_const_instance(),
+ rd2
+ )
+ );
+
+ // export will permit correct serialization
+ // through a pointer to a base class
+ oa << BOOST_SERIALIZATION_NVP(rb1);
+ oa << BOOST_SERIALIZATION_NVP(rb2);
+
+ // don't need these any more - don't leak memory
+ delete rb1;
+ // note delete original handle - not runtime cast one !!!
+ //delete rb2;
+ d2_eti->destroy(rd2);
+}
+
+// save exported polymorphic class
+void load_exported(const char *testfile)
+{
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+
+ polymorphic_base *rb1 = NULL;
+ polymorphic_base *rb2 = NULL;
+
+ // export will permit correct serialization
+ // through a pointer to a base class
+ ia >> BOOST_SERIALIZATION_NVP(rb1);
+
+ BOOST_CHECK_MESSAGE(
+ boost::serialization::type_info_implementation<polymorphic_derived1>
+ ::type::get_const_instance()
+ ==
+ * boost::serialization::type_info_implementation<polymorphic_base>
+ ::type::get_const_instance().get_derived_extended_type_info(*rb1),
+ "restored pointer b1 not of correct type"
+ );
+ ia >> BOOST_SERIALIZATION_NVP(rb2);
+
+ // get the eti record for the exported type "polymorphic_derived2"
+ boost::serialization::extended_type_info const * const d2_eti =
+ boost::serialization::extended_type_info::find(
+ "polymorphic_derived2"
+ );
+ assert(NULL != d2_eti);
+
+ BOOST_CHECK_MESSAGE(
+ * d2_eti
+ ==
+ * boost::serialization::type_info_implementation<polymorphic_base>
+ ::type::get_const_instance().get_derived_extended_type_info(*rb2),
+ "restored pointer b2 not of correct type"
+ );
+
+ delete rb1;
+ delete rb2;
+}
+
+#ifdef BOOST_WINDOWS
+
+#define WIN32_LEAN_AND_MEAN
+#include <TCHAR.H>
+#include <windows.h>
+
+int
+test_main( int /* argc */, char* /* argv */[] )
+{
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ HINSTANCE hDLL; // Handle to DLL
+ hDLL = LoadLibrary(_T("polymorphic_derived2.dll"));
+ BOOST_CHECK_MESSAGE(
+ (0 != hDLL),
+ "Failed to find/load polymorphic_derived2"
+ );
+ if(0 == hDLL)
+ return EXIT_FAILURE;
+
+ save_exported(testfile);
+ load_exported(testfile);
+ FreeLibrary(hDLL);
+
+ std::remove(testfile);
+ return EXIT_SUCCESS;
+}
+
+#else // presume *nix
+
+#include <dlfcn.h>
+
+int
+test_main( int /* argc */, char* /* argv */[] )
+{
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ void * hDLL; // Handle to DLL
+ hDLL = dlopen("polymorphic_derived2.so", RTLD_NOW | RTLD_GLOBAL);
+ BOOST_CHECK_MESSAGE((0 != hDLL), "Failed to find/load plugin_polymorphic_derived2" );
+ BOOST_CHECK_MESSAGE((0 != hDLL), dlerror() );
+ if(0 == hDLL)
+ return EXIT_FAILURE;
+
+ save_exported(testfile);
+ load_exported(testfile);
+ dlclose(hDLL);
+
+ std::remove(testfile);
+ return EXIT_SUCCESS;
+}
+
+#endif
+
+// EOF
diff --git a/src/boost/libs/serialization/test/test_dll_simple.cpp b/src/boost/libs/serialization/test/test_dll_simple.cpp
new file mode 100644
index 000000000..278d25c95
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_dll_simple.cpp
@@ -0,0 +1,247 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_dll_simple.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// should pass compilation and execution
+
+// invoke header for a custom archive test.
+
+#include <cstddef> // NULL
+#include <fstream>
+
+#include <cstdio> // remove
+#include <boost/config.hpp>
+
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::remove;
+}
+#endif
+
+// for now, only test with simple text and polymorphic archive
+#include "test_tools.hpp"
+#include "text_archive.hpp"
+
+#include <boost/archive/polymorphic_text_oarchive.hpp>
+#include <boost/archive/polymorphic_text_iarchive.hpp>
+
+#define A_IMPORT
+#include "A.hpp"
+
+// simple class with text archive compiled in dll
+void
+test1(){
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ const A a;
+ A a1;
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ boost::archive::text_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << boost::serialization::make_nvp("a", a);
+ }
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ boost::archive::text_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> boost::serialization::make_nvp("a", a1);
+ }
+ BOOST_CHECK_EQUAL(a, a1);
+
+ std::remove(testfile);
+}
+
+// simple class with polymorphic archive compiled in dll
+void
+test2(){
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ const A a;
+ A a1;
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ boost::archive::polymorphic_text_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ boost::archive::polymorphic_oarchive & poa(oa);
+ poa << boost::serialization::make_nvp("a", a);
+ }
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ boost::archive::polymorphic_text_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ boost::archive::polymorphic_iarchive & pia(ia);
+ pia >> boost::serialization::make_nvp("a", a1);
+ }
+ BOOST_CHECK_EQUAL(a, a1);
+
+ std::remove(testfile);
+}
+
+// simple class pointer with text archive compiled in dll
+void
+test3(){
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ const A *a = new A;
+ A *a1;
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ boost::archive::text_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << boost::serialization::make_nvp("a", a);
+ }
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ boost::archive::text_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> boost::serialization::make_nvp("a", a1);
+ }
+ BOOST_CHECK_EQUAL(*a, *a1);
+
+ std::remove(testfile);
+ delete a;
+}
+
+// simple class pointer with polymorphic archive compiled in dll
+void
+test4(){
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ const A *a = new A;
+ A *a1;
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ boost::archive::polymorphic_text_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ boost::archive::polymorphic_oarchive & poa(oa);
+ poa << boost::serialization::make_nvp("a", a);
+ }
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ boost::archive::polymorphic_text_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ boost::archive::polymorphic_iarchive & pia(ia);
+ pia >> boost::serialization::make_nvp("a", a1);
+ }
+ BOOST_CHECK_EQUAL(*a, *a1);
+
+ std::remove(testfile);
+ delete a;
+}
+
+#include "B.hpp"
+
+// derived class with base text archive compiled in dll
+void
+test5(){
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ const B b;
+ B b1;
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ boost::archive::text_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << boost::serialization::make_nvp("b", b);
+ }
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ boost::archive::text_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> boost::serialization::make_nvp("b", b1);
+ }
+ BOOST_CHECK_EQUAL(b, b1);
+
+ std::remove(testfile);
+}
+
+// derived class with base base compiled with polymorphic archive in dll
+void
+test6(){
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ const B b;
+ B b1;
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ boost::archive::polymorphic_text_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ boost::archive::polymorphic_oarchive & poa(oa);
+ poa << boost::serialization::make_nvp("b", b);
+ }
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ boost::archive::polymorphic_text_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ boost::archive::polymorphic_iarchive & pia(ia);
+ pia >> boost::serialization::make_nvp("b", b1);
+ }
+ BOOST_CHECK_EQUAL(b, b1);
+
+ std::remove(testfile);
+}
+
+// derived class pointer with base text archive compiled in dll
+void
+test7(){
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ const B *b = new B;
+ B *b1;
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ boost::archive::text_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << boost::serialization::make_nvp("b", b);
+ }
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ boost::archive::text_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> boost::serialization::make_nvp("b", b1);
+ }
+ BOOST_CHECK_EQUAL(*b, *b1);
+
+ std::remove(testfile);
+ delete b;
+}
+
+// derived class pointer with base polymorphic archive compiled in dll
+void
+test8(){
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ const B *b = new B;
+ B *b1;
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ boost::archive::polymorphic_text_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ boost::archive::polymorphic_oarchive & poa(oa);
+ poa << boost::serialization::make_nvp("b", b);
+ }
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ boost::archive::polymorphic_text_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ boost::archive::polymorphic_iarchive & pia(ia);
+ pia >> boost::serialization::make_nvp("b", b1);
+ }
+ BOOST_CHECK_EQUAL(*b, *b1);
+
+ std::remove(testfile);
+ delete b;
+}
+
+
+int
+test_main( int /* argc */, char* /* argv */[] )
+{
+ test1();
+ test2();
+ test3();
+ test4();
+ test5();
+ test6();
+ test7();
+ test8();
+ return EXIT_SUCCESS;
+}
+
diff --git a/src/boost/libs/serialization/test/test_enable_shared_from_this.cpp b/src/boost/libs/serialization/test/test_enable_shared_from_this.cpp
new file mode 100644
index 000000000..608837e22
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_enable_shared_from_this.cpp
@@ -0,0 +1,195 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_enable_shared_from_this.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// This demonstrates a problem with boost::serialization and boost::enable_shared_from_this.
+// (boost version 1.53)
+// See boost TRAC ticket #9567
+//
+// Given the following class structure:
+// Base is a simple class
+// Derived inherits from Base
+// Derived also inherits from boost::enable_shared_from_this<Derived>
+// Base and Derived implement boost::serialization
+//
+// When deserializing an instance of Derived into a vector of boost::shared_ptr<Derived>:
+// Base and Derived members are reconstructed correctly.
+// Derived::shared_from_this() works as expected.
+//
+// But when deserializing an instance of Derived into a vector of boost::shared_ptr<Base>:
+// Base and Derived members are still reconstructed correctly.
+// Derived::shared_from_this() throws a bad_weak_ptr exception.
+// This is because enable_shared_from_this::weak_ptr is NOT reconstructed - It is zero.
+
+#include <sstream>
+
+#include <boost/archive/text_oarchive.hpp>
+#include <boost/archive/text_iarchive.hpp>
+
+#include <boost/enable_shared_from_this.hpp>
+#include <boost/serialization/shared_ptr.hpp>
+#include <boost/serialization/export.hpp>
+#include <boost/serialization/split_free.hpp>
+
+#include "test_tools.hpp"
+
+#include <set>
+
+namespace boost {
+namespace serialization {
+
+struct enable_shared_from_this_helper {
+ std::set<shared_ptr<void> > m_esfth;
+ void record(boost::shared_ptr<void> sp){
+ m_esfth.insert(sp);
+ }
+};
+
+template<class Archive, class T>
+void serialize(
+ Archive & ar,
+ boost::enable_shared_from_this<T> & t,
+ const unsigned int file_version
+){
+ enable_shared_from_this_helper & h =
+ ar.template get_helper<
+ enable_shared_from_this_helper
+ >();
+
+ shared_ptr<T> sp = t.shared_from_this();
+ h.record(sp);
+}
+
+} // serialization
+} // boost
+
+class Base {
+ friend class boost::serialization::access;
+
+ template<class Archive>
+ void serialize(Archive & ar, const unsigned int version)
+ {
+ ar & BOOST_SERIALIZATION_NVP(m_base);
+ }
+protected:
+ Base() {}
+ virtual ~Base() {} // "virtual" forces RTTI, to enable serialization of Derived from Base pointer
+public:
+ int m_base;
+};
+
+class Derived : public Base, public boost::enable_shared_from_this<Derived> {
+ friend class boost::serialization::access;
+
+ template<class Archive>
+ void serialize(Archive & ar, const unsigned int version)
+ {
+ ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(Base);
+ ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
+ boost::enable_shared_from_this<Derived>
+ );
+ ar & BOOST_SERIALIZATION_NVP(m_derived);
+ }
+public:
+ boost::shared_ptr<Derived> SharedPtr() { return shared_from_this(); }
+ int m_derived;
+ Derived() {}
+ ~Derived() {}
+};
+// The following is required to enable serialization from Base pointer
+BOOST_CLASS_EXPORT(Derived)
+
+// This test passes
+void test_passes(){
+ std::stringstream ss;
+ {
+ boost::shared_ptr<Derived> d(new Derived());
+ d->m_base = 1;
+ d->m_derived = 2;
+
+ // Get a raw pointer to Derived
+ Derived* raw_d = d.get();
+
+ // Verify base and derived members
+ BOOST_CHECK(raw_d->m_base==1);
+ BOOST_CHECK(raw_d->m_derived==2);
+
+ // verify shared_from_this
+ BOOST_CHECK(d == raw_d->SharedPtr());
+
+ boost::archive::text_oarchive oa(ss);
+ oa & BOOST_SERIALIZATION_NVP(d);
+ }
+ {
+ // Deserialize it back into a vector of shared_ptr<Derived>
+ boost::shared_ptr<Derived> d;
+ ss.seekg(0);
+ boost::archive::text_iarchive ia(ss);
+ ia & BOOST_SERIALIZATION_NVP(d);
+
+ // Get a raw pointer to Derived
+ Derived* raw_d = d.get();
+
+ // Verify base and derived members
+ BOOST_CHECK(raw_d->m_base==1);
+ BOOST_CHECK(raw_d->m_derived==2);
+
+ // verify shared_from_this
+ BOOST_CHECK(d == raw_d->SharedPtr());
+ }
+}
+
+// This test fails
+void test_fails(){
+ std::stringstream ss;
+ {
+ boost::shared_ptr<Base> b(new Derived());
+ Derived* raw_d1 = static_cast<Derived*>(b.get());
+ raw_d1->m_base = 1;
+ raw_d1->m_derived = 2;
+
+ // Get a raw pointer to Derived via shared_ptr<Base>
+ Derived* raw_d = static_cast<Derived*>(b.get());
+
+ // Verify base and derived members
+ BOOST_CHECK(raw_d->m_base==1);
+ BOOST_CHECK(raw_d->m_derived==2);
+
+ // verify shared_from_this
+ boost::shared_ptr<Derived> d = raw_d->SharedPtr();
+ BOOST_CHECK(d == b);
+ // Serialize the vector
+ boost::archive::text_oarchive oa(ss);
+ oa & BOOST_SERIALIZATION_NVP(b);
+ }
+ {
+ // Deserialize it back into a vector of shared_ptr<Base>
+ ss.seekg(0);
+ boost::archive::text_iarchive ia(ss);
+ boost::shared_ptr<Base> b;
+ ia & BOOST_SERIALIZATION_NVP(b);
+
+ // Get a raw pointer to Derived via shared_ptr<Base>
+ Derived* raw_d = static_cast<Derived*>(b.get());
+ // Verify base and derived members
+ BOOST_CHECK(raw_d->m_base==1);
+ BOOST_CHECK(raw_d->m_derived==2);
+
+ // verify shared_from_this
+ // FAIL: The following line throws bad_weak_ptr exception
+ boost::shared_ptr<Derived> d = raw_d->SharedPtr();
+ BOOST_CHECK(d == b);
+ }
+}
+
+int test_main(int /*argc*/, char * /*argv */[]){
+ test_fails();
+ test_passes();
+ return EXIT_SUCCESS;
+}
+
+// EOF
diff --git a/src/boost/libs/serialization/test/test_exported.cpp b/src/boost/libs/serialization/test/test_exported.cpp
new file mode 100644
index 000000000..2134c6c30
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_exported.cpp
@@ -0,0 +1,104 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_exported.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// should pass compilation and execution
+
+#include <cstddef>
+#include <fstream>
+
+#include <boost/config.hpp>
+#include <cstdio> // remove
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::remove;
+}
+#endif
+
+#include <boost/serialization/type_info_implementation.hpp>
+#include <boost/serialization/export.hpp>
+#include <boost/serialization/base_object.hpp>
+
+#include "test_tools.hpp"
+
+#include <boost/archive/polymorphic_oarchive.hpp>
+#include <boost/archive/polymorphic_iarchive.hpp>
+
+#include "polymorphic_derived1.hpp"
+#include "polymorphic_derived2.hpp"
+
+// save exported polymorphic class
+void save_exported(const char *testfile)
+{
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa_implementation(os, TEST_ARCHIVE_FLAGS);
+ boost::archive::polymorphic_oarchive & oa_interface = oa_implementation;
+
+ const polymorphic_base *rb1 = new polymorphic_derived1;
+ const polymorphic_base *rb2 = new polymorphic_derived2;
+
+ // export will permit correct serialization
+ // through a pointer to a base class
+ std::cout << "saving polymorphic_derived1 (no_rtti)\n";
+ oa_interface << BOOST_SERIALIZATION_NVP(rb1);
+
+ std::cout << "saving polymorphic_derived2\n";
+ oa_interface << BOOST_SERIALIZATION_NVP(rb2);
+
+ delete rb1;
+ delete rb2;
+}
+
+// save exported polymorphic class
+void load_exported(const char *testfile)
+{
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia_implementation(is, TEST_ARCHIVE_FLAGS);
+ boost::archive::polymorphic_iarchive & ia_interface = ia_implementation;
+
+ polymorphic_base *rb1 = NULL;
+ polymorphic_base *rb2 = NULL;
+
+ // export will permit correct serialization
+ // through a pointer to a base class
+ ia_interface >> BOOST_SERIALIZATION_NVP(rb1);
+ BOOST_CHECK_MESSAGE(
+ boost::serialization::type_info_implementation<polymorphic_derived1>
+ ::type::get_const_instance()
+ ==
+ * boost::serialization::type_info_implementation<polymorphic_base>
+ ::type::get_const_instance().get_derived_extended_type_info(*rb1),
+ "restored pointer b1 not of correct type"
+ );
+
+ ia_interface >> BOOST_SERIALIZATION_NVP(rb2);
+ BOOST_CHECK_MESSAGE(
+ boost::serialization::type_info_implementation<polymorphic_derived2>
+ ::type::get_const_instance()
+ ==
+ * boost::serialization::type_info_implementation<polymorphic_base>
+ ::type::get_const_instance().get_derived_extended_type_info(*rb2),
+ "restored pointer b2 not of correct type"
+ );
+
+ delete rb1;
+ delete rb2;
+}
+
+int
+test_main( int /* argc */, char* /* argv */[] )
+{
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ save_exported(testfile);
+ load_exported(testfile);
+ std::remove(testfile);
+ return EXIT_SUCCESS;
+}
+
+// EOF
diff --git a/src/boost/libs/serialization/test/test_forward_list.cpp b/src/boost/libs/serialization/test/test_forward_list.cpp
new file mode 100644
index 000000000..ac8af3d9b
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_forward_list.cpp
@@ -0,0 +1,51 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_forward_list.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// should pass compilation and execution
+
+#include <cstddef> // NULL
+#include <fstream>
+#include <cstdio> // remove
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::remove;
+}
+#endif
+
+#include <boost/config.hpp>
+#include <boost/serialization/forward_list.hpp>
+
+#include <boost/archive/archive_exception.hpp>
+#include "test_tools.hpp"
+
+#include "A.hpp"
+#include "A.ipp"
+
+int test_main( int /* argc */, char* /* argv */[] )
+{
+ const char * testfile = boost::archive::tmpnam(NULL);
+ std::forward_list<A> aslist;
+ aslist.push_front(A());
+ aslist.push_front(A());
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << boost::serialization::make_nvp("aslist", aslist);
+ }
+ std::forward_list<A> aslist1;{
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> boost::serialization::make_nvp("aslist", aslist1);
+ }
+ BOOST_CHECK(aslist == aslist1);
+ std::remove(testfile);
+ return EXIT_SUCCESS;
+}
+
+// EOF
+
diff --git a/src/boost/libs/serialization/test/test_forward_list_ptrs.cpp b/src/boost/libs/serialization/test/test_forward_list_ptrs.cpp
new file mode 100644
index 000000000..a5bfab084
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_forward_list_ptrs.cpp
@@ -0,0 +1,94 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_list.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// should pass compilation and execution
+
+#include <cstddef>
+#include <fstream>
+
+#include <boost/config.hpp>
+#include <cstdio> // remove
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::remove;
+}
+#endif
+
+#include <boost/type_traits/is_pointer.hpp>
+#include <boost/static_assert.hpp>
+#include <boost/checked_delete.hpp>
+
+#include <boost/archive/archive_exception.hpp>
+#include "test_tools.hpp"
+
+#include <boost/serialization/nvp.hpp>
+
+#include "A.hpp"
+#include "A.ipp"
+
+template<class T>
+struct ptr_equal_to {
+ BOOST_STATIC_ASSERT(::boost::is_pointer< T >::value);
+ bool operator()(T const _Left, T const _Right) const
+ {
+ if(NULL == _Left && NULL == _Right)
+ return true;
+ if(typeid(*_Left) != typeid(*_Right))
+ return false;
+ return *_Left == *_Right;
+ }
+};
+
+#include <boost/serialization/forward_list.hpp>
+void test_forward_list(){
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ std::forward_list<A *> aslist;
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ aslist.push_front(new A);
+ aslist.push_front(new A);
+ oa << boost::serialization::make_nvp("aslist", aslist);
+ }
+ std::forward_list<A *> aslist1;
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> boost::serialization::make_nvp("aslist", aslist1);
+ BOOST_CHECK(
+ std::equal(
+ aslist.begin(),
+ aslist.end(),
+ aslist1.begin(),
+ ptr_equal_to<A *>()
+ )
+ );
+ }
+ std::for_each(
+ aslist.begin(),
+ aslist.end(),
+ boost::checked_deleter<A>()
+ );
+ std::for_each(
+ aslist1.begin(),
+ aslist1.end(),
+ boost::checked_deleter<A>()
+ );
+ std::remove(testfile);
+}
+
+int test_main( int /* argc */, char* /* argv */[] )
+{
+ test_forward_list();
+
+ return EXIT_SUCCESS;
+}
+
+// EOF
diff --git a/src/boost/libs/serialization/test/test_helper_support.cpp b/src/boost/libs/serialization/test/test_helper_support.cpp
new file mode 100644
index 000000000..b216543ba
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_helper_support.cpp
@@ -0,0 +1,129 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_helper_support.cpp
+
+// (C) Copyright 2008 Joaquin M Lopez Munoz.
+// Use, modification and distribution is 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)
+
+// should pass compilation and execution
+
+#include <algorithm>
+#include <cstddef>
+#include <fstream>
+
+#include <cstdio> // remove
+#include <boost/config.hpp>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::remove;
+}
+#endif
+
+#include "test_tools.hpp"
+#include <boost/lexical_cast.hpp>
+#include <boost/serialization/split_free.hpp>
+#include <boost/serialization/vector.hpp>
+#include <string>
+#include <vector>
+
+// this test uses a special string (my_string) whose contents are shared
+// and hence saved in the archive only once. We need a helper in order
+// to convert my_string into a serializable type
+
+class my_string:public std::string
+{
+ typedef std::string super;
+
+public:
+ my_string(){}
+ my_string(const super & str): super(str){}
+ my_string & operator=(const super& rhs) {
+ super::operator=(rhs);
+ return *this;
+ }
+};
+
+struct my_string_helper
+{
+ typedef std::vector<my_string> table;
+ table m_t;
+};
+
+BOOST_SERIALIZATION_SPLIT_FREE(my_string)
+
+namespace boost {
+namespace serialization {
+
+template<class Archive>
+void save(Archive & ar, const my_string & str, const unsigned int /* version */)
+{
+ void (* const idx)(Archive &, const my_string &, const unsigned int) = & save;
+ void * const id = reinterpret_cast<void * const>(idx);
+ my_string_helper & msh = ar.template get_helper<my_string_helper>(id);
+
+ my_string_helper::table t = msh.m_t;
+ my_string_helper::table::iterator it = std::find(t.begin(), t.end(), str);
+ if(it == t.end()){
+ my_string_helper::table::size_type s = t.size();
+ ar << make_nvp("index", s);
+ t.push_back(str);
+ ar << make_nvp("string", static_cast<const std::string &>(str));
+ }
+ else{
+ my_string_helper::table::size_type s = it - t.begin();
+ ar << make_nvp("index", s);
+ }
+}
+
+template<class Archive>
+void load(Archive & ar, my_string & str, const unsigned int /* version */)
+{
+ void (* const idx)(Archive &, my_string &, const unsigned int) = & load;
+ void * const id = reinterpret_cast<void * const>(idx);
+ my_string_helper & msh = ar.template get_helper<my_string_helper>(id);
+
+ my_string_helper::table t = msh.m_t;
+
+ my_string_helper::table::size_type s;
+ ar >> make_nvp("index", s);
+ t.reserve(s);
+ if(s >= t.size()){
+ std::string tmp;
+ ar >> make_nvp("string", tmp);
+ str = tmp;
+ t.push_back(str);
+ }
+ else{
+ str = t[s];
+ }
+}
+
+} // namespace serialization
+} // namespace boost
+
+int test_main( int /* argc */, char* /* argv */[] ){
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ std::vector<my_string> v1;
+ for(int i=0; i<1000; ++i){
+ v1.push_back(my_string(boost::lexical_cast<std::string>(i % 100)));
+ }
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << boost::serialization::make_nvp("vector", v1);
+ }
+ {
+ std::vector<my_string> v2;
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> boost::serialization::make_nvp("vector", v2);
+ BOOST_CHECK(v1 == v2);
+ }
+ std::remove(testfile);
+ return EXIT_SUCCESS;
+}
+
+// EOF
diff --git a/src/boost/libs/serialization/test/test_inclusion.cpp b/src/boost/libs/serialization/test/test_inclusion.cpp
new file mode 100644
index 000000000..f42639a69
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_inclusion.cpp
@@ -0,0 +1,43 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_const.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+#include <boost/serialization/access.hpp>
+#include <boost/serialization/base_object.hpp>
+#include <boost/serialization/export.hpp>
+#include <boost/serialization/level.hpp>
+#include <boost/serialization/level_enum.hpp>
+#include <boost/serialization/nvp.hpp>
+#include <boost/serialization/split_free.hpp>
+#include <boost/serialization/split_member.hpp>
+#include <boost/serialization/tracking.hpp>
+#include <boost/serialization/tracking_enum.hpp>
+#include <boost/serialization/traits.hpp>
+#include <boost/serialization/type_info_implementation.hpp>
+#include <boost/serialization/version.hpp>
+#include <boost/serialization/singleton.hpp>
+
+struct foo
+{
+ int x;
+private:
+ friend class boost::serialization::access;
+
+ template<class Archive>
+ void serialize(Archive & ar, const unsigned int version)
+ {
+ // In compilers implementing 2-phase lookup, the call to
+ // make_nvp is resolved even if foo::serialize() is never
+ // instantiated.
+ ar & boost::serialization::make_nvp("x",x);
+ }
+};
+
+int
+main(int /*argc*/, char * /*argv*/[]){
+ return 0;
+}
diff --git a/src/boost/libs/serialization/test/test_inclusion2.cpp b/src/boost/libs/serialization/test/test_inclusion2.cpp
new file mode 100644
index 000000000..dfecccdcf
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_inclusion2.cpp
@@ -0,0 +1,25 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_const.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+#include <boost/archive/binary_iarchive.hpp>
+#include <boost/serialization/vector.hpp>
+#include <sstream>
+#include <vector>
+
+void f()
+{
+ std::stringstream iss;
+ boost::archive::binary_iarchive ar(iss);
+ std::vector<int> out;
+ ar >> out;
+}
+
+int
+main(int /*argc*/, char * /*argv*/[]){
+ return 0;
+}
diff --git a/src/boost/libs/serialization/test/test_interators.cpp b/src/boost/libs/serialization/test/test_interators.cpp
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_interators.cpp
diff --git a/src/boost/libs/serialization/test/test_interrupts.cpp b/src/boost/libs/serialization/test/test_interrupts.cpp
new file mode 100644
index 000000000..6dd599dd7
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_interrupts.cpp
@@ -0,0 +1,147 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_array.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// should pass compilation and execution
+
+#include <stdlib.h>
+
+#include <boost/config.hpp>
+#include <cstddef>
+#include <fstream>
+#include <algorithm> // equal
+#include <cstdio> // remove
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::remove;
+}
+#endif
+
+#include "test_tools.hpp"
+#include <boost/serialization/nvp.hpp>
+#include <boost/serialization/split_member.hpp>
+#include <boost/core/no_exceptions_support.hpp>
+#include <boost/archive/archive_exception.hpp>
+
+struct test_dummy_out {
+ template<class Archive>
+ void save(Archive &, const unsigned int /*version*/) const {
+ throw boost::archive::archive_exception(
+ boost::archive::archive_exception::other_exception
+ );
+ }
+ template<class Archive>
+ void load(Archive & ar, const unsigned int version){
+ }
+ BOOST_SERIALIZATION_SPLIT_MEMBER()
+ test_dummy_out(){}
+};
+
+template<class T>
+int test_out(){
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ const T t;
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ {
+ BOOST_TRY {
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ bool exception_invoked = false;
+ BOOST_TRY {
+ oa << BOOST_SERIALIZATION_NVP(t);
+ }
+ BOOST_CATCH (boost::archive::archive_exception const& ae){
+ BOOST_CHECK(
+ boost::archive::archive_exception::other_exception
+ == ae.code
+ );
+ exception_invoked = true;
+ }
+ BOOST_CATCH_END
+ BOOST_CHECK(exception_invoked);
+ }
+ BOOST_CATCH (boost::archive::archive_exception const& ae){}
+ BOOST_CATCH_END
+ }
+ os.close();
+ }
+ std::remove(testfile);
+ return EXIT_SUCCESS;
+}
+
+struct test_dummy_in {
+ template<class Archive>
+ void save(Archive & /* ar */, const unsigned int /*version*/) const {
+ }
+ template<class Archive>
+ void load(Archive & /* ar */, const unsigned int /*version*/){
+ throw boost::archive::archive_exception(
+ boost::archive::archive_exception::other_exception
+ );
+ }
+ BOOST_SERIALIZATION_SPLIT_MEMBER()
+ test_dummy_in(){}
+};
+
+template<class T>
+int test_in(){
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ const T t;
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ {
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << BOOST_SERIALIZATION_NVP(t);
+ }
+ os.close();
+ }
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ {
+ T t1;
+ BOOST_TRY {
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ bool exception_invoked = false;
+ BOOST_TRY {
+ ia >> BOOST_SERIALIZATION_NVP(t1);
+ }
+ BOOST_CATCH (boost::archive::archive_exception const& ae){
+ BOOST_CHECK(
+ boost::archive::archive_exception::other_exception
+ == ae.code
+ );
+ exception_invoked = true;
+ }
+ BOOST_CATCH_END
+ BOOST_CHECK(exception_invoked);
+ }
+ BOOST_CATCH (boost::archive::archive_exception const& ae){}
+ BOOST_CATCH_END
+ }
+ is.close();
+ }
+ std::remove(testfile);
+ return EXIT_SUCCESS;
+}
+
+int test_main( int /* argc */, char* /* argv */[] )
+{
+ int res;
+ res = test_out<test_dummy_out>();
+ if (res != EXIT_SUCCESS)
+ return EXIT_FAILURE;
+ res = test_in<test_dummy_in>();
+ if (res != EXIT_SUCCESS)
+ return EXIT_FAILURE;
+ return EXIT_SUCCESS;
+}
+
+// EOF
diff --git a/src/boost/libs/serialization/test/test_iterators.cpp b/src/boost/libs/serialization/test/test_iterators.cpp
new file mode 100644
index 000000000..259e24672
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_iterators.cpp
@@ -0,0 +1,257 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_iterators.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+//#include <algorithm> // std::copy, std::equal
+#include <vector>
+#include <cstdlib> // for rand
+#include <functional>
+#include <sstream> // used to test stream iterators
+#include <clocale>
+#include <iterator> // begin
+#include <locale> // setlocale
+
+#include <boost/config.hpp>
+#ifdef BOOST_NO_STDC_NAMESPACE
+namespace std{
+ using ::rand;
+}
+#endif
+
+#include <boost/detail/workaround.hpp>
+#if BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, == 1)
+#include <boost/archive/dinkumware.hpp>
+#endif
+
+#ifndef BOOST_NO_CWCHAR
+#include <boost/archive/iterators/mb_from_wchar.hpp>
+#include <boost/archive/iterators/wchar_from_mb.hpp>
+#endif
+#include <boost/archive/iterators/xml_escape.hpp>
+#include <boost/archive/iterators/xml_unescape.hpp>
+#include <boost/archive/iterators/transform_width.hpp>
+#include <boost/archive/iterators/istream_iterator.hpp>
+#include <boost/archive/iterators/ostream_iterator.hpp>
+
+#include "test_tools.hpp"
+
+#ifndef BOOST_NO_CWCHAR
+
+void test_wchar_from_mb(const wchar_t *la, const char * a, const unsigned int size){
+ typedef boost::archive::iterators::wchar_from_mb<const char *> translator;
+ BOOST_CHECK((
+ std::equal(
+ translator(a),
+ translator(a + size),
+ la
+ )
+ ));
+}
+
+void test_mb_from_wchar(const char * a, const wchar_t *la, const unsigned int size){
+ typedef boost::archive::iterators::mb_from_wchar<const wchar_t *> translator;
+ BOOST_CHECK(
+ std::equal(
+ translator(la),
+ translator(la + size),
+ a
+ )
+ );
+}
+
+void test_roundtrip(const wchar_t * la){
+ std::size_t s = std::wcslen(la);
+ std::vector<char> a;
+ {
+ typedef boost::archive::iterators::mb_from_wchar<const wchar_t *> translator;
+ std::copy(
+ translator(la),
+ translator(la + s),
+ std::back_inserter(a)
+ );
+ // note: wchar_from_mb NEEDS a termination null in order to function!
+ a.push_back(static_cast<char>(0));
+ }
+ BOOST_CHECK(a.size() > 0);
+ std::vector<wchar_t> la2;
+ {
+ typedef boost::archive::iterators::wchar_from_mb<std::vector<char>::const_iterator> translator;
+ std::copy(
+ translator(a.begin()),
+ translator(),
+ std::back_inserter(la2)
+ );
+ }
+ BOOST_CHECK(la2.size() == s);
+ BOOST_CHECK(std::equal(la, la + s, la2.begin()));
+}
+#endif
+
+template<class CharType>
+void test_xml_escape(
+ const CharType * xml_escaped,
+ const CharType * xml,
+ unsigned int size
+){
+ typedef boost::archive::iterators::xml_escape<const CharType *> translator;
+
+ BOOST_CHECK(
+ std::equal(
+ translator(xml),
+ translator(xml + size),
+ xml_escaped
+ )
+ );
+}
+
+template<class CharType>
+void test_xml_unescape(
+ const CharType * xml,
+ const CharType * xml_escaped,
+ unsigned int size
+){
+
+ // test xml_unescape
+ typedef boost::archive::iterators::xml_unescape<const CharType *> translator;
+
+ BOOST_CHECK(
+ std::equal(
+ translator(xml_escaped),
+ translator(xml_escaped + size),
+ xml
+ )
+ );
+}
+
+template<int BitsOut, int BitsIn>
+void test_transform_width(unsigned int size){
+ // test transform_width
+ char rawdata[8];
+
+ char * rptr;
+ for(rptr = rawdata + size; rptr-- > rawdata;)
+ *rptr = static_cast<char>(0xff & std::rand());
+
+ // convert 8 to 6 bit characters
+ typedef boost::archive::iterators::transform_width<
+ char *, BitsOut, BitsIn
+ > translator1;
+
+ std::vector<char> vout;
+
+ std::copy(
+ translator1(static_cast<char *>(rawdata)),
+ translator1(rawdata + size),
+ std::back_inserter(vout)
+ );
+
+ // check to see we got the expected # of characters out
+ if(0 == size)
+ BOOST_CHECK(vout.size() == 0);
+ else
+ BOOST_CHECK(vout.size() == (size * BitsIn - 1 ) / BitsOut + 1);
+
+ typedef boost::archive::iterators::transform_width<
+ std::vector<char>::iterator, BitsIn, BitsOut
+ > translator2;
+
+ std::vector<char> vin;
+ std::copy(
+ translator2(vout.begin()),
+ translator2(vout.end()),
+ std::back_inserter(vin)
+ );
+
+ // check to see we got the expected # of characters out
+ BOOST_CHECK(vin.size() == size);
+
+ BOOST_CHECK(
+ std::equal(
+ rawdata,
+ rawdata + size,
+ vin.begin()
+ )
+ );
+}
+
+template<class CharType>
+void test_stream_iterators(
+ const CharType * test_data,
+ unsigned int size
+){
+ std::basic_stringstream<CharType> ss;
+ boost::archive::iterators::ostream_iterator<CharType> osi =
+ boost::archive::iterators::ostream_iterator<CharType>(ss);
+ std::copy(test_data, test_data + size, osi);
+
+ BOOST_CHECK(size == ss.str().size());
+
+ boost::archive::iterators::istream_iterator<CharType> isi =
+ boost::archive::iterators::istream_iterator<CharType>(ss);
+ BOOST_CHECK(std::equal(test_data, test_data + size,isi));
+}
+
+int
+test_main(int /* argc */, char* /* argv */ [] )
+{
+ const char xml[] = "<+>+&+\"+'";
+ const char xml_escaped[] = "&lt;+&gt;+&amp;+&quot;+&apos;";
+ test_xml_escape<const char>(
+ xml_escaped,
+ xml,
+ sizeof(xml) / sizeof(char) - 1
+ );
+ test_xml_unescape<const char>(
+ xml,
+ xml_escaped,
+ sizeof(xml_escaped) / sizeof(char) - 1
+ );
+
+
+ #ifndef BOOST_NO_CWCHAR
+ const wchar_t wxml[] = L"<+>+&+\"+'";
+ const wchar_t wxml_escaped[] = L"&lt;+&gt;+&amp;+&quot;+&apos;";
+ test_xml_escape<const wchar_t>(
+ wxml_escaped,
+ wxml,
+ sizeof(wxml) / sizeof(wchar_t) - 1
+ );
+ test_xml_unescape<const wchar_t>(
+ wxml,
+ wxml_escaped,
+ sizeof(wxml_escaped) / sizeof(wchar_t) - 1
+ );
+
+ const char b[] = "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz";
+ const wchar_t lb[] = L"abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz";
+ test_mb_from_wchar(b, lb, sizeof(lb) / sizeof(wchar_t) - 1);
+ test_wchar_from_mb(lb, b, sizeof(b) / sizeof(char) - 1);
+
+ const char a[] = "abcdefghijklmnopqrstuvwxyz";
+ const wchar_t la[] = L"abcdefghijklmnopqrstuvwxyz";
+ test_mb_from_wchar(a, la, sizeof(la) / sizeof(wchar_t) - 1);
+ test_wchar_from_mb(la, a, sizeof(a) / sizeof(char) - 1);
+
+ test_roundtrip(L"z\u00df\u6c34\U0001f34c");
+
+ test_stream_iterators<wchar_t>(la, sizeof(la)/sizeof(wchar_t) - 1);
+ #endif
+
+ test_stream_iterators<char>(a, sizeof(a) - 1);
+
+ test_transform_width<6, 8>(0);
+ test_transform_width<6, 8>(1);
+ test_transform_width<6, 8>(2);
+ test_transform_width<6, 8>(3);
+ test_transform_width<6, 8>(4);
+ test_transform_width<6, 8>(5);
+ test_transform_width<6, 8>(6);
+ test_transform_width<6, 8>(7);
+ test_transform_width<6, 8>(8);
+
+ return EXIT_SUCCESS;
+}
diff --git a/src/boost/libs/serialization/test/test_iterators_base64.cpp b/src/boost/libs/serialization/test/test_iterators_base64.cpp
new file mode 100644
index 000000000..1f772c6d7
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_iterators_base64.cpp
@@ -0,0 +1,105 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_iterators.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+#include <algorithm>
+#include <list>
+
+#if (defined _MSC_VER) && (_MSC_VER == 1200)
+# pragma warning (disable : 4786) // too long name, harmless warning
+#endif
+
+#include <cstdlib>
+#include <cstddef> // size_t
+
+#include <boost/config.hpp>
+#ifdef BOOST_NO_STDC_NAMESPACE
+namespace std{
+ using ::rand;
+ using ::size_t;
+}
+#endif
+
+#include <boost/archive/iterators/binary_from_base64.hpp>
+#include <boost/archive/iterators/base64_from_binary.hpp>
+#include <boost/archive/iterators/insert_linebreaks.hpp>
+#include <boost/archive/iterators/remove_whitespace.hpp>
+#include <boost/archive/iterators/transform_width.hpp>
+
+#include "test_tools.hpp"
+
+#include <iostream>
+
+template<typename CharType>
+void test_base64(unsigned int size){
+ CharType rawdata[150];
+ CharType * rptr;
+ for(rptr = rawdata + size; rptr-- > rawdata;)
+ *rptr = static_cast<CharType>(std::rand()& 0xff);
+
+ // convert to base64
+ typedef std::list<CharType> text_base64_type;
+ text_base64_type text_base64;
+
+ typedef
+ boost::archive::iterators::insert_linebreaks<
+ boost::archive::iterators::base64_from_binary<
+ boost::archive::iterators::transform_width<
+ CharType *
+ ,6
+ ,sizeof(CharType) * 8
+ >
+ >
+ ,76
+ >
+ translate_out;
+
+ std::copy(
+ translate_out(static_cast<CharType *>(rawdata)),
+ translate_out(rawdata + size),
+ std::back_inserter(text_base64)
+ );
+
+ // convert from base64 to binary and compare with the original
+ typedef
+ boost::archive::iterators::transform_width<
+ boost::archive::iterators::binary_from_base64<
+ boost::archive::iterators::remove_whitespace<
+ typename text_base64_type::iterator
+ >
+ >,
+ sizeof(CharType) * 8,
+ 6
+ > translate_in;
+
+ BOOST_CHECK(
+ std::equal(
+ rawdata,
+ rawdata + size,
+ translate_in(text_base64.begin())
+ )
+ );
+
+}
+
+int
+test_main( int /*argc*/, char* /*argv*/[] )
+{
+ test_base64<char>(1);
+ test_base64<char>(2);
+ test_base64<char>(3);
+ test_base64<char>(4);
+ test_base64<char>(150);
+ #ifndef BOOST_NO_CWCHAR
+ test_base64<wchar_t>(1);
+ test_base64<wchar_t>(2);
+ test_base64<wchar_t>(3);
+ test_base64<wchar_t>(4);
+ test_base64<wchar_t>(150);
+ #endif
+ return EXIT_SUCCESS;
+}
diff --git a/src/boost/libs/serialization/test/test_list.cpp b/src/boost/libs/serialization/test/test_list.cpp
new file mode 100644
index 000000000..c76757ef5
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_list.cpp
@@ -0,0 +1,59 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_list.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// should pass compilation and execution
+
+#include <cstddef> // NULL
+#include <fstream>
+
+#include <boost/config.hpp>
+#include <cstdio> // remove
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::remove;
+}
+#endif
+
+#include <boost/archive/archive_exception.hpp>
+#include "test_tools.hpp"
+
+#include "A.hpp"
+#include "A.ipp"
+
+#include <boost/serialization/list.hpp>
+void test_list(){
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ std::list<A> alist;
+ alist.push_back(A());
+ alist.push_back(A());
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << boost::serialization::make_nvp("alist",alist);
+ }
+
+ std::list<A> alist1;
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> boost::serialization::make_nvp("alist",alist1);
+ }
+ BOOST_CHECK(alist == alist1);
+ std::remove(testfile);
+}
+
+int test_main( int /* argc */, char* /* argv */[] )
+{
+ test_list();
+ return EXIT_SUCCESS;
+}
+
+// EOF
+
diff --git a/src/boost/libs/serialization/test/test_list_ptrs.cpp b/src/boost/libs/serialization/test/test_list_ptrs.cpp
new file mode 100644
index 000000000..f5597fab8
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_list_ptrs.cpp
@@ -0,0 +1,98 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_list.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// should pass compilation and execution
+
+#include <cstddef>
+#include <fstream>
+
+#include <boost/config.hpp>
+#include <cstdio> // remove
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::remove;
+}
+#endif
+
+#include <boost/type_traits/is_pointer.hpp>
+#include <boost/static_assert.hpp>
+#include <boost/checked_delete.hpp>
+
+#include <boost/archive/archive_exception.hpp>
+#include "test_tools.hpp"
+
+#include <boost/serialization/nvp.hpp>
+
+#include "A.hpp"
+#include "A.ipp"
+
+template<class T>
+struct ptr_equal_to {
+ BOOST_STATIC_ASSERT(::boost::is_pointer< T >::value);
+ bool operator()(T const _Left, T const _Right) const
+ {
+ if(NULL == _Left && NULL == _Right)
+ return true;
+ if(typeid(*_Left) != typeid(*_Right))
+ return false;
+ return *_Left == *_Right;
+ }
+};
+
+#include <boost/serialization/list.hpp>
+void test_list(){
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ std::list<A *> alist;
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ A * free_a_ptr = new A;
+ alist.push_back(free_a_ptr);
+ alist.push_back(new A);
+ // verify that first element is the same as the free pointer
+ BOOST_CHECK((*alist.begin()) == free_a_ptr);
+ oa << boost::serialization::make_nvp("alist", alist);
+ oa << boost::serialization::make_nvp("free_a_ptr", free_a_ptr);
+ }
+ std::list<A *> alist1;
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ A * free_a_ptr1;
+ ia >> boost::serialization::make_nvp("alist", alist1);
+ ia >> boost::serialization::make_nvp("free_a_ptr", free_a_ptr1);
+ BOOST_CHECK(
+ alist.size() == alist1.size()
+ && std::equal(alist.begin(),alist.end(),alist1.begin(),ptr_equal_to<A *>())
+ );
+ // verify that first element is the same as the free pointer
+ BOOST_CHECK((*alist1.begin()) == free_a_ptr1);
+ }
+
+ std::for_each(
+ alist.begin(),
+ alist.end(),
+ boost::checked_deleter<A>()
+ );
+ std::for_each(
+ alist1.begin(),
+ alist1.end(),
+ boost::checked_deleter<A>()
+ );
+ std::remove(testfile);
+}
+
+int test_main( int /* argc */, char* /* argv */[] )
+{
+ test_list();
+ return EXIT_SUCCESS;
+}
+
+// EOF
diff --git a/src/boost/libs/serialization/test/test_map.cpp b/src/boost/libs/serialization/test/test_map.cpp
new file mode 100644
index 000000000..21e3f51ac
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_map.cpp
@@ -0,0 +1,149 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_map.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// (C) Copyright 2014 Jim Bell
+// Use, modification and distribution is 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)
+
+// should pass compilation and execution
+
+#include <algorithm> // std::copy
+#include <vector>
+#include <fstream>
+#include <cstddef> // size_t, NULL
+
+#include <boost/config.hpp>
+#include <boost/detail/workaround.hpp>
+
+#include <cstdio>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::rand;
+ using ::size_t;
+}
+#endif
+
+#include "test_tools.hpp"
+
+#include <boost/serialization/nvp.hpp>
+#include <boost/serialization/map.hpp>
+
+#include "A.hpp"
+#include "A.ipp"
+
+///////////////////////////////////////////////////////
+// a key value initialized with a random value for use
+// in testing STL map serialization
+struct random_key {
+ friend class boost::serialization::access;
+ template<class Archive>
+ void serialize(
+ Archive & ar,
+ const unsigned int /* file_version */
+ ){
+ ar & boost::serialization::make_nvp("random_key", m_i);
+ }
+ int m_i;
+ random_key() : m_i(std::rand()){};
+ bool operator<(const random_key &rhs) const {
+ return m_i < rhs.m_i;
+ }
+ bool operator==(const random_key &rhs) const {
+ return m_i == rhs.m_i;
+ }
+ operator std::size_t () const { // required by hash_map
+ return m_i;
+ }
+};
+
+void
+test_map(){
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ BOOST_MESSAGE("map");
+ // test map of objects
+ std::map<random_key, A> amap;
+ amap.insert(std::make_pair(random_key(), A()));
+ amap.insert(std::make_pair(random_key(), A()));
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << boost::serialization::make_nvp("amap", amap);
+ }
+ std::map<random_key, A> amap1;
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> boost::serialization::make_nvp("amap", amap1);
+ }
+ BOOST_CHECK(amap == amap1);
+ std::remove(testfile);
+}
+
+void
+test_map_2(){
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ BOOST_MESSAGE("map_2");
+ std::pair<int, int> a(11, 22);
+ std::map<int, int> b;
+ b[0] = 0;
+ b[-1] = -1;
+ b[1] = 1;
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ std::pair<int, int> * const pa = &a;
+ std::map<int, int> * const pb = &b;
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << BOOST_SERIALIZATION_NVP(pb);
+ oa << BOOST_SERIALIZATION_NVP(pa);
+ }
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ std::pair<int, int> *pa = 0;
+ std::map<int, int> *pb = 0;
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> BOOST_SERIALIZATION_NVP(pb);
+ ia >> BOOST_SERIALIZATION_NVP(pa);
+ delete pa;
+ delete pb;
+ }
+ std::remove(testfile);
+}
+
+void
+test_multimap(){
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ BOOST_MESSAGE("multimap");
+ std::multimap<random_key, A> amultimap;
+ amultimap.insert(std::make_pair(random_key(), A()));
+ amultimap.insert(std::make_pair(random_key(), A()));
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << boost::serialization::make_nvp("amultimap", amultimap);
+ }
+ std::multimap<random_key, A> amultimap1;
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> boost::serialization::make_nvp("amultimap", amultimap1);
+ }
+ BOOST_CHECK(amultimap == amultimap1);
+ std::remove(testfile);
+}
+
+int test_main( int /* argc */, char* /* argv */[] )
+{
+ test_map();
+ test_map_2();
+ test_multimap();
+
+ return EXIT_SUCCESS;
+}
diff --git a/src/boost/libs/serialization/test/test_map_boost_unordered.cpp b/src/boost/libs/serialization/test/test_map_boost_unordered.cpp
new file mode 100644
index 000000000..300ae4db1
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_map_boost_unordered.cpp
@@ -0,0 +1,142 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_map.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// (C) Copyright 2014 Jim Bell
+// Use, modification and distribution is 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)
+
+// should pass compilation and execution
+
+#include <algorithm> // std::copy
+#include <vector>
+#include <fstream>
+#include <cstddef> // size_t, NULL
+
+#include <boost/config.hpp>
+#include <boost/detail/workaround.hpp>
+
+#include <cstdio>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::rand;
+ using ::size_t;
+}
+#endif
+
+#include "test_tools.hpp"
+
+#include <boost/serialization/nvp.hpp>
+#include <boost/serialization/map.hpp>
+
+#include "A.hpp"
+#include "A.ipp"
+
+///////////////////////////////////////////////////////
+// a key value initialized with a random value for use
+// in testing STL map serialization
+struct random_key {
+ friend class boost::serialization::access;
+ template<class Archive>
+ void serialize(
+ Archive & ar,
+ const unsigned int /* file_version */
+ ){
+ ar & boost::serialization::make_nvp("random_key", m_i);
+ }
+ int m_i;
+ random_key() : m_i(std::rand()){};
+ bool operator<(const random_key &rhs) const {
+ return m_i < rhs.m_i;
+ }
+ bool operator==(const random_key &rhs) const {
+ return m_i == rhs.m_i;
+ }
+ operator std::size_t () const { // required by hash_map
+ return m_i;
+ }
+};
+
+#include <boost/serialization/boost_unordered_map.hpp>
+#include <functional> // requires changeset [69520]; Ticket #5254
+
+namespace boost {
+ template<>
+ struct hash<random_key>{
+ std::size_t operator()(const random_key& r) const {
+ return static_cast<std::size_t>(r);
+ }
+ };
+} // namespace std
+
+void
+test_unordered_map(){
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ BOOST_CHECKPOINT("unordered_map");
+ // test unordered_map of objects
+ boost::unordered_map<random_key, A> anunordered_map;
+ anunordered_map.insert(std::make_pair(random_key(), A()));
+ anunordered_map.insert(std::make_pair(random_key(), A()));
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << boost::serialization::make_nvp("anunorderedmap",anunordered_map);
+ }
+ boost::unordered_map<random_key, A> anunordered_map1;
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> boost::serialization::make_nvp("anunorderedmap",anunordered_map1);
+ }
+
+ std::vector< std::pair<random_key, A> > tvec, tvec1;
+ std::copy(anunordered_map.begin(), anunordered_map.end(), std::back_inserter(tvec));
+ std::sort(tvec.begin(), tvec.end());
+ std::copy(anunordered_map1.begin(), anunordered_map1.end(), std::back_inserter(tvec1));
+ std::sort(tvec1.begin(), tvec1.end());
+ BOOST_CHECK(tvec == tvec1);
+
+ std::remove(testfile);
+}
+
+void
+test_unordered_multimap(){
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ BOOST_CHECKPOINT("unordered_multimap");
+ boost::unordered_multimap<random_key, A> anunordered_multimap;
+ anunordered_multimap.insert(std::make_pair(random_key(), A()));
+ anunordered_multimap.insert(std::make_pair(random_key(), A()));
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << boost::serialization::make_nvp("anunordered_multimap", anunordered_multimap);
+ }
+ boost::unordered_multimap<random_key, A> anunordered_multimap1;
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> boost::serialization::make_nvp("anunordered_multimap", anunordered_multimap1);
+ }
+ std::vector< std::pair<random_key, A> > tvec, tvec1;
+ tvec.clear();
+ tvec1.clear();
+ std::copy(anunordered_multimap.begin(), anunordered_multimap.end(), std::back_inserter(tvec));
+ std::sort(tvec.begin(), tvec.end());
+ std::copy(anunordered_multimap1.begin(), anunordered_multimap1.end(), std::back_inserter(tvec1));
+ std::sort(tvec1.begin(), tvec1.end());
+ BOOST_CHECK(tvec == tvec1);
+ std::remove(testfile);
+}
+
+int test_main( int /* argc */, char* /* argv */[] )
+{
+ test_unordered_map();
+ test_unordered_multimap();
+
+ return EXIT_SUCCESS;
+}
diff --git a/src/boost/libs/serialization/test/test_map_hashed.cpp b/src/boost/libs/serialization/test/test_map_hashed.cpp
new file mode 100644
index 000000000..8b009cd28
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_map_hashed.cpp
@@ -0,0 +1,139 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_map.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// (C) Copyright 2014 Jim Bell
+// Use, modification and distribution is 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)
+
+// should pass compilation and execution
+
+#include <algorithm> // std::copy
+#include <vector>
+#include <fstream>
+#include <cstddef> // size_t, NULL
+
+#include <boost/config.hpp>
+#include <boost/detail/workaround.hpp>
+
+#include <cstdio>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::rand;
+ using ::size_t;
+}
+#endif
+
+#include "test_tools.hpp"
+
+#include <boost/serialization/nvp.hpp>
+#include <boost/serialization/map.hpp>
+
+#include "A.hpp"
+#include "A.ipp"
+
+///////////////////////////////////////////////////////
+// a key value initialized with a random value for use
+// in testing STL map serialization
+struct random_key {
+ friend class boost::serialization::access;
+ template<class Archive>
+ void serialize(
+ Archive & ar,
+ const unsigned int /* file_version */
+ ){
+ ar & boost::serialization::make_nvp("random_key", m_i);
+ }
+ int m_i;
+ random_key() : m_i(std::rand()){};
+ bool operator<(const random_key &rhs) const {
+ return m_i < rhs.m_i;
+ }
+ bool operator==(const random_key &rhs) const {
+ return m_i == rhs.m_i;
+ }
+ operator std::size_t () const { // required by hash_map
+ return m_i;
+ }
+};
+
+#include <boost/serialization/hash_map.hpp>
+
+namespace BOOST_STD_EXTENSION_NAMESPACE {
+ template<>
+ struct hash<random_key>{
+ std::size_t operator()(const random_key& r) const {
+ return static_cast<std::size_t>(r);
+ }
+ };
+} // namespace BOOST_STD_EXTENSION_NAMESPACE
+
+void
+test_hash_map(){
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ BOOST_CHECKPOINT("hash_map");
+ // test hash_map of objects
+ BOOST_STD_EXTENSION_NAMESPACE::hash_map<random_key, A> ahash_map;
+ ahash_map.insert(std::make_pair(random_key(), A()));
+ ahash_map.insert(std::make_pair(random_key(), A()));
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << boost::serialization::make_nvp("ahashmap",ahash_map);
+ }
+ BOOST_STD_EXTENSION_NAMESPACE::hash_map<random_key, A> ahash_map1;
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> boost::serialization::make_nvp("ahashmap",ahash_map1);
+ }
+
+ std::vector< std::pair<random_key, A> > tvec, tvec1;
+ std::copy(ahash_map.begin(), ahash_map.end(), std::back_inserter(tvec));
+ std::sort(tvec.begin(), tvec.end());
+ std::copy(ahash_map1.begin(), ahash_map1.end(), std::back_inserter(tvec1));
+ std::sort(tvec1.begin(), tvec1.end());
+ BOOST_CHECK(tvec == tvec1);
+
+ std::remove(testfile);
+}
+
+void
+test_hash_multimap(){
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ BOOST_CHECKPOINT("hash_multimap");
+ BOOST_STD_EXTENSION_NAMESPACE::hash_multimap<random_key, A> ahash_multimap;
+ ahash_multimap.insert(std::make_pair(random_key(), A()));
+ ahash_multimap.insert(std::make_pair(random_key(), A()));
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << boost::serialization::make_nvp("ahash_multimap", ahash_multimap);
+ }
+ BOOST_STD_EXTENSION_NAMESPACE::hash_multimap<random_key, A> ahash_multimap1;
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> boost::serialization::make_nvp("ahash_multimap", ahash_multimap1);
+ }
+ std::vector< std::pair<random_key, A> > tvec, tvec1;
+ tvec.clear();
+ tvec1.clear();
+ std::copy(ahash_multimap.begin(), ahash_multimap.end(), std::back_inserter(tvec));
+ std::sort(tvec.begin(), tvec.end());
+ std::copy(ahash_multimap1.begin(), ahash_multimap1.end(), std::back_inserter(tvec1));
+ std::sort(tvec1.begin(), tvec1.end());
+ BOOST_CHECK(tvec == tvec1);
+ std::remove(testfile);
+}
+int test_main( int /* argc */, char* /* argv */[] )
+{
+ test_hash_map();
+ test_hash_multimap();
+ return EXIT_SUCCESS;
+}
diff --git a/src/boost/libs/serialization/test/test_map_unordered.cpp b/src/boost/libs/serialization/test/test_map_unordered.cpp
new file mode 100644
index 000000000..631f1f225
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_map_unordered.cpp
@@ -0,0 +1,142 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_map.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// (C) Copyright 2014 Jim Bell
+// Use, modification and distribution is 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)
+
+// should pass compilation and execution
+
+#include <algorithm> // std::copy
+#include <vector>
+#include <fstream>
+#include <cstddef> // size_t, NULL
+
+#include <boost/config.hpp>
+#include <boost/detail/workaround.hpp>
+
+#include <cstdio>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::rand;
+ using ::size_t;
+}
+#endif
+
+#include "test_tools.hpp"
+
+#include <boost/serialization/nvp.hpp>
+#include <boost/serialization/map.hpp>
+
+#include "A.hpp"
+#include "A.ipp"
+
+///////////////////////////////////////////////////////
+// a key value initialized with a random value for use
+// in testing STL map serialization
+struct random_key {
+ friend class boost::serialization::access;
+ template<class Archive>
+ void serialize(
+ Archive & ar,
+ const unsigned int /* file_version */
+ ){
+ ar & boost::serialization::make_nvp("random_key", m_i);
+ }
+ int m_i;
+ random_key() : m_i(std::rand()){};
+ bool operator<(const random_key &rhs) const {
+ return m_i < rhs.m_i;
+ }
+ bool operator==(const random_key &rhs) const {
+ return m_i == rhs.m_i;
+ }
+ operator std::size_t () const { // required by hash_map
+ return m_i;
+ }
+};
+
+#include <boost/serialization/unordered_map.hpp>
+#include <functional> // requires changeset [69520]; Ticket #5254
+
+namespace std {
+ template<>
+ struct hash<random_key>{
+ std::size_t operator()(const random_key& r) const {
+ return static_cast<std::size_t>(r);
+ }
+ };
+} // namespace std
+
+void
+test_unordered_map(){
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ BOOST_CHECKPOINT("unordered_map");
+ // test unordered_map of objects
+ std::unordered_map<random_key, A> anunordered_map;
+ anunordered_map.insert(std::make_pair(random_key(), A()));
+ anunordered_map.insert(std::make_pair(random_key(), A()));
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << boost::serialization::make_nvp("anunorderedmap",anunordered_map);
+ }
+ std::unordered_map<random_key, A> anunordered_map1;
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> boost::serialization::make_nvp("anunorderedmap",anunordered_map1);
+ }
+
+ std::vector< std::pair<random_key, A> > tvec, tvec1;
+ std::copy(anunordered_map.begin(), anunordered_map.end(), std::back_inserter(tvec));
+ std::sort(tvec.begin(), tvec.end());
+ std::copy(anunordered_map1.begin(), anunordered_map1.end(), std::back_inserter(tvec1));
+ std::sort(tvec1.begin(), tvec1.end());
+ BOOST_CHECK(tvec == tvec1);
+
+ std::remove(testfile);
+}
+
+void
+test_unordered_multimap(){
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ BOOST_CHECKPOINT("unordered_multimap");
+ std::unordered_multimap<random_key, A> anunordered_multimap;
+ anunordered_multimap.insert(std::make_pair(random_key(), A()));
+ anunordered_multimap.insert(std::make_pair(random_key(), A()));
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << boost::serialization::make_nvp("anunordered_multimap", anunordered_multimap);
+ }
+ std::unordered_multimap<random_key, A> anunordered_multimap1;
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> boost::serialization::make_nvp("anunordered_multimap", anunordered_multimap1);
+ }
+ std::vector< std::pair<random_key, A> > tvec, tvec1;
+ tvec.clear();
+ tvec1.clear();
+ std::copy(anunordered_multimap.begin(), anunordered_multimap.end(), std::back_inserter(tvec));
+ std::sort(tvec.begin(), tvec.end());
+ std::copy(anunordered_multimap1.begin(), anunordered_multimap1.end(), std::back_inserter(tvec1));
+ std::sort(tvec1.begin(), tvec1.end());
+ BOOST_CHECK(tvec == tvec1);
+ std::remove(testfile);
+}
+
+int test_main( int /* argc */, char* /* argv */[] )
+{
+ test_unordered_map();
+ test_unordered_multimap();
+
+ return EXIT_SUCCESS;
+}
diff --git a/src/boost/libs/serialization/test/test_mi.cpp b/src/boost/libs/serialization/test/test_mi.cpp
new file mode 100644
index 000000000..cf9df90c3
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_mi.cpp
@@ -0,0 +1,135 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_mi.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// test of serialization of base classes with multiple inheritance
+// contributed by Peter Dimov
+
+#include <cstddef>
+#include <iostream>
+#include <fstream>
+
+#include <boost/config.hpp>
+#include <cstdio> // remove
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::remove;
+}
+#endif
+
+#include "test_tools.hpp"
+
+#include <boost/serialization/nvp.hpp>
+#include <boost/serialization/base_object.hpp>
+
+class A
+{
+private:
+ friend class boost::serialization::access;
+ int x;
+ template<class Archive>
+ void serialize(Archive &ar, const unsigned int /* file_version */){
+ ar & BOOST_SERIALIZATION_NVP(x);
+ }
+public:
+ explicit A(int x = 0): x(x) {}
+ virtual ~A(); // = 0;
+ int get_x() const
+ {
+ return x;
+ }
+};
+
+inline A::~A()
+{
+}
+
+class B
+{
+private:
+ int y;
+ friend class boost::serialization::access;
+ template<class Archive>
+ void serialize(Archive &ar, const unsigned int /* file_version */){
+ ar & BOOST_SERIALIZATION_NVP(y);
+ }
+public:
+ explicit B(int y = 0): y(y) {}
+ virtual ~B(){}
+ int get_y() const
+ {
+ return y;
+ }
+};
+
+class C: public A, public B
+{
+private:
+ friend class boost::serialization::access;
+ template<class Archive>
+ void serialize(Archive &ar, const unsigned int /* file_version */){
+ ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(A);
+ ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(B);
+ }
+public:
+ C(){}
+ C(int x, int y): A(x), B(y){}
+};
+
+int
+test_main( int /* argc */, char* /* argv */[] )
+{
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ C * pc = new C(1, 2);
+ A * pa = pc;
+ B * pb = pc;
+
+ BOOST_CHECK(pa == pc);
+ BOOST_CHECK(pb == pc);
+
+ int x = pa->get_x();
+ int y = pb->get_y();
+
+ std::cout << "pa->get_x(): " << pa->get_x() << std::endl;
+ std::cout << "pb->get_y(): " << pb->get_y() << std::endl;
+
+ {
+ test_ostream ofs(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(ofs);
+ oa << BOOST_SERIALIZATION_NVP(pc);
+ oa << BOOST_SERIALIZATION_NVP(pa);
+ oa << BOOST_SERIALIZATION_NVP(pb);
+ }
+
+ delete pc;
+ pc = NULL;
+ pa = NULL;
+ pb = NULL;
+
+ {
+ test_istream ifs(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(ifs);
+ ia >> BOOST_SERIALIZATION_NVP(pc);
+ ia >> BOOST_SERIALIZATION_NVP(pa);
+ ia >> BOOST_SERIALIZATION_NVP(pb);
+ }
+
+ BOOST_CHECK(pa == pc);
+ BOOST_CHECK(pb == pc);
+
+ BOOST_CHECK(x == pa->get_x());
+ BOOST_CHECK(y == pb->get_y());
+
+ std::cout << "pa->get_x(): " << pa->get_x() << std::endl;
+ std::cout << "pb->get_y(): " << pb->get_y() << std::endl;
+
+ delete pc;
+ std::remove(testfile);
+ return EXIT_SUCCESS;
+}
diff --git a/src/boost/libs/serialization/test/test_mult_archive_types.cpp b/src/boost/libs/serialization/test/test_mult_archive_types.cpp
new file mode 100644
index 000000000..b211489af
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_mult_archive_types.cpp
@@ -0,0 +1,124 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_mult_archive_types.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+#include <cstddef>
+#include <fstream>
+
+#include <boost/config.hpp>
+#include <cstdio> // remove
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::remove;
+}
+#endif
+
+#include <boost/archive/text_oarchive.hpp>
+#include <boost/archive/text_iarchive.hpp>
+#include <boost/archive/xml_oarchive.hpp>
+#include <boost/archive/xml_iarchive.hpp>
+#include "test_tools.hpp"
+
+#include <boost/serialization/export.hpp>
+#include <boost/serialization/nvp.hpp>
+
+// This is a simple class. It contains a counter of the number
+// of objects of this class which have been instantiated.
+class A
+{
+private:
+ friend class boost::serialization::access;
+ int x;
+ template<class Archive>
+ void serialize(Archive & ar, const unsigned int /* file_version */){
+ ar & BOOST_SERIALIZATION_NVP(x);
+ }
+public:
+ static int count;
+ A(){++count;} // default constructor
+ virtual ~A(){--count;} // default destructor
+};
+
+BOOST_CLASS_EXPORT(A)
+
+// B is a subclass of A
+class B : public A
+{
+private:
+ friend class boost::serialization::access;
+ template<class Archive>
+ void serialize(Archive & ar, const unsigned int /* file_version */){
+ ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(A);
+ }
+public:
+ static int count;
+ B() : A() {};
+ virtual ~B() {};
+};
+
+BOOST_CLASS_EXPORT(B)
+
+int A::count = 0;
+
+// Run tests by serializing two shared_ptrs into an archive of type
+// OARCH, clearing them (deleting the objects) and then reloading the
+// objects back from an archive of type OARCH.
+template<class OA, class IA>
+void test_save_and_load(A * first, A * second)
+{
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ // Save
+ {
+ std::ofstream os(testfile);
+ OA oa(os);
+ oa << BOOST_SERIALIZATION_NVP(first);
+ oa << BOOST_SERIALIZATION_NVP(second);
+ }
+
+ // Clear the pointers, thereby destroying the objects they contain
+ first = NULL;
+ second = NULL;
+
+ // Load
+ {
+ std::ifstream is(testfile);
+ IA ia(is);
+ ia >> BOOST_SERIALIZATION_NVP(first);
+ ia >> BOOST_SERIALIZATION_NVP(second);
+ }
+ BOOST_CHECK(first == second);
+ std::remove(testfile);
+}
+
+using namespace boost::archive;
+
+// This does the tests
+int test_main(int /* argc */, char * /* argv */[])
+{
+ // Try to save and load pointers to As, to a text archive
+ A * a = new A;
+ A * a1 = a;
+ test_save_and_load<text_oarchive, text_iarchive>(a, a1);
+
+ // Try to save and load pointers to Bs, to a text archive
+ B * b = new B;
+ B * b1 = b;
+ test_save_and_load<text_oarchive, text_iarchive>(b, b1);
+
+ // Try to save and load pointers to As, to an xml archive
+ test_save_and_load<xml_oarchive, xml_iarchive>(a, a1);
+
+ // Try to save and load pointers to Bs, to an xml archive
+ test_save_and_load<xml_oarchive, xml_iarchive>(b, b1);
+
+ delete a;
+ delete b;
+
+ return EXIT_SUCCESS;
+}
diff --git a/src/boost/libs/serialization/test/test_multi_shared_lib.cpp b/src/boost/libs/serialization/test/test_multi_shared_lib.cpp
new file mode 100644
index 000000000..978e95916
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_multi_shared_lib.cpp
@@ -0,0 +1,30 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_multi_shared_lib.cpp: test that implementation of extented_type_info
+// works when using multiple shared libraries
+//
+// This reproduces a crash that occurred when multiple shared libraries were
+// using Boost.Serialization built statically. That causes core singletons to be
+// instantiated in each shared library separately. Due to some destruction order
+// mixup in the context of shared libraries on linux it is possible, that
+// singletons accessed in destructors of other singletons are already destructed.
+// Accessing them will then lead to a crash or memory corruption.
+// For this we need 2 shared libraries, linked against static boost. They need to
+// instantiate extended_type_info_typeid with different types, either by serializing
+// 2 types (which will do that internally) or by accessing the singletons directly.
+
+// (C) Copyright 2018 Alexander Grund
+// Use, modification and distribution is 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)
+
+#include <boost/serialization/config.hpp>
+
+// Both shall instantiate different(!) singletons and return true
+BOOST_SYMBOL_IMPORT bool f();
+BOOST_SYMBOL_IMPORT bool g();
+
+int main(int argc, char**){
+ if(f() && g())
+ return 0;
+ return 1;
+}
diff --git a/src/boost/libs/serialization/test/test_multiple_inheritance.cpp b/src/boost/libs/serialization/test/test_multiple_inheritance.cpp
new file mode 100644
index 000000000..08c304f83
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_multiple_inheritance.cpp
@@ -0,0 +1,125 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_multiple_inheritance.cpp
+
+// (C) Copyright 2009 Robert Ramey.
+// Use, modification and distribution is 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)
+
+// test of serialization library for multiple inheritence situations
+
+#include <cassert>
+#include <fstream>
+
+#include <boost/config.hpp>
+#include <cstdio> // remove
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::remove;
+}
+#endif
+
+#include "test_tools.hpp"
+
+#include <boost/serialization/access.hpp>
+#include <boost/serialization/base_object.hpp>
+#include <boost/serialization/nvp.hpp>
+#include <boost/serialization/export.hpp>
+
+struct Base1 {
+ int m_x;
+ Base1(){}
+ Base1(int x) : m_x(1 + x) {}
+ virtual ~Base1() {}
+ bool operator==(Base1 & rhs) const {
+ return m_x == rhs.m_x;
+ }
+ // serialize
+ friend class boost::serialization::access;
+ template<class Archive>
+ void serialize(Archive & ar, const unsigned int /* file_version */) {
+ ar & BOOST_SERIALIZATION_NVP(m_x);
+ }
+};
+
+//BOOST_CLASS_EXPORT(Base1)
+
+struct Base2 {
+ int m_x;
+ Base2(){}
+ Base2(int x) : m_x(2 + x) {}
+ virtual ~Base2() {}
+ bool operator==(Base2 & rhs) const {
+ return m_x == rhs.m_x;
+ }
+ // serialize
+ friend class boost::serialization::access;
+ template<class Archive>
+ void serialize(Archive & ar, const unsigned int /* file_version */) {
+ ar & BOOST_SERIALIZATION_NVP(m_x);
+ }
+};
+
+//BOOST_CLASS_EXPORT(Base2)
+
+struct Sub :
+ public Base1,
+ public Base2
+{
+ int m_x;
+ Sub(){}
+ Sub(int x) :
+ Base1(x),
+ Base2(x),
+ m_x(x)
+ {}
+ bool operator==(Sub & rhs) const {
+ if(! Base2::operator==(rhs))
+ return false;
+ if(! Base1::operator==(rhs))
+ return false;
+ return m_x == rhs.m_x;
+ }
+ virtual ~Sub() {}
+
+ // serialize
+ friend class boost::serialization::access;
+ template<class Archive>
+ void serialize(Archive &ar, const unsigned int /* file_version */)
+ {
+ ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(Base1);
+ ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(Base2);
+ ar & BOOST_SERIALIZATION_NVP(m_x);
+ }
+};
+
+BOOST_CLASS_EXPORT(Sub)
+
+int
+test_main( int /* argc */, char* /* argv */[] )
+{
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+ Base2 * pb2;
+ {
+ // serialize
+ pb2 = new Sub(2);
+
+ test_ostream ofs(testfile);
+ test_oarchive oa(ofs);
+ oa << boost::serialization::make_nvp("Base2", pb2);
+ }
+ Base2 * pb2_1;
+ {
+ // de-serialize
+ test_istream ifs(testfile);
+ test_iarchive ia(ifs);
+ ia >> boost::serialization::make_nvp("Base2", pb2_1);
+ }
+ Sub *s1 = dynamic_cast<Sub *>(pb2);
+ BOOST_CHECK(0 != s1);
+ Sub *s2 = dynamic_cast<Sub *>(pb2_1);
+ BOOST_CHECK(0 != s2);
+ BOOST_CHECK(*s1 == *s2);
+ return EXIT_SUCCESS;
+}
diff --git a/src/boost/libs/serialization/test/test_multiple_ptrs.cpp b/src/boost/libs/serialization/test/test_multiple_ptrs.cpp
new file mode 100644
index 000000000..b1da84227
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_multiple_ptrs.cpp
@@ -0,0 +1,50 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_archive_derivation.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// should pass compilation and execution
+
+#include <cstddef>
+#include <fstream>
+
+#include <boost/config.hpp>
+#include <cstdio> // remove
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::remove;
+}
+#endif
+
+#include "test_tools.hpp"
+
+#include "D.hpp"
+#include "A.ipp"
+
+int test_main( int /* argc */, char* /* argv */[] )
+{
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ const A a;
+ A a1;
+
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << boost::serialization::make_nvp("a", a);
+ }
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> boost::serialization::make_nvp("a", a1);
+ }
+ BOOST_CHECK(a == a1);
+ std::remove(testfile);
+ return EXIT_SUCCESS;
+}
+
+// EOF
diff --git a/src/boost/libs/serialization/test/test_native_array.cpp b/src/boost/libs/serialization/test/test_native_array.cpp
new file mode 100644
index 000000000..a08cdcc0e
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_native_array.cpp
@@ -0,0 +1,103 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_array.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// should pass compilation and execution
+
+#include <stdlib.h>
+
+#include <boost/config.hpp>
+#include <cstddef>
+#include <fstream>
+#include <algorithm> // equal
+#include <cstdio> // remove
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::remove;
+}
+#endif
+#include "test_tools.hpp"
+#include <boost/core/no_exceptions_support.hpp>
+#include <boost/archive/archive_exception.hpp>
+
+#include "A.hpp"
+#include "A.ipp"
+
+template <class T>
+int test_native_array(){
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ // test array of objects
+ const T a_array[10]={T(),T(),T(),T(),T(),T(),T(),T(),T(),T()};
+ const T b_array[2][3]={{T(),T(),T()},{T(),T(),T()}};
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ {
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << boost::serialization::make_nvp("a_array", a_array);
+ oa << boost::serialization::make_nvp("b_array", b_array);
+ }
+ os.close();
+ }
+ {
+ T a_array1[10];
+ T b_array1[2][3];
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ {
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> boost::serialization::make_nvp("a_array", a_array1);
+ ia >> boost::serialization::make_nvp("b_array", b_array1);
+ }
+ is.close();
+ BOOST_CHECK(std::equal(& a_array[0], & a_array[10], & a_array1[0]));
+ BOOST_CHECK(b_array[0][0] == b_array1[0][0]);
+ BOOST_CHECK(b_array[1][0] == b_array1[1][0]);
+ }
+ {
+ T a_array1[9];
+ T b_array1[2][3];
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ {
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ bool exception_invoked = false;
+ BOOST_TRY {
+ ia >> boost::serialization::make_nvp("a_array", a_array1);
+ ia >> boost::serialization::make_nvp("b_array", b_array1);
+ }
+ BOOST_CATCH (boost::archive::archive_exception const& ae){
+ BOOST_CHECK(
+ boost::archive::archive_exception::array_size_too_short
+ == ae.code
+ );
+ exception_invoked = true;
+ }
+ BOOST_CATCH_END
+ BOOST_CHECK(exception_invoked);
+ }
+ is.close();
+ }
+ std::remove(testfile);
+ return EXIT_SUCCESS;
+}
+
+int test_main( int /* argc */, char* /* argv */[] ){
+ int res;
+
+ // native array
+ res = test_native_array<A>();
+ if (res != EXIT_SUCCESS)
+ return EXIT_FAILURE;
+ // test an int array for which optimized versions should be available
+ res = test_native_array<int>();
+ if (res != EXIT_SUCCESS)
+ return EXIT_FAILURE;
+
+ return EXIT_SUCCESS;
+}
+
+// EOF
diff --git a/src/boost/libs/serialization/test/test_new_operator.cpp b/src/boost/libs/serialization/test/test_new_operator.cpp
new file mode 100644
index 000000000..c7b1e7e62
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_new_operator.cpp
@@ -0,0 +1,154 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_new_operator.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// should pass compilation and execution
+
+#include <cstddef> // NULL
+#include <cstdio> // remove
+#include <fstream>
+#include <new>
+
+#include <boost/config.hpp>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::remove;
+}
+#endif
+
+#include <boost/serialization/access.hpp>
+
+#include "test_tools.hpp"
+
+#include "A.hpp"
+#include "A.ipp"
+
+class ANew : public A {
+ friend class boost::serialization::access;
+ template<class Archive>
+ void serialize(Archive & ar, const unsigned /*file_version*/){
+ ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(A);
+ }
+public:
+ static unsigned int m_new_calls;
+ static unsigned int m_delete_calls;
+ // implement class specific new/delete in terms standard
+ // implementation - we're testing serialization
+ // not "new" here.
+ static void * operator new(size_t s){
+ ++m_new_calls;
+ return ::operator new(s);
+ }
+ static void operator delete(void *p, std::size_t){
+ ++m_delete_calls;
+ ::operator delete(p);
+ }
+};
+unsigned int ANew::m_new_calls = 0;
+unsigned int ANew::m_delete_calls = 0;
+
+class ANew1 : public A {
+ friend class boost::serialization::access;
+ template<class Archive>
+ void serialize(Archive & ar, const unsigned /*file_version*/){
+ ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(A);
+ }
+public:
+ static unsigned int m_new_calls;
+ static unsigned int m_delete_calls;
+ // implement class specific new/delete in terms standard
+ // implementation - we're testing serialization
+ // not "new" here.
+ static void * operator new(size_t s){
+ ++m_new_calls;
+ return ::operator new(s);
+ }
+ static void operator delete(void *p){
+ ++m_delete_calls;
+ ::operator delete(p);
+ }
+};
+unsigned int ANew1::m_new_calls = 0;
+unsigned int ANew1::m_delete_calls = 0;
+
+
+class ANew2 : public A {
+ friend class boost::serialization::access;
+ template<class Archive>
+ void serialize(Archive & ar, const unsigned /*file_version*/){
+ ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(A);
+ }
+public:
+ static unsigned int m_new_calls;
+ static unsigned int m_delete_calls;
+ // implement class specific new/delete in terms standard
+ // implementation - we're testing serialization
+ // not "new" here.
+ static void * operator new(size_t s){
+ ++m_new_calls;
+ return ::operator new(s);
+ }
+};
+unsigned int ANew2::m_new_calls = 0;
+unsigned int ANew2::m_delete_calls = 0;
+
+template<typename T>
+int test(){
+ const char * testfile = boost::archive::tmpnam(NULL);
+
+ BOOST_REQUIRE(NULL != testfile);
+
+
+ T *ta = new T();
+
+ BOOST_CHECK(1 == T::m_new_calls);
+ BOOST_CHECK(0 == T::m_delete_calls);
+
+ T *ta1 = NULL;
+
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << boost::serialization::make_nvp("ta", ta);
+ }
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> boost::serialization::make_nvp("ta", ta1);
+ }
+ BOOST_CHECK(ta != ta1);
+ BOOST_CHECK(*ta == *ta1);
+
+ BOOST_CHECK(2 == T::m_new_calls);
+ BOOST_CHECK(0 == T::m_delete_calls);
+
+ std::remove(testfile);
+
+ delete ta;
+ delete ta1;
+
+ BOOST_CHECK(2 == T::m_new_calls);
+ BOOST_CHECK(2 == T::m_delete_calls);
+
+ return EXIT_SUCCESS;
+}
+int test_main( int /* argc */, char* /* argv */[] ){
+ if(EXIT_SUCCESS != test<ANew>())
+ return EXIT_FAILURE;
+ if(EXIT_SUCCESS != test<ANew1>())
+ return EXIT_FAILURE;
+ // Note the following test fails. To see why this is, look into the file
+ // iserializer line # 247. Feel free to send a patch to detect the absense
+ // of a class specific delete.
+ /*
+ if(EXIT_SUCCESS != test<ANew2>())
+ return EXIT_FAILURE;
+ */
+ return EXIT_SUCCESS;
+}
+
+// EOF
diff --git a/src/boost/libs/serialization/test/test_no_rtti.cpp b/src/boost/libs/serialization/test/test_no_rtti.cpp
new file mode 100644
index 000000000..38ccd2dc0
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_no_rtti.cpp
@@ -0,0 +1,166 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_no_rtti.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// note: this program tests the inter-operability of different
+// extended typeinfo systems. In this example, one class is
+// identified using the default RTTI while the other uses a custom
+// system based on the export key.
+//
+// As this program uses RTTI for one of the types, the test will fail
+// on a system for which RTTI is not enabled or not existent.
+
+#include <cstddef>
+#include <fstream>
+#include <iostream>
+
+#include <boost/config.hpp>
+#include <cstdio> // remove
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::remove;
+}
+#endif
+
+#include <boost/serialization/type_info_implementation.hpp>
+#include <boost/serialization/export.hpp>
+#include <boost/serialization/nvp.hpp>
+
+#include "test_tools.hpp"
+
+#include <boost/archive/polymorphic_oarchive.hpp>
+#include <boost/archive/polymorphic_iarchive.hpp>
+
+#include "polymorphic_base.hpp"
+
+#include "polymorphic_derived1.hpp"
+
+#include "polymorphic_derived2.hpp"
+
+// save derived polymorphic class
+void save_derived(const char *testfile)
+{
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa_implementation(os, TEST_ARCHIVE_FLAGS);
+ boost::archive::polymorphic_oarchive & oa_interface = oa_implementation;
+
+ polymorphic_derived1 *rd1 = new polymorphic_derived1;
+ polymorphic_derived2 *rd2 = new polymorphic_derived2;
+
+ std::cout << "saving polymorphic_derived1 (no_rtti)\n";
+ oa_interface << BOOST_SERIALIZATION_NVP(rd1);
+
+ std::cout << "saving polymorphic_derived2\n";
+ oa_interface << BOOST_SERIALIZATION_NVP(rd2);
+
+ const polymorphic_base *rb1 = rd1;
+ polymorphic_base *rb2 = rd2;
+ std::cout << "saving polymorphic_derived1 (no_rtti) through base (rtti)\n";
+ oa_interface << BOOST_SERIALIZATION_NVP(rb1);
+ std::cout << "saving polymorphic_derived2 through base\n";
+ oa_interface << BOOST_SERIALIZATION_NVP(rb2);
+
+ delete rd1;
+ delete rd2;
+}
+
+void load_derived(const char *testfile)
+{
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia_implementation(is, TEST_ARCHIVE_FLAGS);
+ boost::archive::polymorphic_iarchive & ia_interface = ia_implementation;
+
+ polymorphic_derived1 *rd1 = NULL;
+ polymorphic_derived2 *rd2 = NULL;
+
+ std::cout << "loading polymorphic_derived1 (no_rtti)\n";
+ ia_interface >> BOOST_SERIALIZATION_NVP(rd1);
+ BOOST_CHECK_MESSAGE(
+ boost::serialization::type_info_implementation<
+ polymorphic_derived1
+ >::type::get_const_instance()
+ ==
+ * boost::serialization::type_info_implementation<
+ polymorphic_derived1
+ >::type::get_const_instance().get_derived_extended_type_info(*rd1)
+ ,
+ "restored pointer d1 not of correct type"
+ );
+
+ std::cout << "loading polymorphic_derived2\n";
+ ia_interface >> BOOST_SERIALIZATION_NVP(rd2);
+ BOOST_CHECK_MESSAGE(
+ boost::serialization::type_info_implementation<
+ polymorphic_derived2
+ >::type::get_const_instance()
+ ==
+ * boost::serialization::type_info_implementation<
+ polymorphic_derived2
+ >::type::get_const_instance().get_derived_extended_type_info(*rd2)
+ ,
+ "restored pointer d2 not of correct type"
+ );
+ polymorphic_base *rb1 = NULL;
+ polymorphic_base *rb2 = NULL;
+
+ // the above opereration registers the derived classes as a side
+ // effect. Hence, instances can now be correctly serialized through
+ // a base class pointer.
+ std::cout << "loading polymorphic_derived1 (no_rtti) through base (no_rtti)\n";
+ ia_interface >> BOOST_SERIALIZATION_NVP(rb1);
+
+ BOOST_CHECK_MESSAGE(
+ rb1 == dynamic_cast<polymorphic_base *>(rd1),
+ "serialized pointers not correctly restored"
+ );
+
+ BOOST_CHECK_MESSAGE(
+ boost::serialization::type_info_implementation<
+ polymorphic_derived1
+ >::type::get_const_instance()
+ ==
+ * boost::serialization::type_info_implementation<
+ polymorphic_base
+ >::type::get_const_instance().get_derived_extended_type_info(*rb1)
+ ,
+ "restored pointer b1 not of correct type"
+ );
+ std::cout << "loading polymorphic_derived2 through base (no_rtti)\n";
+ ia_interface >> BOOST_SERIALIZATION_NVP(rb2);
+
+ BOOST_CHECK_MESSAGE(
+ rb2 == dynamic_cast<polymorphic_base *>(rd2),
+ "serialized pointers not correctly restored"
+ );
+ BOOST_CHECK_MESSAGE(
+ boost::serialization::type_info_implementation<
+ polymorphic_derived2
+ >::type::get_const_instance()
+ ==
+ * boost::serialization::type_info_implementation<
+ polymorphic_base
+ >::type::get_const_instance().get_derived_extended_type_info(*rb2)
+ ,
+ "restored pointer b2 not of correct type"
+ );
+ delete rb1;
+ delete rb2;
+}
+
+int
+test_main( int /* argc */, char* /* argv */[] )
+{
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ save_derived(testfile);
+ load_derived(testfile);
+ std::remove(testfile);
+ return EXIT_SUCCESS;
+}
+
+// EOF
diff --git a/src/boost/libs/serialization/test/test_non_default_ctor.cpp b/src/boost/libs/serialization/test/test_non_default_ctor.cpp
new file mode 100644
index 000000000..33780ce80
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_non_default_ctor.cpp
@@ -0,0 +1,198 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_non_default_ctor.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// should pass compilation and execution
+
+// this tests:
+// a) non-intrusive method of implementing serialization
+// b) usage of a non-default constructor
+
+#include <cstddef> // NULL
+#include <cstdio> // remove()
+#include <fstream>
+#include <cstdlib> // for rand()
+#include <boost/config.hpp>
+#include <boost/detail/workaround.hpp>
+#include <boost/limits.hpp>
+#include <boost/math/special_functions/next.hpp>
+
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::rand;
+ using ::remove;
+ #if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) && !defined(UNDER_CE)
+ using ::numeric_limits;
+ #endif
+}
+#endif
+
+#include <boost/archive/archive_exception.hpp>
+#include "test_tools.hpp"
+
+///////////////////////////////////////////////////////
+// simple class test - using non-intrusive syntax
+// illustrates the usage of the non-intrusve syntax
+class A
+{
+ friend class boost::serialization::access;
+
+ // note const values can only be initialized with a non
+ // non-default constructor
+ const int i;
+
+ signed char s;
+ unsigned char t;
+ signed int u;
+ unsigned int v;
+ float w;
+ double x;
+ bool operator==(const A & rhs) const;
+ bool operator<(const A & rhs) const;
+
+ template<class Archive>
+ void serialize(Archive & ar,const unsigned int /* file_version */){
+ ar & BOOST_SERIALIZATION_NVP(s);
+ ar & BOOST_SERIALIZATION_NVP(t);
+ ar & BOOST_SERIALIZATION_NVP(u);
+ ar & BOOST_SERIALIZATION_NVP(v);
+ ar & BOOST_SERIALIZATION_NVP(w);
+ ar & BOOST_SERIALIZATION_NVP(x);
+ }
+ A(const A & rhs);
+ A & operator=(const A & rhs);
+public:
+ static int count;
+ const int & get_i() const {
+ return i;
+ }
+ A(int i_);
+ ~A();
+};
+
+int A::count = 0;
+
+A::A(int i_) :
+ i(i_),
+ s(static_cast<signed char>(0xff & std::rand())),
+ t(static_cast<signed char>(0xff & std::rand())),
+ u(std::rand()),
+ v(std::rand()),
+ w((float)std::rand() / std::rand()),
+ x((double)std::rand() / std::rand())
+{
+ ++count;
+}
+
+A::~A(){
+ --count;
+}
+
+bool A::operator==(const A &rhs) const
+{
+ return
+ s == rhs.s
+ && t == rhs.t
+ && u == rhs.u
+ && v == rhs.v
+ && std::abs( boost::math::float_distance(w, rhs.w)) < 2
+ && std::abs( boost::math::float_distance(x, rhs.x)) < 2
+ ;
+}
+
+bool A::operator<(const A &rhs) const
+{
+ if(! (s == rhs.s) )
+ return s < rhs.s;
+ if(! (t == rhs.t) )
+ return t < rhs.t;
+ if(! (u == rhs.u) )
+ return t < rhs.u;
+ if(! (v == rhs.v) )
+ return t < rhs.v;
+ if(std::abs( boost::math::float_distance(w, rhs.w)) > 1)
+ return false;
+ if(std::abs( boost::math::float_distance(x, rhs.x)) > 1)
+ return false;
+ return false;
+}
+
+namespace boost {
+namespace serialization {
+
+template<class Archive>
+inline void save_construct_data(
+ Archive & ar,
+ const A * a,
+ const unsigned int /* file_version */
+){
+ // variable used for construction
+ ar << boost::serialization::make_nvp("i", a->get_i());
+}
+
+template<class Archive>
+inline void load_construct_data(
+ Archive & ar,
+ A * a,
+ const unsigned int /* file_version */
+){
+ int i;
+ ar >> boost::serialization::make_nvp("i", i);
+ ::new(a)A(i);
+}
+
+} // serialization
+} // namespace boost
+
+void save(const char * testfile){
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ A a(2);
+
+ oa << BOOST_SERIALIZATION_NVP(a);
+
+ // save a copy pointer to this item
+ A *pa1 = &a;
+ oa << BOOST_SERIALIZATION_NVP(pa1);
+
+ // save pointer to a new object
+ A *pa2 = new A(4);
+ oa << BOOST_SERIALIZATION_NVP(pa2);
+
+ delete pa2;
+}
+void load(const char * testfile){
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+
+ A a(4);
+ ia >> BOOST_SERIALIZATION_NVP(a);
+
+ A *pa1;
+ ia >> BOOST_SERIALIZATION_NVP(pa1);
+ BOOST_CHECK_MESSAGE(pa1 == &a, "Copy of pointer not correctly restored");
+
+ A *pa2;
+ ia >> BOOST_SERIALIZATION_NVP(pa2);
+ BOOST_CHECK_MESSAGE(pa2 != &a, "Pointer not correctly restored");
+
+ delete pa2;
+}
+
+int
+test_main( int /* argc */, char* /* argv */[] )
+{
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+ save(testfile);
+ load(testfile);
+ BOOST_CHECK(0 == A::count);
+ std::remove(testfile);
+ return EXIT_SUCCESS;
+}
+
+// EOF
diff --git a/src/boost/libs/serialization/test/test_non_default_ctor2.cpp b/src/boost/libs/serialization/test/test_non_default_ctor2.cpp
new file mode 100644
index 000000000..ef855f3af
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_non_default_ctor2.cpp
@@ -0,0 +1,144 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_non_default_ctor2.cpp
+
+// (C) Copyright 2002 Martin Ecker.
+// Use, modification and distribution is 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)
+
+// should pass compilation and execution
+
+// this tests complex usage of non-default constructor. Specifically
+// the case where a constructor serializes a pointer member.
+
+#include <fstream>
+
+#include <boost/config.hpp>
+
+#include "test_tools.hpp"
+
+class IntValueHolder
+{
+public:
+ IntValueHolder()
+ : value(0)
+ {}
+
+ IntValueHolder(int newvalue)
+ : value(newvalue)
+ {}
+
+ int GetValue() const { return value; }
+
+private:
+ int value;
+
+ friend class boost::serialization::access;
+
+ template <class ArchiveT>
+ void serialize(ArchiveT& ar, const unsigned int /* file_version */)
+ {
+ ar & BOOST_SERIALIZATION_NVP(value);
+ }
+};
+
+class FloatValueHolder
+{
+public:
+ FloatValueHolder()
+ : value(0)
+ {}
+
+ FloatValueHolder(float newvalue)
+ : value(newvalue)
+ {}
+
+ float GetValue() const { return value; }
+
+private:
+ float value;
+
+ friend class boost::serialization::access;
+
+ template <class ArchiveT>
+ void serialize(ArchiveT& ar, const unsigned int /* file_version */)
+ {
+ ar & BOOST_SERIALIZATION_NVP(value);
+ }
+};
+
+class A
+{
+public:
+ A(const IntValueHolder& initialValue)
+ : value(initialValue), floatValue(new FloatValueHolder(10.0f))
+ {}
+
+ ~A()
+ {
+ delete floatValue;
+ }
+
+ IntValueHolder value;
+ FloatValueHolder* floatValue;
+
+private:
+ friend class boost::serialization::access;
+
+ template <class ArchiveT>
+ void serialize(ArchiveT& ar, const unsigned int /* file_version */)
+ {
+ ar & BOOST_SERIALIZATION_NVP(floatValue);
+ }
+};
+
+namespace boost {
+namespace serialization {
+
+template <class ArchiveT>
+void save_construct_data(
+ ArchiveT& archive,
+ const A* p,
+ const unsigned int /*version*/
+){
+ archive & boost::serialization::make_nvp("initialValue", p->value);
+}
+
+template <class ArchiveT>
+void load_construct_data(
+ ArchiveT& archive,
+ A* p,
+ const unsigned int /*version*/
+){
+ IntValueHolder initialValue;
+ archive & boost::serialization::make_nvp("initialValue", initialValue);
+
+ ::new (p) A(initialValue);
+}
+
+} // serialization
+} // namespace boost
+
+int test_main( int /* argc */, char* /* argv */[] )
+{
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+ A* a = new A(5);
+
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << BOOST_SERIALIZATION_NVP(a);
+ }
+
+ A* a_new;
+
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> BOOST_SERIALIZATION_NVP(a_new);
+ }
+ delete a;
+ delete a_new;
+ return EXIT_SUCCESS;
+}
diff --git a/src/boost/libs/serialization/test/test_non_intrusive.cpp b/src/boost/libs/serialization/test/test_non_intrusive.cpp
new file mode 100644
index 000000000..b3c3536c9
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_non_intrusive.cpp
@@ -0,0 +1,174 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_non_intrursive.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// should pass compilation and execution
+
+// this tests:
+// a) non-intrusive method of implementing serialization
+// b) usage of a non-default constructor
+
+#include <fstream>
+#include <cstdlib> // for rand()
+#include <cstdio> // remove
+#include <boost/config.hpp>
+#include <boost/detail/workaround.hpp>
+#include <boost/limits.hpp>
+#include <boost/math/special_functions/next.hpp>
+
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::rand;
+ using ::remove;
+ #if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) && !defined(UNDER_CE)
+ using ::numeric_limits;
+ #endif
+}
+#endif
+
+#include <boost/archive/archive_exception.hpp>
+#include "test_tools.hpp"
+
+///////////////////////////////////////////////////////
+// simple class test - using non-intrusive syntax
+// illustrates the usage of the non-intrusve syntax
+class A
+{
+public:
+ signed char s;
+ unsigned char t;
+ signed int u;
+ unsigned int v;
+ float w;
+ double x;
+ A();
+ bool operator==(const A & rhs) const;
+ bool operator<(const A & rhs) const;
+};
+
+A::A() :
+ s(static_cast<signed char>(0xff & std::rand())),
+ t(static_cast<signed char>(0xff & std::rand())),
+ u(std::rand()),
+ v(std::rand()),
+ w((float)std::rand() / std::rand()),
+ x((double)std::rand() / std::rand())
+{
+}
+
+bool A::operator==(const A &rhs) const
+{
+ return
+ s == rhs.s
+ && t == rhs.t
+ && u == rhs.u
+ && v == rhs.v
+ && std::abs( boost::math::float_distance(w, rhs.w)) < 2
+ && std::abs( boost::math::float_distance(x, rhs.x)) < 2
+ ;
+}
+
+bool A::operator<(const A &rhs) const
+{
+ if(! (s == rhs.s) )
+ return s < rhs.s;
+ if(! (t == rhs.t) )
+ return t < rhs.t;
+ if(! (u == rhs.u) )
+ return t < rhs.u;
+ if(! (v == rhs.v) )
+ return t < rhs.v;
+ if(std::abs( boost::math::float_distance(w, rhs.w)) > 1)
+ return false;
+ if(std::abs( boost::math::float_distance(x, rhs.x)) > 1)
+ return false;
+ return false;
+}
+
+// note the following:
+
+// function specializations must be defined in the appropriate
+// namespace - boost::serialization
+namespace boost {
+namespace serialization {
+
+// This first set of overrides should work with all compilers.
+
+// The last argument is int while the default versions
+// defined in serialization.hpp have long as the last argument.
+// This is part of the work around for compilers that don't
+// support correct function template ordering. These functions
+// are always called with 0 (i.e. an int) as the last argument.
+// Our specialized versions also have int as the last argument
+// while the default versions have a long as the last argument.
+// This makes our specialized versions a better match than the
+// default ones as no argument conversion is required to make a match
+template<class Archive>
+void serialize(
+ Archive & ar,
+ A & a,
+ const unsigned int /* file_version */
+){
+ ar & boost::serialization::make_nvp("s", a.s);
+ ar & boost::serialization::make_nvp("t", a.t);
+ ar & boost::serialization::make_nvp("u", a.u);
+ ar & boost::serialization::make_nvp("v", a.v);
+ ar & boost::serialization::make_nvp("w", a.w);
+ ar & boost::serialization::make_nvp("x", a.x);
+}
+
+} // serialization
+} // namespace boost
+
+void save(const char * testfile){
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ A a;
+
+ oa << BOOST_SERIALIZATION_NVP(a);
+
+ // save a copy pointer to this item
+ A *pa1 = &a;
+ oa << BOOST_SERIALIZATION_NVP(pa1);
+
+ // save pointer to a new object
+ A *pa2 = new A();
+ oa << BOOST_SERIALIZATION_NVP(pa2);
+
+ delete pa2;
+}
+
+void load(const char * testfile){
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+
+ A a;
+ ia >> BOOST_SERIALIZATION_NVP(a);
+
+ A *pa1;
+ ia >> BOOST_SERIALIZATION_NVP(pa1);
+ BOOST_CHECK_MESSAGE(pa1 == &a, "Copy of pointer not correctly restored");
+
+ A *pa2;
+ ia >> BOOST_SERIALIZATION_NVP(pa2);
+ BOOST_CHECK_MESSAGE(pa2 != &a, "Pointer not correctly restored");
+
+ delete pa2;
+}
+
+int
+test_main( int /* argc */, char* /* argv */[] )
+{
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+ save(testfile);
+ load(testfile);
+ std::remove(testfile);
+ return EXIT_SUCCESS;
+}
+
+// EOF
diff --git a/src/boost/libs/serialization/test/test_not_serializable.cpp b/src/boost/libs/serialization/test/test_not_serializable.cpp
new file mode 100644
index 000000000..178f383d1
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_not_serializable.cpp
@@ -0,0 +1,47 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_non_serializable.cpp: test implementation level trait
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// test implementation level "not_serializable"
+// should fail compilation
+
+#include <fstream>
+
+#include "test_tools.hpp"
+#include <boost/serialization/level.hpp>
+#include <boost/serialization/nvp.hpp>
+
+class A
+{
+};
+
+BOOST_CLASS_IMPLEMENTATION(A, boost::serialization::not_serializable)
+
+void out(A & a)
+{
+ test_ostream os("testfile", TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << BOOST_SERIALIZATION_NVP(a);
+}
+
+void in(A & a)
+{
+ test_istream is("testfile", TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> BOOST_SERIALIZATION_NVP(a);
+}
+
+int
+test_main( int /* argc */, char* /* argv */[] )
+{
+ A a;
+ out(a);
+ in(a);
+ return EXIT_SUCCESS;
+}
+
+// EOF
diff --git a/src/boost/libs/serialization/test/test_null_ptr.cpp b/src/boost/libs/serialization/test/test_null_ptr.cpp
new file mode 100644
index 000000000..7868799e8
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_null_ptr.cpp
@@ -0,0 +1,89 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_null_ptr.cpp: test implementation level trait
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// should pass compilation and execution
+
+#include <cstddef> // NULL
+#include <cstdio> // remove
+#include <fstream>
+
+#include <boost/config.hpp>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::remove;
+}
+#endif
+
+#include "test_tools.hpp"
+#include <boost/serialization/base_object.hpp>
+
+class polymorphic_base
+{
+ friend class boost::serialization::access;
+ template<class Archive>
+ void serialize(Archive & /* ar */, const unsigned int /* file_version */){
+ }
+public:
+ virtual ~polymorphic_base(){};
+};
+
+class polymorphic_derived1 : public polymorphic_base
+{
+ friend class boost::serialization::access;
+ template<class Archive>
+ void serialize(Archive &ar, const unsigned int /* file_version */){
+ ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(polymorphic_base);
+ }
+};
+
+// save unregistered polymorphic classes
+void save(const char *testfile)
+{
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+
+ polymorphic_base *rb1 = NULL;
+ polymorphic_derived1 *rd1 = NULL;
+
+ oa << BOOST_SERIALIZATION_NVP(rb1);
+ oa << BOOST_SERIALIZATION_NVP(rd1);
+}
+
+// load unregistered polymorphic classes
+void load(const char *testfile)
+{
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+
+ polymorphic_derived1 dummy;
+
+ polymorphic_base *rb1 = & dummy;
+ polymorphic_derived1 *rd1 = & dummy;
+
+ ia >> BOOST_SERIALIZATION_NVP(rb1);
+ BOOST_CHECK_MESSAGE(NULL == rb1, "Null pointer not restored");
+
+ ia >> BOOST_SERIALIZATION_NVP(rd1);
+ BOOST_CHECK_MESSAGE(NULL == rd1, "Null pointer not restored");
+
+ delete rb1;
+ delete rd1;
+}
+
+int
+test_main( int /* argc */, char* /* argv */[] )
+{
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+ save(testfile);
+ load(testfile);
+ std::remove(testfile);
+ return EXIT_SUCCESS;
+}
+
+// EOF
diff --git a/src/boost/libs/serialization/test/test_nvp.cpp b/src/boost/libs/serialization/test/test_nvp.cpp
new file mode 100644
index 000000000..5390db23a
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_nvp.cpp
@@ -0,0 +1,68 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_nvp.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// should pass compilation and execution
+
+#include <cstddef> // NULL
+#include <cstdio> // remove
+#include <fstream>
+
+#include <boost/config.hpp>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::remove;
+}
+#endif
+
+#include "test_tools.hpp"
+
+#include <boost/serialization/nvp.hpp>
+
+#include "B.hpp"
+#include "A.ipp"
+
+int
+test_main( int /* argc */, char* /* argv */[] )
+{
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ B b, b1;
+
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << BOOST_SERIALIZATION_NVP(b);
+ }
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> BOOST_SERIALIZATION_NVP(b1);
+ }
+ BOOST_CHECK(b == b1);
+
+ B *bptr = &b;
+ B *bptr1;
+
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << BOOST_SERIALIZATION_NVP(bptr);
+ }
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> BOOST_SERIALIZATION_NVP(bptr1);
+ }
+ BOOST_CHECK(b == *bptr1);
+
+ std::remove(testfile);
+ return EXIT_SUCCESS;
+}
+
+// EOF
diff --git a/src/boost/libs/serialization/test/test_object.cpp b/src/boost/libs/serialization/test/test_object.cpp
new file mode 100644
index 000000000..54bdc30bb
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_object.cpp
@@ -0,0 +1,70 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_object.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// test implementation level "object_serializable"
+// should pass compilation and execution
+
+#include <cstddef> // NULL
+#include <cstdio> // remove
+#include <fstream>
+
+#include <boost/config.hpp>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::remove;
+}
+#endif
+
+#include "test_tools.hpp"
+
+#include <boost/serialization/level.hpp>
+#include <boost/serialization/nvp.hpp>
+
+class A
+{
+ friend class boost::serialization::access;
+ template<class Archive>
+ void serialize(Archive & /* ar */, const unsigned int /* file_version */){
+ }
+};
+
+BOOST_CLASS_IMPLEMENTATION(A, boost::serialization::object_serializable)
+
+// note: version can be assigned only to objects whose implementation
+// level is object_class_info. So, doing the following will result in
+// a static assertion
+// BOOST_CLASS_VERSION(A, 2);
+
+void out(const char *testfile, A & a)
+{
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << BOOST_SERIALIZATION_NVP(a);
+}
+
+void in(const char *testfile, A & a)
+{
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> BOOST_SERIALIZATION_NVP(a);
+}
+
+int
+test_main( int /* argc */, char* /* argv */[] )
+{
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ A a;
+ out(testfile, a);
+ in(testfile, a);
+ std::remove(testfile);
+ return EXIT_SUCCESS;
+}
+
+// EOF
diff --git a/src/boost/libs/serialization/test/test_optional.cpp b/src/boost/libs/serialization/test/test_optional.cpp
new file mode 100644
index 000000000..579056317
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_optional.cpp
@@ -0,0 +1,96 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_optional.cpp
+
+// (C) Copyright 2004 Pavel Vozenilek
+// Use, modification and distribution is 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)
+
+// should pass compilation and execution
+
+#include <cstddef> // NULL
+#include <cstdio> // remove
+#include <fstream>
+
+#include <boost/config.hpp>
+
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::remove;
+}
+#endif
+
+#include <boost/archive/archive_exception.hpp>
+#include "test_tools.hpp"
+
+#include <boost/serialization/optional.hpp>
+#include <boost/serialization/string.hpp>
+
+struct A {
+ int m_x;
+ template<class Archive>
+ void serialize(Archive & ar, const unsigned int /* version */){
+ ar & boost::serialization::make_nvp("x", m_x);
+ };
+ bool operator==(const A & rhs) const {
+ return m_x == rhs.m_x;
+ }
+ // note that default constructor is not trivial
+ A() :
+ m_x(0)
+ {}
+ A(int x) :
+ m_x(x)
+ {}
+};
+
+int test_main( int /* argc */, char* /* argv */[] )
+{
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ const boost::optional<int> aoptional1;
+ const boost::optional<int> aoptional2(123);
+ const boost::optional<A> aoptional3;
+ A a(1);
+ const boost::optional<A> aoptional4(a);
+ const boost::optional<A *> aoptional5;
+ const boost::optional<A *> aoptional6(& a);
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << boost::serialization::make_nvp("aoptional1",aoptional1);
+ oa << boost::serialization::make_nvp("aoptional2",aoptional2);
+ oa << boost::serialization::make_nvp("aoptional3",aoptional3);
+ oa << boost::serialization::make_nvp("aoptional4",aoptional4);
+ oa << boost::serialization::make_nvp("aoptional5",aoptional5);
+ oa << boost::serialization::make_nvp("aoptional6",aoptional6);
+ }
+ boost::optional<int> aoptional1a(999);
+ boost::optional<int> aoptional2a;
+ boost::optional<A> aoptional3a;
+ boost::optional<A> aoptional4a;
+ boost::optional<A *> aoptional5a;
+ boost::optional<A *> aoptional6a;
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> boost::serialization::make_nvp("aoptional1",aoptional1a);
+ ia >> boost::serialization::make_nvp("aoptional2",aoptional2a);
+ ia >> boost::serialization::make_nvp("aoptional3",aoptional3a);
+ ia >> boost::serialization::make_nvp("aoptional4",aoptional4a);
+ ia >> boost::serialization::make_nvp("aoptional5",aoptional5a);
+ ia >> boost::serialization::make_nvp("aoptional6",aoptional6a);
+ }
+ BOOST_CHECK(aoptional1 == aoptional1a);
+ BOOST_CHECK(aoptional2 == aoptional2a);
+ BOOST_CHECK(aoptional3 == aoptional3a);
+ BOOST_CHECK(aoptional4.get() == aoptional4a.get());
+ BOOST_CHECK(aoptional5 == aoptional5a);
+ BOOST_CHECK(*aoptional6.get() == *aoptional6a.get());
+
+ std::remove(testfile);
+ return EXIT_SUCCESS;
+}
+
+// EOF
diff --git a/src/boost/libs/serialization/test/test_p_helper.cpp b/src/boost/libs/serialization/test/test_p_helper.cpp
new file mode 100644
index 000000000..a4404e89a
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_p_helper.cpp
@@ -0,0 +1,160 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_polymorphic.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// should pass compilation and execution
+
+#include <cstddef> // NULL
+#include <cstdio> // remove
+#include <fstream>
+
+#include <boost/config.hpp>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::remove;
+}
+#endif
+
+// the following is to ensure that when one of the libraries changes
+// BJAM rebuilds and relinks the test.
+/*
+#include "polymorphic_text_archive.hpp"
+#include "polymorphic_text_warchive.hpp"
+#include "polymorphic_binary_archive.hpp"
+#include "polymorphic_xml_archive.hpp"
+#include "polymorphic_xml_warchive.hpp"
+*/
+
+#include <string>
+#include <vector>
+
+#include "test_tools.hpp"
+#include <boost/lexical_cast.hpp>
+#include <boost/serialization/split_free.hpp>
+#include <boost/serialization/vector.hpp>
+#include <boost/serialization/nvp.hpp>
+// this test uses a special string (my_string) whose contents are shared
+// and hence saved in the archive only once. We need a helper in order
+// to convert my_string into a serializable type
+
+class my_string:public std::string
+{
+ typedef std::string super;
+
+public:
+ my_string(){}
+ my_string(const super & str): super(str){}
+ my_string & operator=(const super& rhs) {
+ super::operator=(rhs);
+ return *this;
+ }
+};
+
+struct my_string_helper
+{
+ typedef std::vector<my_string> table;
+ table m_t;
+};
+
+BOOST_SERIALIZATION_SPLIT_FREE(my_string)
+
+namespace boost {
+namespace serialization {
+
+template<class Archive>
+void save(Archive & ar, const my_string & str, const unsigned int /* version */)
+{
+ void (* const idx)(Archive &, const my_string &, const unsigned int) = & save;
+ void * const id = reinterpret_cast<void * const>(idx);
+ my_string_helper & msh = ar.template get_helper<my_string_helper>(id);
+
+ my_string_helper::table t = msh.m_t;
+ my_string_helper::table::iterator it = std::find(t.begin(), t.end(), str);
+ if(it == t.end()){
+ my_string_helper::table::size_type s = t.size();
+ ar << make_nvp("index", s);
+ t.push_back(str);
+ ar << make_nvp("string", static_cast<const std::string &>(str));
+ }
+ else{
+ my_string_helper::table::size_type s = it - t.begin();
+ ar << make_nvp("index", s);
+ }
+}
+
+template<class Archive>
+void load(Archive & ar, my_string & str, const unsigned int /* version */)
+{
+ void (* const idx)(Archive &, my_string &, const unsigned int) = & load;
+ void * const id = reinterpret_cast<void * const>(idx);
+ my_string_helper & msh = ar.template get_helper<my_string_helper>(id);
+
+ my_string_helper::table t = msh.m_t;
+
+ my_string_helper::table::size_type s;
+ ar >> make_nvp("index", s);
+ t.reserve(s);
+ if(s >= t.size()){
+ std::string tmp;
+ ar >> make_nvp("string", tmp);
+ str = tmp;
+ t.push_back(str);
+ }
+ else{
+ str = t[s];
+ }
+}
+
+} // namespace serialization
+} // namespace boost
+#include <boost/archive/polymorphic_oarchive.hpp>
+#include <boost/archive/polymorphic_iarchive.hpp>
+
+int test_main(int /* argc */, char * /* argv */ [])
+{
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ std::vector<my_string> v1;
+ for(int i=0; i<1000; ++i){
+ v1.push_back(my_string(boost::lexical_cast<std::string>(i % 100)));
+ }
+
+ // test using using polymorphic implementation.
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa_implementation(os, TEST_ARCHIVE_FLAGS);
+ oa_implementation << boost::serialization::make_nvp("vector", v1);
+ }
+ {
+ std::vector<my_string> v2;
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia_implementation(is, TEST_ARCHIVE_FLAGS);
+ ia_implementation >> boost::serialization::make_nvp("vector", v2);
+ BOOST_CHECK(v1 == v2);
+ }
+ std::remove(testfile);
+
+ // test using using polymorphic interface.
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa_implementation(os, TEST_ARCHIVE_FLAGS);
+ boost::archive::polymorphic_oarchive & oa_interface = oa_implementation;
+ oa_interface << boost::serialization::make_nvp("vector", v1);
+ }
+ {
+ std::vector<my_string> v2;
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia_implementation(is, TEST_ARCHIVE_FLAGS);
+ boost::archive::polymorphic_iarchive & ia_interface = ia_implementation;
+ ia_interface >> boost::serialization::make_nvp("vector", v2);
+ BOOST_CHECK(v1 == v2);
+ }
+ std::remove(testfile);
+ std::remove(testfile);
+ return EXIT_SUCCESS;
+}
diff --git a/src/boost/libs/serialization/test/test_pimpl.cpp b/src/boost/libs/serialization/test/test_pimpl.cpp
new file mode 100644
index 000000000..267bb5d1e
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_pimpl.cpp
@@ -0,0 +1,48 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_pimpl.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// should pass compilation and execution
+
+#include <boost/compatibility/cpp_c_headers/cstdio> // for tmpnam
+
+#include <fstream>
+#include <boost/serialization/nvp.hpp>
+
+#include "test_tools.hpp"
+
+class B;
+
+class A {
+ friend boost::serialization::access;
+ B *pimpl;
+ template<class Archive>
+ void serialize(Archive & ar, const unsigned int file_version);
+};
+
+int test_main( int argc, char* argv[] )
+{
+ char testfile[TMP_MAX];
+ std::tmpnam(testfile);
+// BOOST_REQUIRE(NULL != testfile);
+
+ A a, a1;
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os);
+ oa << BOOST_SERIALIZATION_NVP(a);
+ }
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is);
+ BOOST_SERIALIZATION_NVP(a1);
+ }
+// BOOST_CHECK(a != a1);
+ return 0;
+}
+
+// EOF
diff --git a/src/boost/libs/serialization/test/test_polymorphic.cpp b/src/boost/libs/serialization/test/test_polymorphic.cpp
new file mode 100644
index 000000000..468809882
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_polymorphic.cpp
@@ -0,0 +1,94 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_polymorphic.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// should pass compilation and execution
+
+#include <cstddef> // NULL
+#include <cstdio> // remove
+#include <fstream>
+
+#include <boost/config.hpp>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::remove;
+}
+#endif
+
+// the following is to ensure that when one of the libraries changes
+// BJAM rebuilds and relinks the test.
+/*
+#include "polymorphic_text_archive.hpp"
+#include "polymorphic_text_warchive.hpp"
+#include "polymorphic_binary_archive.hpp"
+#include "polymorphic_xml_archive.hpp"
+#include "polymorphic_xml_warchive.hpp"
+*/
+
+#include "test_tools.hpp"
+
+#include <boost/archive/polymorphic_oarchive.hpp>
+#include <boost/archive/polymorphic_iarchive.hpp>
+
+#include <boost/serialization/nvp.hpp>
+#include "test_polymorphic_A.hpp"
+
+int test_main(int /* argc */, char * /* argv */ [])
+{
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+ const data d;
+ data d1;
+ // test using using polymorphic interface
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa_implementation(os, TEST_ARCHIVE_FLAGS);
+ boost::archive::polymorphic_oarchive & oa_interface = oa_implementation;
+ oa_interface << BOOST_SERIALIZATION_NVP(d);
+ }
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia_implementation(is, TEST_ARCHIVE_FLAGS);
+ boost::archive::polymorphic_iarchive & ia_interface = ia_implementation;
+ ia_interface >> BOOST_SERIALIZATION_NVP(d1);
+ }
+ BOOST_CHECK(d == d1);
+ std::remove(testfile);
+
+ // test using using polymorphic implementation.
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa_implementation(os, TEST_ARCHIVE_FLAGS);
+ oa_implementation << BOOST_SERIALIZATION_NVP(d);
+ }
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia_implementation(is, TEST_ARCHIVE_FLAGS);
+ ia_implementation >> BOOST_SERIALIZATION_NVP(d1);
+ }
+ BOOST_CHECK(d == d1);
+ std::remove(testfile);
+
+ // test using using polymorphic interface.
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ boost::archive::polymorphic_oarchive * oa_implementation
+ = new test_oarchive(os, TEST_ARCHIVE_FLAGS);
+ *oa_implementation << BOOST_SERIALIZATION_NVP(d);
+ delete oa_implementation;
+ }
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ boost::archive::polymorphic_iarchive * ia_implementation
+ = new test_iarchive(is, TEST_ARCHIVE_FLAGS);
+ *ia_implementation >> BOOST_SERIALIZATION_NVP(d1);
+ delete ia_implementation;
+ }
+ BOOST_CHECK(d == d1);
+ std::remove(testfile);
+ return EXIT_SUCCESS;
+}
diff --git a/src/boost/libs/serialization/test/test_polymorphic2.cpp b/src/boost/libs/serialization/test/test_polymorphic2.cpp
new file mode 100644
index 000000000..12c27dbea
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_polymorphic2.cpp
@@ -0,0 +1,40 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_polymorphic2.cpp
+
+// (C) Copyright 2009 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// should pass compilation and execution
+#include <fstream>
+
+#include "test_tools.hpp"
+
+#include "test_polymorphic2.hpp"
+
+int test_main(int /*argc*/, char* /*argv*/[])
+{
+ A *a = new B();
+ a->i = 3;
+
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa_implementation(os, TEST_ARCHIVE_FLAGS);
+ boost::archive::polymorphic_oarchive & opa = oa_implementation;
+ opa << BOOST_SERIALIZATION_NVP(a);
+ }
+ A *loaded = 0;
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia_implementation(is, TEST_ARCHIVE_FLAGS);
+ boost::archive::polymorphic_iarchive & ipa = ia_implementation;
+ ipa >> BOOST_SERIALIZATION_NVP(loaded);
+ }
+ BOOST_CHECK(a->i == loaded->i);
+ delete a;
+ delete loaded;
+ return EXIT_SUCCESS;
+}
diff --git a/src/boost/libs/serialization/test/test_polymorphic2.hpp b/src/boost/libs/serialization/test/test_polymorphic2.hpp
new file mode 100644
index 000000000..c8a041fcf
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_polymorphic2.hpp
@@ -0,0 +1,43 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_polymorphic2.hpp
+
+// (C) Copyright 2009 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// should pass compilation and execution
+namespace boost {
+namespace archive {
+ class polymorphic_oarchive;
+ class polymorphic_iarchive;
+}
+}
+
+struct A {
+public:
+ A() {}
+ virtual ~A() {}
+
+ void serialize(
+ boost::archive::polymorphic_oarchive &ar,
+ const unsigned int /*version*/
+ );
+ void serialize(
+ boost::archive::polymorphic_iarchive &ar,
+ const unsigned int /*version*/
+ );
+
+ int i;
+};
+
+struct B : A {
+ void serialize(
+ boost::archive::polymorphic_oarchive &ar,
+ const unsigned int /*version*/
+ );
+ void serialize(
+ boost::archive::polymorphic_iarchive &ar,
+ const unsigned int /*version*/
+ );
+};
diff --git a/src/boost/libs/serialization/test/test_polymorphic2imp.cpp b/src/boost/libs/serialization/test/test_polymorphic2imp.cpp
new file mode 100644
index 000000000..cad50dd89
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_polymorphic2imp.cpp
@@ -0,0 +1,44 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_polymorphic2imp.cpp
+
+// (C) Copyright 2009 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// should pass compilation and execution
+
+#include <boost/serialization/export.hpp>
+#include <boost/archive/polymorphic_oarchive.hpp>
+#include <boost/archive/polymorphic_iarchive.hpp>
+
+#include "test_polymorphic2.hpp"
+
+void A::serialize(
+ boost::archive::polymorphic_oarchive &ar,
+ const unsigned int /*version*/
+){
+ ar & BOOST_SERIALIZATION_NVP(i);
+}
+void A::serialize(
+ boost::archive::polymorphic_iarchive &ar,
+ const unsigned int /*version*/
+){
+ ar & BOOST_SERIALIZATION_NVP(i);
+}
+// note: only the most derived classes need be exported
+// BOOST_CLASS_EXPORT(A)
+
+void B::serialize(
+ boost::archive::polymorphic_oarchive &ar,
+ const unsigned int /*version*/
+){
+ ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(A);
+}
+void B::serialize(
+ boost::archive::polymorphic_iarchive &ar,
+ const unsigned int /*version*/
+){
+ ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(A);
+}
+BOOST_CLASS_EXPORT(B)
diff --git a/src/boost/libs/serialization/test/test_polymorphic_A.cpp b/src/boost/libs/serialization/test/test_polymorphic_A.cpp
new file mode 100644
index 000000000..a4f4d1a0b
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_polymorphic_A.cpp
@@ -0,0 +1,58 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_polymorphic_A.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+#include "test_polymorphic_A.hpp"
+#include <boost/serialization/nvp.hpp>
+
+#include "A.hpp"
+#include "A.ipp"
+
+data::data() :
+ a(new A)
+{}
+data::~data(){
+ delete a;
+}
+
+bool data::operator==(const data & rhs) const {
+ return * (a) == *(rhs.a);
+}
+
+#if 0 // this method fails with msvc 6.0 and borland
+// now we can define the serialization for class A
+template<class Archive>
+void data::serialize(Archive & ar, const unsigned int /* file_version */){
+ ar & BOOST_SERIALIZATION_NVP(a);
+}
+
+// without the explicit instantiations below, the program will
+// fail to link for lack of instantiantiation of the above function
+// note: the following failed to fix link errors for vc 7.0 !
+#include <boost/archive/polymorphic_oarchive.hpp>
+
+template void data::serialize<boost::archive::polymorphic_oarchive>(
+ boost::archive::polymorphic_oarchive & ar,
+ const unsigned int file_version
+);
+
+#include <boost/archive/polymorphic_iarchive.hpp>
+
+template void data::serialize<boost::archive::polymorphic_iarchive>(
+ boost::archive::polymorphic_iarchive & ar,
+ const unsigned int file_version
+);
+#endif
+
+// so use this
+void data::serialize(boost::archive::polymorphic_oarchive & ar, const unsigned int /* file_version */){
+ ar & BOOST_SERIALIZATION_NVP(a);
+}
+
+void data::serialize(boost::archive::polymorphic_iarchive & ar, const unsigned int /* file_version */){
+ ar & BOOST_SERIALIZATION_NVP(a);
+}
diff --git a/src/boost/libs/serialization/test/test_polymorphic_A.hpp b/src/boost/libs/serialization/test/test_polymorphic_A.hpp
new file mode 100644
index 000000000..839ed27b6
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_polymorphic_A.hpp
@@ -0,0 +1,30 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_polymorphic_A.hpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// class whose declaration is hidden by a pointer
+// #include <boost/serialization/scoped_ptr.hpp>
+
+#include <boost/archive/polymorphic_oarchive.hpp>
+#include <boost/archive/polymorphic_iarchive.hpp>
+
+class A;
+
+struct data {
+ // class a contains a pointer to a "hidden" declaration
+ // borland scoped_ptr doesn't work !!!
+ // boost::scoped_ptr<A> a;
+ A * a;
+// template<class Archive>
+// void serialize(Archive & ar, const unsigned int file_version);
+ void serialize(boost::archive::polymorphic_oarchive & ar, const unsigned int file_version);
+ void serialize(boost::archive::polymorphic_iarchive & ar, const unsigned int file_version);
+ data();
+ ~data();
+ bool operator==(const data & rhs) const;
+};
+
diff --git a/src/boost/libs/serialization/test/test_primitive.cpp b/src/boost/libs/serialization/test/test_primitive.cpp
new file mode 100644
index 000000000..02ea7902f
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_primitive.cpp
@@ -0,0 +1,66 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_primitive.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// test implementation level "primitive_type"
+
+#include <cstddef> // NULL
+#include <fstream>
+
+#include <boost/config.hpp>
+
+#include "test_tools.hpp"
+
+#include <boost/serialization/level.hpp>
+#include <boost/serialization/nvp.hpp>
+
+struct A
+{
+ template<class Archive>
+ void serialize(Archive &ar, const unsigned int /* file_version */){
+ // note: should never fail here
+ BOOST_STATIC_ASSERT(0 == sizeof(Archive));
+ }
+};
+
+std::ostream & operator<<(std::ostream &os, const A & /* a */){ return os;}
+std::istream & operator>>(std::istream &is, A & /* a */){return is;}
+
+#ifndef BOOST_NO_STD_WSTREAMBUF
+std::wostream & operator<<(std::wostream &os, const A & /* a */){ return os;}
+std::wistream & operator>>(std::wistream &is, A & /* a */){return is;}
+#endif
+
+BOOST_CLASS_IMPLEMENTATION(A, boost::serialization::primitive_type)
+
+void out(const char *testfile, A & a)
+{
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << BOOST_SERIALIZATION_NVP(a);
+}
+
+void in(const char *testfile, A & a)
+{
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> BOOST_SERIALIZATION_NVP(a);
+}
+
+int
+test_main( int /* argc */, char* /* argv */[] )
+{
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ A a;
+ out(testfile, a);
+ in(testfile, a);
+ return EXIT_SUCCESS;
+}
+
+// EOF
diff --git a/src/boost/libs/serialization/test/test_priority_queue.cpp b/src/boost/libs/serialization/test/test_priority_queue.cpp
new file mode 100644
index 000000000..fe763bb9f
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_priority_queue.cpp
@@ -0,0 +1,65 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_priority_queue.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// should pass compilation and execution
+
+#include <cstddef>
+#include <fstream>
+
+#include <cstdio> // remove
+#include <boost/config.hpp>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::remove;
+}
+#endif
+
+#include "test_tools.hpp"
+
+#include <boost/serialization/vector.hpp>
+#include <boost/serialization/priority_queue.hpp>
+
+#include "A.hpp"
+#include "A.ipp"
+
+int test_main( int /* argc */, char* /* argv */[] )
+{
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ // test array of objects
+ std::priority_queue<A, std::vector<A> > a_priority_queue, a_priority_queue1;
+ a_priority_queue.push(A());
+ a_priority_queue.push(A());
+ a_priority_queue.push(A());
+ a_priority_queue.push(A());
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << boost::serialization::make_nvp("a_priority_queue",a_priority_queue);
+ }
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> boost::serialization::make_nvp("a_priority_queue",a_priority_queue1);
+ }
+ BOOST_CHECK(a_priority_queue.size() == a_priority_queue1.size());
+
+ for(int i = a_priority_queue.size(); i-- > 0;){
+ const A & a1 = a_priority_queue.top();
+ const A & a2 = a_priority_queue1.top();
+ BOOST_CHECK(a1 == a2);
+ a_priority_queue.pop();
+ a_priority_queue1.pop();
+ }
+
+ std::remove(testfile);
+ return EXIT_SUCCESS;
+}
+
+// EOF
diff --git a/src/boost/libs/serialization/test/test_private_base.cpp b/src/boost/libs/serialization/test/test_private_base.cpp
new file mode 100644
index 000000000..96d8bd0c7
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_private_base.cpp
@@ -0,0 +1,84 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_private_base.cpp
+
+// (C) Copyright 2009 Eric Moyer - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// should pass compilation and execution
+
+// invoke header for a custom archive test.
+
+#include <fstream>
+#include <boost/config.hpp>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::remove;
+}
+#endif
+
+#include <boost/serialization/access.hpp>
+#include <boost/serialization/base_object.hpp>
+#include <boost/serialization/export.hpp>
+
+#include "test_tools.hpp"
+
+class Base {
+ friend class boost::serialization::access;
+ int m_i;
+ template<class Archive>
+ void serialize(Archive & ar, const unsigned int version){
+ ar & BOOST_SERIALIZATION_NVP(m_i);
+ }
+protected:
+ bool equals(const Base &rhs) const {
+ return m_i == rhs.m_i;
+ }
+ Base(int i = 0) :
+ m_i(i)
+ {}
+public:
+};
+
+class Derived : private Base {
+ friend class boost::serialization::access;
+private:
+ Base & base_cast(){
+ return static_cast<Base &>(*this);
+ }
+ template<class Archive>
+ void serialize(Archive & ar, const unsigned int version){
+ ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(Base);
+ }
+public:
+ bool operator==(const Derived &rhs) const {
+ return Base::equals(static_cast<const Base &>(rhs));
+ }
+ Derived(int i = 0) :
+ Base(i)
+ {}
+};
+
+int
+test_main( int /* argc */, char* /* argv */[] )
+{
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ Derived a(1), a1(2);
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << boost::serialization::make_nvp("a", a);
+ }
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> boost::serialization::make_nvp("a", a1);
+ }
+ BOOST_CHECK_EQUAL(a, a1);
+ std::remove(testfile);
+
+ return 0;
+}
diff --git a/src/boost/libs/serialization/test/test_private_base2.cpp b/src/boost/libs/serialization/test/test_private_base2.cpp
new file mode 100644
index 000000000..67d714c4c
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_private_base2.cpp
@@ -0,0 +1,104 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_private_base.cpp
+
+// (C) Copyright 2009 Eric Moyer - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// should pass compilation and execution
+
+// invoke header for a custom archive test.
+
+#include <fstream>
+#include <boost/config.hpp>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::remove;
+}
+#endif
+
+#include <boost/serialization/access.hpp>
+#include <boost/serialization/base_object.hpp>
+#include <boost/serialization/export.hpp>
+
+#include "test_tools.hpp"
+
+class Base {
+ friend class boost::serialization::access;
+ int m_i;
+ template<class Archive>
+ void serialize(Archive & ar, const unsigned int version){
+ ar & BOOST_SERIALIZATION_NVP(m_i);
+ }
+protected:
+ bool equals(const Base &rhs) const {
+ return m_i == rhs.m_i;
+ }
+ Base(int i = 0) :
+ m_i(i)
+ {}
+ virtual ~Base(){};
+public:
+ virtual bool operator==(const Base &rhs) const {
+ return false;
+ }// = 0;
+};
+
+class Derived : private Base {
+ friend class boost::serialization::access;
+public:
+ virtual bool operator==(const Derived &rhs) const {
+ return Base::equals(static_cast<const Base &>(rhs));
+ }
+ Derived(int i = 0) :
+ Base(i)
+ {}
+};
+
+//BOOST_CLASS_EXPORT(Derived)
+
+int
+test_main( int /* argc */, char* /* argv */[] )
+{
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ Derived a(1), a1(2);
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << boost::serialization::make_nvp("a", a);
+ }
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> boost::serialization::make_nvp("a", a1);
+ }
+ BOOST_CHECK_EQUAL(a, a1);
+ std::remove(testfile);
+
+ //Base *ta = static_cast<Base *>(&a);
+ //Base *ta1 = NULL;
+
+ Derived *ta = &a;
+ Derived *ta1 = NULL;
+
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << boost::serialization::make_nvp("ta", ta);
+ }
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> boost::serialization::make_nvp("ta", ta1);
+ }
+ BOOST_CHECK(ta != ta1);
+ BOOST_CHECK(*ta == *ta1);
+ //BOOST_CHECK(*static_cast<Derived *>(ta) == *static_cast<Derived *>(ta1));
+
+ std::remove(testfile);
+
+ return 0;
+}
diff --git a/src/boost/libs/serialization/test/test_private_ctor.cpp b/src/boost/libs/serialization/test/test_private_ctor.cpp
new file mode 100644
index 000000000..84cc66c78
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_private_ctor.cpp
@@ -0,0 +1,66 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_private_ctor.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+#include <sstream>
+
+#include "test_tools.hpp"
+
+#include <boost/serialization/vector.hpp>
+
+#include <boost/archive/text_iarchive.hpp>
+#include <boost/archive/text_oarchive.hpp>
+
+class V {
+private:
+ friend int test_main(int /* argc */, char * /* argv */[]);
+ friend class boost::serialization::access;
+ int m_i;
+ V() :
+ m_i(0)
+ {}
+ template<class Archive>
+ void serialize(Archive& ar, unsigned /*version*/)
+ {
+ ar & m_i;
+ }
+public:
+ ~V(){}
+ bool operator==(const V & v) const {
+ return m_i == v.m_i;
+ }
+};
+
+int test_main(int /* argc */, char * /* argv */[])
+{
+ std::stringstream ss;
+ const V v;
+ {
+ boost::archive::text_oarchive oa(ss);
+ oa << v;
+ }
+ V v1;
+ {
+ boost::archive::text_iarchive ia(ss);
+ ia >> v1;
+ }
+ BOOST_CHECK(v == v1);
+
+ const V *vptr = & v;
+ {
+ boost::archive::text_oarchive oa(ss);
+ oa << vptr;
+ }
+ V *vptr1;
+ {
+ boost::archive::text_iarchive ia(ss);
+ ia >> vptr1;
+ }
+ BOOST_CHECK(*vptr == *vptr1);
+
+ return EXIT_SUCCESS;
+}
diff --git a/src/boost/libs/serialization/test/test_queue.cpp b/src/boost/libs/serialization/test/test_queue.cpp
new file mode 100644
index 000000000..a2d25ef3e
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_queue.cpp
@@ -0,0 +1,56 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_queue.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// should pass compilation and execution
+
+#include <cstddef>
+#include <fstream>
+
+#include <cstdio> // remove
+#include <boost/config.hpp>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::remove;
+}
+#endif
+
+#include <boost/archive/archive_exception.hpp>
+#include "test_tools.hpp"
+
+#include <boost/serialization/deque.hpp>
+#include <boost/serialization/queue.hpp>
+
+#include "A.hpp"
+#include "A.ipp"
+
+int test_main( int /* argc */, char* /* argv */[] )
+{
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ // test array of objects
+ std::queue<A> aqueue, aqueue1;
+ aqueue.push(A());
+ aqueue.push(A());
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << boost::serialization::make_nvp("aqueue",aqueue);
+ }
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> boost::serialization::make_nvp("aqueue",aqueue1);
+ }
+ BOOST_CHECK(aqueue == aqueue1);
+
+ std::remove(testfile);
+ return EXIT_SUCCESS;
+}
+
+// EOF
diff --git a/src/boost/libs/serialization/test/test_recursion.cpp b/src/boost/libs/serialization/test/test_recursion.cpp
new file mode 100644
index 000000000..b596f383a
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_recursion.cpp
@@ -0,0 +1,51 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_recurrsion.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// should pass compilation and execution
+
+#include <cstddef> // NULL
+#include <cstdio> // remove
+#include <fstream>
+
+#include <boost/config.hpp>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::remove;
+}
+#endif
+
+#include "test_tools.hpp"
+
+#include "J.hpp"
+#include "A.ipp"
+
+int test_main( int /* argc */, char* /* argv */[] )
+{
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ // test recursive structure
+ J j, j1;
+ j.j = &j;
+
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << BOOST_SERIALIZATION_NVP(j);
+ }
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> BOOST_SERIALIZATION_NVP(j1);
+ }
+ BOOST_CHECK(j == j1);
+ std::remove(testfile);
+ return EXIT_SUCCESS;
+}
+
+// EOF
diff --git a/src/boost/libs/serialization/test/test_registered.cpp b/src/boost/libs/serialization/test/test_registered.cpp
new file mode 100644
index 000000000..322219643
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_registered.cpp
@@ -0,0 +1,239 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_registered.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// should pass compilation and execution
+
+#include <cstddef> // NULL
+#include <cstdio> // remove
+#include <fstream>
+
+#include <boost/config.hpp>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::remove;
+}
+#endif
+
+#include <boost/archive/archive_exception.hpp>
+#include "test_tools.hpp"
+
+#include <boost/serialization/base_object.hpp>
+#include <boost/serialization/type_info_implementation.hpp>
+
+class polymorphic_base
+{
+ friend class boost::serialization::access;
+ template<class Archive>
+ void serialize(Archive & /* ar */, const unsigned int /* file_version */){
+ }
+public:
+ virtual ~polymorphic_base(){};
+};
+
+class polymorphic_derived1 : public polymorphic_base
+{
+ friend class boost::serialization::access;
+ template<class Archive>
+ void serialize(Archive &ar, const unsigned int /* file_version */){
+ ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(polymorphic_base);
+ }
+};
+
+class polymorphic_derived2 : public polymorphic_base
+{
+ friend class boost::serialization::access;
+ template<class Archive>
+ void serialize(Archive &ar, const unsigned int /* file_version */){
+ ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(polymorphic_base);
+ }
+};
+
+// save derived polymorphic class
+void save_derived(const char *testfile)
+{
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+
+ polymorphic_derived1 *rd1 = new polymorphic_derived1;
+ polymorphic_derived2 *rd2 = new polymorphic_derived2;
+
+ // registration IS necessary when serializing pointers of
+ // polymorphic classes
+ oa.register_type(static_cast<polymorphic_derived1 *>(NULL));
+ oa.register_type(static_cast<polymorphic_derived2 *>(NULL));
+ oa << BOOST_SERIALIZATION_NVP(rd1);
+ oa << BOOST_SERIALIZATION_NVP(rd2);
+
+ // the above opereration registers the derived classes as a side
+ // effect. Hence, instances can now be correctly serialized through
+ // a base class pointer.
+ polymorphic_base *rb1 = rd1;
+ polymorphic_base *rb2 = rd2;
+ oa << BOOST_SERIALIZATION_NVP(rb1);
+ oa << BOOST_SERIALIZATION_NVP(rb2);
+
+ delete rd1;
+ delete rd2;
+}
+
+// save derived polymorphic class
+void load_derived(const char *testfile)
+{
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+
+ polymorphic_derived1 *rd1 = NULL;
+ polymorphic_derived2 *rd2 = NULL;
+
+ // registration IS necessary when serializing pointers of
+ // polymorphic classes
+ ia.register_type(static_cast<polymorphic_derived1 *>(NULL));
+ ia.register_type(static_cast<polymorphic_derived2 *>(NULL));
+
+ ia >> BOOST_SERIALIZATION_NVP(rd1);
+
+ const boost::serialization::extended_type_info * p1;
+ p1 = & boost::serialization::type_info_implementation<polymorphic_derived1>
+ ::type::get_const_instance();
+
+ BOOST_CHECK(NULL != p1);
+
+ const boost::serialization::extended_type_info * p2;
+ p2 = boost::serialization::type_info_implementation<polymorphic_derived1>
+ ::type::get_const_instance().get_derived_extended_type_info(*rd1);
+
+ BOOST_CHECK(NULL != p2);
+
+ BOOST_CHECK_MESSAGE(p1 == p2, "restored pointer d1 not of correct type");
+
+ ia >> BOOST_SERIALIZATION_NVP(rd2);
+
+ BOOST_CHECK_MESSAGE(
+ & boost::serialization::type_info_implementation<polymorphic_derived2>
+ ::type::get_const_instance()
+ ==
+ boost::serialization::type_info_implementation<polymorphic_derived2>
+ ::type::get_const_instance().get_derived_extended_type_info(*rd2),
+ "restored pointer d2 not of correct type"
+ );
+
+ polymorphic_base *rb1 = NULL;
+ polymorphic_base *rb2 = NULL;
+
+ // the above opereration registers the derived classes as a side
+ // effect. Hence, instances can now be correctly serialized through
+ // a base class pointer.
+ ia >> BOOST_SERIALIZATION_NVP(rb1);
+
+ BOOST_CHECK_MESSAGE(
+ rb1 == dynamic_cast<polymorphic_base *>(rd1),
+ "serialized pointers not correctly restored"
+ );
+
+ p1 = & boost::serialization::type_info_implementation<polymorphic_derived1>
+ ::type::get_const_instance();
+
+ BOOST_CHECK(NULL != p1);
+
+ p2 = boost::serialization::type_info_implementation<polymorphic_base>
+ ::type::get_const_instance().get_derived_extended_type_info(*rb1);
+
+ BOOST_CHECK(NULL != p2);
+
+ BOOST_CHECK_MESSAGE(p1 == p2, "restored pointer b1 not of correct type");
+
+ ia >> BOOST_SERIALIZATION_NVP(rb2);
+
+ BOOST_CHECK_MESSAGE(
+ rb2 == dynamic_cast<polymorphic_base *>(rd2),
+ "serialized pointers not correctly restored"
+ );
+
+ BOOST_CHECK_MESSAGE(
+ & boost::serialization::type_info_implementation<polymorphic_derived2>
+ ::type::get_const_instance()
+ == boost::serialization::type_info_implementation<polymorphic_base>
+ ::type::get_const_instance().get_derived_extended_type_info(*rb2),
+ "restored pointer b2 not of correct type"
+ );
+
+ delete rb1;
+ delete rb2;
+}
+
+// save registered polymorphic class
+void save_registered(const char *testfile)
+{
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+
+ polymorphic_base *rb1 = new polymorphic_derived1;
+ polymorphic_base *rb2 = new polymorphic_derived2;
+
+ // registration (forward declaration) will permit correct serialization
+ // through a pointer to a base class
+ oa.register_type(static_cast<polymorphic_derived1 *>(NULL));
+ oa.register_type(static_cast<polymorphic_derived2 *>(NULL));
+ oa << BOOST_SERIALIZATION_NVP(rb1) << BOOST_SERIALIZATION_NVP(rb2);
+
+ delete rb1;
+ delete rb2;
+}
+
+// save registered polymorphic class
+void load_registered(const char *testfile)
+{
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+
+ polymorphic_base *rb1 = NULL;
+ polymorphic_base *rb2 = NULL;
+
+ // registration (forward declaration) will permit correct serialization
+ // through a pointer to a base class
+ ia.register_type(static_cast<polymorphic_derived1 *>(NULL));
+ ia.register_type(static_cast<polymorphic_derived2 *>(NULL));
+ ia >> BOOST_SERIALIZATION_NVP(rb1) >> BOOST_SERIALIZATION_NVP(rb2);
+
+ BOOST_CHECK_MESSAGE(
+ & boost::serialization::type_info_implementation<polymorphic_derived1>
+ ::type::get_const_instance()
+ == boost::serialization::type_info_implementation<polymorphic_base>
+ ::type::get_const_instance().get_derived_extended_type_info(*rb1),
+ "restored pointer b1 not of correct type"
+ );
+
+ BOOST_CHECK_MESSAGE(
+ & boost::serialization::type_info_implementation<polymorphic_derived2>
+ ::type::get_const_instance()
+ == boost::serialization::type_info_implementation<polymorphic_base>
+ ::type::get_const_instance().get_derived_extended_type_info(*rb2),
+ "restored pointer b2 not of correct type"
+ );
+
+ delete rb1;
+ delete rb2;
+}
+
+int
+test_main( int /* argc */, char* /* argv */[] )
+{
+ const char * testfile = boost::archive::tmpnam(NULL);
+
+ BOOST_REQUIRE(NULL != testfile);
+
+ save_derived(testfile);
+ load_derived(testfile);
+ save_registered(testfile);
+ load_registered(testfile);
+
+ std::remove(testfile);
+ return EXIT_SUCCESS;
+}
+
+// EOF
diff --git a/src/boost/libs/serialization/test/test_reset_object_address.cpp b/src/boost/libs/serialization/test/test_reset_object_address.cpp
new file mode 100644
index 000000000..a3d0195f6
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_reset_object_address.cpp
@@ -0,0 +1,412 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_reset_object_address.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+#include <sstream>
+#include <cassert>
+#include <cstdlib> // for rand()
+#include <cstddef> // size_t
+
+#include <boost/config.hpp>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::rand;
+ using ::size_t;
+}
+#endif
+
+#include "test_tools.hpp"
+
+#include <boost/archive/text_oarchive.hpp>
+#include <boost/archive/text_iarchive.hpp>
+#include <boost/archive/polymorphic_text_oarchive.hpp>
+#include <boost/archive/polymorphic_text_iarchive.hpp>
+
+#include <boost/serialization/list.hpp>
+#include <boost/serialization/access.hpp>
+
+// Someday, maybe all tests will be converted to the unit test framework.
+// but for now use the text execution monitor to be consistent with all
+// the other tests.
+
+// simple test of untracked value
+#include "A.hpp"
+#include "A.ipp"
+
+void test1(){
+ std::stringstream ss;
+ const A a;
+ {
+ boost::archive::text_oarchive oa(ss);
+ oa << a;
+ }
+ A a1;
+ {
+ boost::archive::text_iarchive ia(ss);
+ // load to temporary
+ A a2;
+ ia >> a2;
+ BOOST_CHECK_EQUAL(a, a2);
+ // move to final destination
+ a1 = a2;
+ ia.reset_object_address(& a1, & a2);
+ }
+ BOOST_CHECK_EQUAL(a, a1);
+}
+
+// simple test of tracked value
+class B {
+ friend class boost::serialization::access;
+ int m_i;
+ template<class Archive>
+ void serialize(Archive &ar, const unsigned int /*file_version*/){
+ ar & m_i;
+ }
+public:
+ bool operator==(const B & rhs) const {
+ return m_i == rhs.m_i;
+ }
+ B() :
+ m_i(std::rand())
+ {}
+};
+
+//BOOST_TEST_DONT_PRINT_LOG_VALUE( B )
+
+void test2(){
+ std::stringstream ss;
+ B const b;
+ B const * const b_ptr = & b;
+ BOOST_CHECK_EQUAL(& b, b_ptr);
+ {
+ boost::archive::text_oarchive oa(ss);
+ oa << b;
+ oa << b_ptr;
+ }
+ B b1;
+ B * b1_ptr;
+ {
+ boost::archive::text_iarchive ia(ss);
+ // load to temporary
+ B b2;
+ ia >> b2;
+ BOOST_CHECK_EQUAL(b, b2);
+ // move to final destination
+ b1 = b2;
+ ia.reset_object_address(& b1, & b2);
+ ia >> b1_ptr;
+ }
+ BOOST_CHECK_EQUAL(b, b1);
+ BOOST_CHECK_EQUAL(& b1, b1_ptr);
+}
+
+// check that nested member values are properly moved
+class D {
+ friend class boost::serialization::access;
+ template<class Archive>
+ void serialize(Archive &ar, const unsigned int /*file_version*/){
+ ar & m_b;
+ }
+public:
+ B m_b;
+ bool operator==(const D & rhs) const {
+ return m_b == rhs.m_b;
+ }
+ D(){}
+};
+
+//BOOST_TEST_DONT_PRINT_LOG_VALUE( D )
+
+void test3(){
+ std::stringstream ss;
+ D const d;
+ B const * const b_ptr = & d.m_b;
+ {
+ boost::archive::text_oarchive oa(ss);
+ oa << d;
+ oa << b_ptr;
+ }
+ D d1;
+ B * b1_ptr;
+ {
+ boost::archive::text_iarchive ia(ss);
+ D d2;
+ ia >> d2;
+ d1 = d2;
+ ia.reset_object_address(& d1, & d2);
+ ia >> b1_ptr;
+ }
+ BOOST_CHECK_EQUAL(d, d1);
+ BOOST_CHECK_EQUAL(* b_ptr, * b1_ptr);
+}
+
+// check that data pointed to by pointer members is NOT moved
+class E {
+ int m_i;
+ friend class boost::serialization::access;
+ template<class Archive>
+ void serialize(Archive &ar, const unsigned int /*file_version*/){
+ ar & m_i;
+ }
+public:
+ bool operator==(const E &rhs) const {
+ return m_i == rhs.m_i;
+ }
+ E() :
+ m_i(std::rand())
+ {}
+ E(const E & rhs) :
+ m_i(rhs.m_i)
+ {}
+};
+//BOOST_TEST_DONT_PRINT_LOG_VALUE( E )
+
+// check that moves don't move stuff pointed to
+class F {
+ friend class boost::serialization::access;
+ E * m_eptr;
+ template<class Archive>
+ void serialize(Archive &ar, const unsigned int /*file_version*/){
+ ar & m_eptr;
+ }
+public:
+ bool operator==(const F &rhs) const {
+ return *m_eptr == *rhs.m_eptr;
+ }
+ F & operator=(const F & rhs) {
+ * m_eptr = * rhs.m_eptr;
+ return *this;
+ }
+ F(){
+ m_eptr = new E;
+ }
+ F(const F & rhs){
+ *this = rhs;
+ }
+ ~F(){
+ delete m_eptr;
+ }
+};
+
+//BOOST_TEST_DONT_PRINT_LOG_VALUE( F )
+
+void test4(){
+ std::stringstream ss;
+ const F f;
+ {
+ boost::archive::text_oarchive oa(ss);
+ oa << f;
+ }
+ F f1;
+ {
+ boost::archive::text_iarchive ia(ss);
+ F f2;
+ ia >> f2;
+ f1 = f2;
+ ia.reset_object_address(& f1, & f2);
+ }
+ BOOST_CHECK_EQUAL(f, f1);
+}
+
+// check that multiple moves keep track of the correct target
+class G {
+ friend class boost::serialization::access;
+ A m_a1;
+ A m_a2;
+ A *m_pa2;
+ template<class Archive>
+ void save(Archive &ar, const unsigned int /*file_version*/) const {
+ ar << m_a1;
+ ar << m_a2;
+ ar << m_pa2;
+ }
+ template<class Archive>
+ void load(Archive &ar, const unsigned int /*file_version*/){
+ A a; // temporary A
+ ar >> a;
+ m_a1 = a;
+ ar.reset_object_address(& m_a1, & a);
+ ar >> a;
+ m_a2 = a;
+ ar.reset_object_address(& m_a2, & a);
+ ar & m_pa2;
+ }
+ BOOST_SERIALIZATION_SPLIT_MEMBER()
+public:
+ bool operator==(const G &rhs) const {
+ return
+ m_a1 == rhs.m_a1
+ && m_a2 == rhs.m_a2
+ && *m_pa2 == *rhs.m_pa2;
+ }
+ G & operator=(const G & rhs) {
+ m_a1 = rhs.m_a1;
+ m_a2 = rhs.m_a2;
+ m_pa2 = & m_a2;
+ return *this;
+ }
+ G(){
+ m_pa2 = & m_a2;
+ }
+ G(const G & rhs){
+ *this = rhs;
+ }
+ ~G(){}
+};
+
+//BOOST_TEST_DONT_PRINT_LOG_VALUE( G )
+
+void test5(){
+ std::stringstream ss;
+ const G g;
+ {
+ boost::archive::text_oarchive oa(ss);
+ oa << g;
+ }
+ G g1;
+ {
+ boost::archive::text_iarchive ia(ss);
+ ia >> g1;
+ }
+ BOOST_CHECK_EQUAL(g, g1);
+}
+
+// joaquin's test - this tests the case where rest_object_address
+// is applied to an item which in fact is not tracked so that
+// the call is in fact superfluous.
+struct foo
+{
+ int x;
+
+private:
+ friend class boost::serialization::access;
+
+ template<class Archive>
+ void serialize(Archive &,const unsigned int)
+ {
+ }
+};
+
+struct bar
+{
+ foo f[2];
+ foo* pf[2];
+
+private:
+ friend class boost::serialization::access;
+ BOOST_SERIALIZATION_SPLIT_MEMBER()
+
+ template<class Archive>
+ void save(Archive& ar,const unsigned int)const
+ {
+ for(int i=0;i<2;++i){
+ ar<<f[i].x;
+ ar<<f[i];
+ }
+ for(int j=0;j<2;++j){
+ ar<<pf[j];
+ }
+ }
+
+ template<class Archive>
+ void load(Archive& ar,const unsigned int)
+ {
+ for(int i=0;i<2;++i){
+ int x;
+ ar>>x;
+ f[i].x=x;
+ ar.reset_object_address(&f[i].x,&x);
+ ar>>f[i];
+ }
+ for(int j=0;j<2;++j){
+ ar>>pf[j];
+ }
+ }
+};
+
+int test6()
+{
+ bar b;
+ b.f[0].x=0;
+ b.f[1].x=1;
+ b.pf[0]=&b.f[0];
+ b.pf[1]=&b.f[1];
+
+ std::ostringstream oss;
+ {
+ boost::archive::text_oarchive oa(oss);
+ oa<<const_cast<const bar&>(b);
+ }
+
+ bar b1;
+ b1.pf[0]=0;
+ b1.pf[1]=0;
+
+ std::istringstream iss(oss.str());
+ boost::archive::text_iarchive ia(iss);
+ ia>>b1;
+ BOOST_CHECK(b1.pf[0]==&b1.f[0]&&b1.pf[1]==&b1.f[1]);
+
+ return 0;
+}
+
+// test one of the collections
+void test7(){
+ std::stringstream ss;
+ B const b;
+ B const * const b_ptr = & b;
+ BOOST_CHECK_EQUAL(& b, b_ptr);
+ {
+ std::list<const B *> l;
+ l.push_back(b_ptr);
+ boost::archive::text_oarchive oa(ss);
+ oa << const_cast<const std::list<const B *> &>(l);
+ }
+ B b1;
+ {
+ std::list<B *> l;
+ boost::archive::text_iarchive ia(ss);
+ ia >> l;
+ delete l.front(); // prevent memory leak
+ }
+}
+
+// test one of the collections with polymorphic archive
+void test8(){
+ std::stringstream ss;
+ B const b;
+ B const * const b_ptr = & b;
+ BOOST_CHECK_EQUAL(& b, b_ptr);
+ {
+ std::list<const B *> l;
+ l.push_back(b_ptr);
+ boost::archive::polymorphic_text_oarchive oa(ss);
+ boost::archive::polymorphic_oarchive & poa = oa;
+ poa << const_cast<const std::list<const B *> &>(l);
+ }
+ B b1;
+ {
+ std::list<B *> l;
+ boost::archive::polymorphic_text_iarchive ia(ss);
+ boost::archive::polymorphic_iarchive & pia = ia;
+ pia >> l;
+ delete l.front(); // prevent memory leak
+ }
+}
+
+int test_main(int /* argc */, char * /* argv */[])
+{
+ test1();
+ test2();
+ test3();
+ test4();
+ test5();
+ test6();
+ test7();
+ test8();
+ return EXIT_SUCCESS;
+}
diff --git a/src/boost/libs/serialization/test/test_set.cpp b/src/boost/libs/serialization/test/test_set.cpp
new file mode 100644
index 000000000..826f83a0a
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_set.cpp
@@ -0,0 +1,111 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_set.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// (C) Copyright 2014 Jim Bell
+// Use, modification and distribution is 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)
+
+// should pass compilation and execution
+
+#include <cstddef> // NULLsize_t
+#include <cstdio> // remove
+#include <fstream>
+
+#include <algorithm> // std::copy
+#include <vector>
+
+#include <boost/config.hpp>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::size_t;
+}
+#endif
+
+#include <boost/detail/workaround.hpp>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::remove;
+}
+#endif
+
+#include <boost/archive/archive_exception.hpp>
+
+#include "test_tools.hpp"
+
+#include <boost/serialization/nvp.hpp>
+#include <boost/serialization/set.hpp>
+
+#include "A.hpp"
+#include "A.ipp"
+
+void
+test_set(){
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ // test array of objects
+ std::set<A> aset;
+ aset.insert(A());
+ aset.insert(A());
+ const A * a_ptr = & * aset.begin();
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << boost::serialization::make_nvp("aset", aset);
+ // serialize a pointer into the set
+ oa << boost::serialization::make_nvp("a_ptr", a_ptr);
+ }
+ std::set<A> aset1;
+ A * a_ptr1;
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> boost::serialization::make_nvp("aset", aset1);
+ // deserialize a pointer into the set
+ ia >> boost::serialization::make_nvp("a_ptr1", a_ptr1);
+ }
+ BOOST_CHECK_EQUAL(aset, aset1);
+ BOOST_CHECK_EQUAL(*a_ptr1, * aset1.begin());
+ BOOST_CHECK_EQUAL(a_ptr1, & * aset1.begin());
+ std::remove(testfile);
+}
+
+void
+test_multiset(){
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ std::multiset<A> amultiset;
+ amultiset.insert(A());
+ amultiset.insert(A());
+ const A * a_ptr = & * amultiset.begin();
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << boost::serialization::make_nvp("amultiset", amultiset);
+ // serialize a pointer into the set
+ oa << boost::serialization::make_nvp("a_ptr", a_ptr);
+ }
+ std::multiset<A> amultiset1;
+ A * a_ptr1;
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> boost::serialization::make_nvp("amultiset", amultiset1);
+ // deserialize a pointer into the set
+ ia >> boost::serialization::make_nvp("a_ptr1", a_ptr1);
+ }
+ BOOST_CHECK(amultiset == amultiset1);
+ BOOST_CHECK_EQUAL(*a_ptr1, * amultiset1.begin());
+ BOOST_CHECK_EQUAL(a_ptr1, & * amultiset1.begin());
+ std::remove(testfile);
+}
+
+int test_main( int /* argc */, char* /* argv */[] ){
+ test_set();
+ test_multiset();
+
+ return EXIT_SUCCESS;
+}
diff --git a/src/boost/libs/serialization/test/test_set_boost_unordered.cpp b/src/boost/libs/serialization/test/test_set_boost_unordered.cpp
new file mode 100644
index 000000000..8c5c8ff17
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_set_boost_unordered.cpp
@@ -0,0 +1,123 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_set.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// (C) Copyright 2014 Jim Bell
+// Use, modification and distribution is 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)
+
+// should pass compilation and execution
+
+#include <cstddef> // NULLsize_t
+#include <cstdio> // remove
+#include <fstream>
+
+#include <algorithm> // std::copy
+#include <vector>
+
+#include <boost/config.hpp>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::size_t;
+}
+#endif
+
+#include <boost/detail/workaround.hpp>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::remove;
+}
+#endif
+
+#include <boost/archive/archive_exception.hpp>
+
+#include "test_tools.hpp"
+
+#include <boost/serialization/nvp.hpp>
+#include <boost/serialization/set.hpp>
+
+#include "A.hpp"
+#include "A.ipp"
+
+#include <boost/serialization/boost_unordered_set.hpp>
+#include <functional> // requires changeset [69520]; Ticket #5254
+
+namespace boost {
+ template<>
+ struct hash<A> {
+ std::size_t operator()(const A& a) const {
+ return static_cast<std::size_t>(a);
+ }
+ };
+} // namespace boost
+
+void
+test_unordered_set(){
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ // test array of objects
+ boost::unordered_set<A> anunordered_set;
+ A a, a1;
+ anunordered_set.insert(a);
+ anunordered_set.insert(a1);
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << boost::serialization::make_nvp("anunordered_set", anunordered_set);
+ }
+ boost::unordered_set<A> anunordered_set1;
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> boost::serialization::make_nvp("anunordered_set", anunordered_set1);
+ }
+ std::vector<A> tvec, tvec1;
+ tvec.clear();
+ tvec1.clear();
+ std::copy(anunordered_set.begin(), anunordered_set.end(), std::back_inserter(tvec));
+ std::sort(tvec.begin(), tvec.end());
+ std::copy(anunordered_set1.begin(), anunordered_set1.end(), std::back_inserter(tvec1));
+ std::sort(tvec1.begin(), tvec1.end());
+ BOOST_CHECK(tvec == tvec1);
+ std::remove(testfile);
+}
+
+void
+test_unordered_multiset(){
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ boost::unordered_multiset<A> anunordered_multiset;
+ anunordered_multiset.insert(A());
+ anunordered_multiset.insert(A());
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << boost::serialization::make_nvp("anunordered_multiset", anunordered_multiset);
+ }
+ boost::unordered_multiset<A> anunordered_multiset1;
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> boost::serialization::make_nvp("anunordered_multiset", anunordered_multiset1);
+ }
+
+ std::vector<A> tvec, tvec1;
+ tvec.clear();
+ tvec1.clear();
+ std::copy(anunordered_multiset.begin(), anunordered_multiset.end(), std::back_inserter(tvec));
+ std::sort(tvec.begin(), tvec.end());
+ std::copy(anunordered_multiset1.begin(), anunordered_multiset1.end(), std::back_inserter(tvec1));
+ std::sort(tvec1.begin(), tvec1.end());
+ BOOST_CHECK(tvec == tvec1);
+
+ std::remove(testfile);
+}
+
+int test_main( int /* argc */, char* /* argv */[] ){
+ test_unordered_set();
+ test_unordered_multiset();
+ return EXIT_SUCCESS;
+}
diff --git a/src/boost/libs/serialization/test/test_set_hashed.cpp b/src/boost/libs/serialization/test/test_set_hashed.cpp
new file mode 100644
index 000000000..d60ed6288
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_set_hashed.cpp
@@ -0,0 +1,262 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_set.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// (C) Copyright 2014 Jim Bell
+// Use, modification and distribution is 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)
+
+// should pass compilation and execution
+
+#include <cstddef> // NULLsize_t
+#include <cstdio> // remove
+#include <fstream>
+
+#include <algorithm> // std::copy
+#include <vector>
+
+#include <boost/config.hpp>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::size_t;
+}
+#endif
+
+#include <boost/detail/workaround.hpp>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::remove;
+}
+#endif
+
+#include <boost/archive/archive_exception.hpp>
+
+#include "test_tools.hpp"
+
+#include <boost/serialization/nvp.hpp>
+#include <boost/serialization/set.hpp>
+
+#include "A.hpp"
+#include "A.ipp"
+
+void
+test_set(){
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ // test array of objects
+ std::set<A> aset;
+ aset.insert(A());
+ aset.insert(A());
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << boost::serialization::make_nvp("aset", aset);
+ }
+ std::set<A> aset1;
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> boost::serialization::make_nvp("aset", aset1);
+ }
+ BOOST_CHECK(aset == aset1);
+ std::remove(testfile);
+}
+
+void
+test_multiset(){
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ std::multiset<A> amultiset;
+ amultiset.insert(A());
+ amultiset.insert(A());
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << boost::serialization::make_nvp("amultiset", amultiset);
+ }
+ std::multiset<A> amultiset1;
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> boost::serialization::make_nvp("amultiset", amultiset1);
+ }
+ BOOST_CHECK(amultiset == amultiset1);
+ std::remove(testfile);
+}
+
+#ifdef BOOST_HAS_HASH
+
+#include <boost/serialization/hash_set.hpp>
+
+namespace BOOST_STD_EXTENSION_NAMESPACE {
+ template<>
+ struct hash<A> {
+ std::size_t operator()(const A& a) const {
+ return static_cast<std::size_t>(a);
+ }
+ };
+}
+
+void
+test_hash_set(){
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ // test array of objects
+ BOOST_STD_EXTENSION_NAMESPACE::hash_set<A> ahash_set;
+ A a, a1;
+ ahash_set.insert(a);
+ ahash_set.insert(a1);
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << boost::serialization::make_nvp("ahash_set", ahash_set);
+ }
+ BOOST_STD_EXTENSION_NAMESPACE::hash_set<A> ahash_set1;
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> boost::serialization::make_nvp("ahash_set", ahash_set1);
+ }
+ std::vector<A> tvec, tvec1;
+ tvec.clear();
+ tvec1.clear();
+ std::copy(ahash_set.begin(), ahash_set.end(), std::back_inserter(tvec));
+ std::sort(tvec.begin(), tvec.end());
+ std::copy(ahash_set1.begin(), ahash_set1.end(), std::back_inserter(tvec1));
+ std::sort(tvec1.begin(), tvec1.end());
+ BOOST_CHECK(tvec == tvec1);
+ std::remove(testfile);
+}
+
+void
+test_hash_multiset(){
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ BOOST_STD_EXTENSION_NAMESPACE::hash_multiset<A> ahash_multiset;
+ ahash_multiset.insert(A());
+ ahash_multiset.insert(A());
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << boost::serialization::make_nvp("ahash_multiset", ahash_multiset);
+ }
+ BOOST_STD_EXTENSION_NAMESPACE::hash_multiset<A> ahash_multiset1;
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> boost::serialization::make_nvp("ahash_multiset", ahash_multiset1);
+ }
+
+ std::vector<A> tvec, tvec1;
+ tvec.clear();
+ tvec1.clear();
+ std::copy(ahash_multiset.begin(), ahash_multiset.end(), std::back_inserter(tvec));
+ std::sort(tvec.begin(), tvec.end());
+ std::copy(ahash_multiset1.begin(), ahash_multiset1.end(), std::back_inserter(tvec1));
+ std::sort(tvec1.begin(), tvec1.end());
+ BOOST_CHECK(tvec == tvec1);
+
+ std::remove(testfile);
+}
+#endif
+
+#ifndef BOOST_NO_CXX11_HDR_UNORDERED_SET
+
+#include <boost/serialization/unordered_set.hpp>
+#include <functional> // requires changeset [69520]; Ticket #5254
+
+namespace std {
+ template<>
+ struct hash<A> {
+ std::size_t operator()(const A& a) const {
+ return static_cast<std::size_t>(a);
+ }
+ };
+} // namespace std
+
+void
+test_unordered_set(){
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ // test array of objects
+ std::unordered_set<A> anunordered_set;
+ A a, a1;
+ anunordered_set.insert(a);
+ anunordered_set.insert(a1);
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << boost::serialization::make_nvp("anunordered_set", anunordered_set);
+ }
+ std::unordered_set<A> anunordered_set1;
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> boost::serialization::make_nvp("anunordered_set", anunordered_set1);
+ }
+ std::vector<A> tvec, tvec1;
+ tvec.clear();
+ tvec1.clear();
+ std::copy(anunordered_set.begin(), anunordered_set.end(), std::back_inserter(tvec));
+ std::sort(tvec.begin(), tvec.end());
+ std::copy(anunordered_set1.begin(), anunordered_set1.end(), std::back_inserter(tvec1));
+ std::sort(tvec1.begin(), tvec1.end());
+ BOOST_CHECK(tvec == tvec1);
+ std::remove(testfile);
+}
+
+void
+test_unordered_multiset(){
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ std::unordered_multiset<A> anunordered_multiset;
+ anunordered_multiset.insert(A());
+ anunordered_multiset.insert(A());
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << boost::serialization::make_nvp("anunordered_multiset", anunordered_multiset);
+ }
+ std::unordered_multiset<A> anunordered_multiset1;
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> boost::serialization::make_nvp("anunordered_multiset", anunordered_multiset1);
+ }
+
+ std::vector<A> tvec, tvec1;
+ tvec.clear();
+ tvec1.clear();
+ std::copy(anunordered_multiset.begin(), anunordered_multiset.end(), std::back_inserter(tvec));
+ std::sort(tvec.begin(), tvec.end());
+ std::copy(anunordered_multiset1.begin(), anunordered_multiset1.end(), std::back_inserter(tvec1));
+ std::sort(tvec1.begin(), tvec1.end());
+ BOOST_CHECK(tvec == tvec1);
+
+ std::remove(testfile);
+}
+#endif
+
+int test_main( int /* argc */, char* /* argv */[] ){
+ test_set();
+ test_multiset();
+
+ #ifdef BOOST_HAS_HASH
+ test_hash_set();
+ test_hash_multiset();
+ #endif
+
+ #ifndef BOOST_NO_CXX11_HDR_UNORDERED_SET
+ test_unordered_set();
+ test_unordered_multiset();
+ #endif
+
+ return EXIT_SUCCESS;
+}
diff --git a/src/boost/libs/serialization/test/test_set_unordered.cpp b/src/boost/libs/serialization/test/test_set_unordered.cpp
new file mode 100644
index 000000000..b8453bcf1
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_set_unordered.cpp
@@ -0,0 +1,123 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_set.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// (C) Copyright 2014 Jim Bell
+// Use, modification and distribution is 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)
+
+// should pass compilation and execution
+
+#include <cstddef> // NULLsize_t
+#include <cstdio> // remove
+#include <fstream>
+
+#include <algorithm> // std::copy
+#include <vector>
+
+#include <boost/config.hpp>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::size_t;
+}
+#endif
+
+#include <boost/detail/workaround.hpp>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::remove;
+}
+#endif
+
+#include <boost/archive/archive_exception.hpp>
+
+#include "test_tools.hpp"
+
+#include <boost/serialization/nvp.hpp>
+#include <boost/serialization/set.hpp>
+
+#include "A.hpp"
+#include "A.ipp"
+
+#include <boost/serialization/unordered_set.hpp>
+#include <functional> // requires changeset [69520]; Ticket #5254
+
+namespace std {
+ template<>
+ struct hash<A> {
+ std::size_t operator()(const A& a) const {
+ return static_cast<std::size_t>(a);
+ }
+ };
+} // namespace std
+
+void
+test_unordered_set(){
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ // test array of objects
+ std::unordered_set<A> anunordered_set;
+ A a, a1;
+ anunordered_set.insert(a);
+ anunordered_set.insert(a1);
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << boost::serialization::make_nvp("anunordered_set", anunordered_set);
+ }
+ std::unordered_set<A> anunordered_set1;
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> boost::serialization::make_nvp("anunordered_set", anunordered_set1);
+ }
+ std::vector<A> tvec, tvec1;
+ tvec.clear();
+ tvec1.clear();
+ std::copy(anunordered_set.begin(), anunordered_set.end(), std::back_inserter(tvec));
+ std::sort(tvec.begin(), tvec.end());
+ std::copy(anunordered_set1.begin(), anunordered_set1.end(), std::back_inserter(tvec1));
+ std::sort(tvec1.begin(), tvec1.end());
+ BOOST_CHECK(tvec == tvec1);
+ std::remove(testfile);
+}
+
+void
+test_unordered_multiset(){
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ std::unordered_multiset<A> anunordered_multiset;
+ anunordered_multiset.insert(A());
+ anunordered_multiset.insert(A());
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << boost::serialization::make_nvp("anunordered_multiset", anunordered_multiset);
+ }
+ std::unordered_multiset<A> anunordered_multiset1;
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> boost::serialization::make_nvp("anunordered_multiset", anunordered_multiset1);
+ }
+
+ std::vector<A> tvec, tvec1;
+ tvec.clear();
+ tvec1.clear();
+ std::copy(anunordered_multiset.begin(), anunordered_multiset.end(), std::back_inserter(tvec));
+ std::sort(tvec.begin(), tvec.end());
+ std::copy(anunordered_multiset1.begin(), anunordered_multiset1.end(), std::back_inserter(tvec1));
+ std::sort(tvec1.begin(), tvec1.end());
+ BOOST_CHECK(tvec == tvec1);
+
+ std::remove(testfile);
+}
+
+int test_main( int /* argc */, char* /* argv */[] ){
+ test_unordered_set();
+ test_unordered_multiset();
+ return EXIT_SUCCESS;
+}
diff --git a/src/boost/libs/serialization/test/test_shared_ptr.cpp b/src/boost/libs/serialization/test/test_shared_ptr.cpp
new file mode 100644
index 000000000..dc35842be
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_shared_ptr.cpp
@@ -0,0 +1,322 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_shared_ptr.cpp
+
+// (C) Copyright 2002 Robert Ramey- http://www.rrsd.com - David Tonge .
+// Use, modification and distribution is 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 for updates, documentation, and revision history.
+
+#include <cstddef> // NULL
+#include <cstdio> // remove
+#include <fstream>
+
+#include <boost/config.hpp>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::remove;
+}
+#endif
+
+#include <boost/serialization/nvp.hpp>
+#include <boost/serialization/export.hpp>
+#include <boost/serialization/shared_ptr.hpp>
+#include <boost/serialization/weak_ptr.hpp>
+
+#include "test_tools.hpp"
+
+// This is a simple class. It contains a counter of the number
+// of objects of this class which have been instantiated.
+class A
+{
+private:
+ friend class boost::serialization::access;
+ int x;
+ template<class Archive>
+ void serialize(Archive & ar, const unsigned int /* file_version */){
+ ar & BOOST_SERIALIZATION_NVP(x);
+ }
+ A(A const & rhs);
+ A& operator=(A const & rhs);
+public:
+ static int count;
+ bool operator==(const A & rhs) const {
+ return x == rhs.x;
+ }
+ A(){++count;} // default constructor
+ virtual ~A(){--count;} // default destructor
+};
+
+BOOST_SERIALIZATION_SHARED_PTR(A)
+
+int A::count = 0;
+
+// B is a subclass of A
+class B : public A
+{
+private:
+ friend class boost::serialization::access;
+ template<class Archive>
+ void serialize(Archive & ar, const unsigned int /* file_version */){
+ ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(A);
+ }
+public:
+ static int count;
+ B() : A() {};
+ virtual ~B() {};
+};
+
+// B needs to be exported because its serialized via a base class pointer
+BOOST_CLASS_EXPORT(B)
+BOOST_SERIALIZATION_SHARED_PTR(B)
+
+// test a non-polymorphic class
+class C
+{
+private:
+ friend class boost::serialization::access;
+ int z;
+ template<class Archive>
+ void serialize(Archive & ar, const unsigned int /* file_version */){
+ ar & BOOST_SERIALIZATION_NVP(z);
+ }
+public:
+ static int count;
+ bool operator==(const C & rhs) const {
+ return z == rhs.z;
+ }
+ C() :
+ z(++count) // default constructor
+ {}
+ virtual ~C(){--count;} // default destructor
+};
+
+int C::count = 0;
+
+template<class SP>
+void save(const char * testfile, const SP & spa)
+{
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << BOOST_SERIALIZATION_NVP(spa);
+}
+
+template<class SP>
+void load(const char * testfile, SP & spa)
+{
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> BOOST_SERIALIZATION_NVP(spa);
+}
+
+// trivial test
+template<class SP>
+void save_and_load(SP & spa)
+{
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+ save(testfile, spa);
+ SP spa1;
+ load(testfile, spa1);
+
+ BOOST_CHECK(
+ (spa.get() == NULL && spa1.get() == NULL)
+ || * spa == * spa1
+ );
+ std::remove(testfile);
+}
+
+template<class SP>
+void save2(
+ const char * testfile,
+ const SP & first,
+ const SP & second
+){
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << BOOST_SERIALIZATION_NVP(first);
+ oa << BOOST_SERIALIZATION_NVP(second);
+}
+
+template<class SP>
+void load2(
+ const char * testfile,
+ SP & first,
+ SP & second)
+{
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> BOOST_SERIALIZATION_NVP(first);
+ ia >> BOOST_SERIALIZATION_NVP(second);
+}
+
+// Run tests by serializing two shared_ptrs into an archive,
+// clearing them (deleting the objects) and then reloading the
+// objects back from an archive.
+template<class SP>
+void save_and_load2(SP & first, SP & second)
+{
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ save2(testfile, first, second);
+
+ // Clear the pointers, thereby destroying the objects they contain
+ first.reset();
+ second.reset();
+
+ load2(testfile, first, second);
+
+ BOOST_CHECK(first == second);
+ std::remove(testfile);
+}
+
+template<class SP, class WP>
+void save3(
+ const char * testfile,
+ SP & first,
+ SP & second,
+ WP & third
+){
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << BOOST_SERIALIZATION_NVP(third);
+ oa << BOOST_SERIALIZATION_NVP(first);
+ oa << BOOST_SERIALIZATION_NVP(second);
+}
+
+template<class SP, class WP>
+void load3(
+ const char * testfile,
+ SP & first,
+ SP & second,
+ WP & third
+){
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ // note that we serialize the weak pointer first
+ ia >> BOOST_SERIALIZATION_NVP(third);
+ // inorder to test that a temporarily solitary weak pointer
+ // correctly restored.
+ ia >> BOOST_SERIALIZATION_NVP(first);
+ ia >> BOOST_SERIALIZATION_NVP(second);
+}
+
+template<class SP, class WP>
+void save_and_load3(
+ SP & first,
+ SP & second,
+ WP & third
+){
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ save3(testfile, first, second, third);
+
+ // Clear the pointers, thereby destroying the objects they contain
+ first.reset();
+ second.reset();
+ third.reset();
+
+ load3(testfile, first, second, third);
+
+ BOOST_CHECK(first == second);
+ BOOST_CHECK(first == third.lock());
+ std::remove(testfile);
+}
+
+template<class SP>
+void save4(const char * testfile, const SP & spc)
+{
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << BOOST_SERIALIZATION_NVP(spc);
+}
+
+template<class SP>
+void load4(const char * testfile, SP & spc)
+{
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> BOOST_SERIALIZATION_NVP(spc);
+}
+
+// trivial test
+template<class SP>
+void save_and_load4(SP & spc)
+{
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+ save4(testfile, spc);
+ SP spc1;
+ load4(testfile, spc1);
+
+ BOOST_CHECK(
+ (spc.get() == NULL && spc1.get() == NULL)
+ || * spc == * spc1
+ );
+ std::remove(testfile);
+}
+
+// This does the tests
+template<template<class T> class SPT , template<class T> class WPT >
+bool test(){
+ {
+ SPT<A> spa;
+ // These are our shared_ptrs
+ spa = SPT<A>(new A);
+ SPT<A> spa1 = spa;
+ spa1 = spa;
+ }
+ {
+ // These are our shared_ptrs
+ SPT<A> spa;
+
+ // trivial test 1
+ save_and_load(spa);
+
+ //trivival test 2
+ spa = SPT<A>(new A);
+ save_and_load(spa);
+
+ // Try to save and load pointers to As
+ spa = SPT<A>(new A);
+ SPT<A> spa1 = spa;
+ save_and_load2(spa, spa1);
+
+ // Try to save and load pointers to Bs
+ spa = SPT<A>(new B);
+ spa1 = spa;
+ save_and_load2(spa, spa1);
+
+ // test a weak pointer
+ spa = SPT<A>(new A);
+ spa1 = spa;
+ WPT<A> wp = spa;
+ save_and_load3(spa, spa1, wp);
+
+ // obj of type B gets destroyed
+ // as smart_ptr goes out of scope
+ }
+ BOOST_CHECK(A::count == 0);
+ {
+ // Try to save and load pointers to Cs
+ SPT<C> spc;
+ spc = SPT<C>(new C);
+ save_and_load4(spc);
+ }
+ BOOST_CHECK(C::count == 0);
+ return true;
+}
+// This does the tests
+int test_main(int /* argc */, char * /* argv */[])
+{
+ bool result = true;
+ result &= test<boost::shared_ptr, boost::weak_ptr>();
+ #ifndef BOOST_NO_CXX11_SMART_PTR
+ result &= test<std::shared_ptr, std::weak_ptr>();
+ #endif
+ return result ? EXIT_SUCCESS : EXIT_FAILURE;
+}
+
diff --git a/src/boost/libs/serialization/test/test_shared_ptr_132.cpp b/src/boost/libs/serialization/test/test_shared_ptr_132.cpp
new file mode 100644
index 000000000..0d11b0002
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_shared_ptr_132.cpp
@@ -0,0 +1,230 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_shared_ptr.cpp
+
+// (C) Copyright 2002 Robert Ramey- http://www.rrsd.com - David Tonge .
+// Use, modification and distribution is 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 for updates, documentation, and revision history.
+
+#include <cstddef> // NULL
+#include <fstream>
+
+#include <cstdio> // remove
+#include <boost/config.hpp>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::remove;
+}
+#endif
+
+#include "test_tools.hpp"
+
+#include <boost/serialization/shared_ptr_132.hpp>
+#include <boost/serialization/shared_ptr.hpp>
+#include <boost/serialization/weak_ptr.hpp>
+#include <boost/serialization/split_member.hpp>
+
+#include <boost/preprocessor/stringize.hpp>
+
+#include <boost/serialization/nvp.hpp>
+#include <boost/serialization/export.hpp>
+
+// This is a simple class. It contains a counter of the number
+// of objects of this class which have been instantiated.
+class A
+{
+private:
+ friend class boost::serialization::access;
+ int x;
+ template<class Archive>
+ void save(Archive & ar, const unsigned int /* file_version */) const {
+ ar << BOOST_SERIALIZATION_NVP(x);
+ }
+ template<class Archive>
+ void load(Archive & ar, const unsigned int /* file_version */) {
+ ar >> BOOST_SERIALIZATION_NVP(x);
+ }
+ BOOST_SERIALIZATION_SPLIT_MEMBER()
+public:
+ static int count;
+ bool operator==(const A & rhs) const {
+ return x == rhs.x;
+ }
+ A(){++count;} // default constructor
+ virtual ~A(){--count;} // default destructor
+};
+
+BOOST_SERIALIZATION_SHARED_PTR(A)
+
+// B is a subclass of A
+class B : public A
+{
+private:
+ friend class boost::serialization::access;
+ template<class Archive>
+ void save(Archive & ar, const unsigned int /* file_version */ )const {
+ ar << BOOST_SERIALIZATION_BASE_OBJECT_NVP(A);
+ }
+ template<class Archive>
+ void load(Archive & ar, const unsigned int /* file_version */){
+ ar >> BOOST_SERIALIZATION_BASE_OBJECT_NVP(A);
+ }
+ BOOST_SERIALIZATION_SPLIT_MEMBER()
+public:
+ static int count;
+ B() : A() {};
+ virtual ~B() {};
+};
+
+// B needs to be exported because its serialized via a base class pointer
+BOOST_SHARED_POINTER_EXPORT(B)
+BOOST_SERIALIZATION_SHARED_PTR(B)
+
+int A::count = 0;
+
+template<class T>
+void save(const char * testfile, const T & spa)
+{
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << BOOST_SERIALIZATION_NVP(spa);
+}
+
+template<class T>
+void load(const char * testfile, T & spa)
+{
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> BOOST_SERIALIZATION_NVP(spa);
+}
+
+// trivial test
+template<class T>
+void save_and_load(const T & spa)
+{
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+ save(testfile, spa);
+
+ // note that we're loading to a current version of shared_ptr
+ // regardless of the orignal saved type - this tests backward
+ // archive compatibility
+ boost::shared_ptr<A> spa1;
+ load(testfile, spa1);
+
+ BOOST_CHECK(
+ (spa.get() == NULL && spa1.get() == NULL)
+ || * spa == * spa1
+ );
+ std::remove(testfile);
+}
+
+template<class T>
+void save2(
+ const char * testfile,
+ const T & first,
+ const T & second
+){
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << BOOST_SERIALIZATION_NVP(first);
+ oa << BOOST_SERIALIZATION_NVP(second);
+}
+
+template<class T>
+void load2(
+ const char * testfile,
+ T & first,
+ T & second)
+{
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> BOOST_SERIALIZATION_NVP(first);
+ ia >> BOOST_SERIALIZATION_NVP(second);
+}
+
+// Run tests by serializing two shared_ptrs into an archive,
+// clearing them (deleting the objects) and then reloading the
+// objects back from an archive.
+template<class T>
+void save_and_load2(T & first, T & second)
+{
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ save2(testfile, first, second);
+
+ // Clear the pointers, thereby destroying the objects they contain
+ first.reset();
+ second.reset();
+
+ boost::shared_ptr<A> first1, second1;
+ load2(testfile, first1, second1);
+
+ BOOST_CHECK(first1 == second1);
+ std::remove(testfile);
+}
+
+template<class T>
+void save3(
+ const char * testfile,
+ const T & first,
+ const T & second,
+ const T & third
+){
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << BOOST_SERIALIZATION_NVP(third);
+ oa << BOOST_SERIALIZATION_NVP(first);
+ oa << BOOST_SERIALIZATION_NVP(second);
+}
+
+template<class T>
+void load3(
+ const char * testfile,
+ T & first,
+ T & second,
+ T & third
+){
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ // note that we serialize the weak pointer first
+ ia >> BOOST_SERIALIZATION_NVP(third);
+ // inorder to test that a temporarily solitary weak pointer
+ // correcttly restored.
+ ia >> BOOST_SERIALIZATION_NVP(first);
+ ia >> BOOST_SERIALIZATION_NVP(second);
+}
+
+// This does the tests
+int test_main(int /* argc */, char * /* argv */[])
+{
+ // These are our shared_ptrs
+ boost_132::shared_ptr<A> spa;
+
+ // trivial test 1
+ save_and_load(spa);
+
+ //trivial test 2
+ spa.reset();
+ spa = boost_132::shared_ptr<A>(new A);
+ save_and_load(spa);
+
+ // Try to save and load pointers to As, to a text archive
+ spa = boost_132::shared_ptr<A>(new A);
+ boost_132::shared_ptr<A> spa1 = spa;
+ save_and_load2(spa, spa1);
+
+ // Try to save and load pointers to Bs, to a text archive
+ spa = boost_132::shared_ptr<A>(new B);
+ save_and_load(spa);
+
+ spa1 = spa;
+ save_and_load2(spa, spa1);
+
+ // obj of type B gets destroyed
+ // as smart_ptr goes out of scope
+ return EXIT_SUCCESS;
+}
diff --git a/src/boost/libs/serialization/test/test_shared_ptr_multi_base.cpp b/src/boost/libs/serialization/test/test_shared_ptr_multi_base.cpp
new file mode 100644
index 000000000..2ebab9816
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_shared_ptr_multi_base.cpp
@@ -0,0 +1,302 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_shared_ptr_multi_base.cpp
+
+// (C) Copyright 2002 Robert Ramey- http://www.rrsd.com and Takatoshi Kondo.
+// Use, modification and distribution is 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 for updates, documentation, and revision history.
+
+#include <cstddef> // NULL
+#include <cstdio> // remove
+#include <fstream>
+
+#include <boost/config.hpp>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::remove;
+}
+#endif
+
+#include <boost/serialization/nvp.hpp>
+#include <boost/serialization/export.hpp>
+
+#include <boost/serialization/shared_ptr.hpp>
+#include <boost/serialization/weak_ptr.hpp>
+
+#include "test_tools.hpp"
+
+struct Base1 {
+ Base1() {}
+ Base1(int x) : m_x(1 + x) {}
+ virtual ~Base1(){
+ }
+ int m_x;
+ // serialize
+ friend class boost::serialization::access;
+ template<class Archive>
+ void serialize(Archive &ar, const unsigned int /* file_version */)
+ {
+ ar & BOOST_SERIALIZATION_NVP(m_x);
+ }
+};
+
+struct Base2 {
+ Base2() {}
+ Base2(int x) : m_x(2 + x) {}
+ int m_x;
+ virtual ~Base2(){
+ }
+ // serialize
+ friend class boost::serialization::access;
+ template<class Archive>
+ void serialize(Archive &ar, const unsigned int /* file_version */)
+ {
+ ar & BOOST_SERIALIZATION_NVP(m_x);
+ }
+};
+
+struct Base3 {
+ Base3() {}
+ Base3(int x) : m_x(3 + x) {}
+ virtual ~Base3(){
+ }
+ int m_x;
+ // serialize
+ friend class boost::serialization::access;
+ template<class Archive>
+ void serialize(Archive &ar, const unsigned int /* file_version */)
+ {
+ ar & BOOST_SERIALIZATION_NVP(m_x);
+ }
+};
+
+// Sub is a subclass of Base1, Base1 and Base3.
+struct Sub:public Base1, public Base2, public Base3 {
+ static int count;
+ Sub() {
+ ++count;
+ }
+ Sub(int x) :
+ Base1(x),
+ Base2(x),
+ m_x(x)
+ {
+ ++count;
+ }
+ Sub(const Sub & rhs) :
+ m_x(rhs.m_x)
+ {
+ ++count;
+ }
+ virtual ~Sub() {
+ assert(0 < count);
+ --count;
+ }
+ int m_x;
+ // serialize
+ friend class boost::serialization::access;
+ template<class Archive>
+ void serialize(Archive &ar, const unsigned int /* file_version */)
+ {
+ ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(Base1);
+ ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(Base2);
+ ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(Base3);
+ ar & BOOST_SERIALIZATION_NVP(m_x);
+ }
+};
+
+// Sub needs to be exported because its serialized via a base class pointer
+BOOST_CLASS_EXPORT(Sub)
+BOOST_SERIALIZATION_SHARED_PTR(Sub)
+
+int Sub::count = 0;
+
+template <class FIRST, class SECOND>
+void save2(
+ const char * testfile,
+ const FIRST& first,
+ const SECOND& second
+){
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << BOOST_SERIALIZATION_NVP(first);
+ oa << BOOST_SERIALIZATION_NVP(second);
+}
+
+template <class FIRST, class SECOND>
+void load2(
+ const char * testfile,
+ FIRST& first,
+ SECOND& second)
+{
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> BOOST_SERIALIZATION_NVP(first);
+ ia >> BOOST_SERIALIZATION_NVP(second);
+}
+
+// Run tests by serializing two shared_ptrs into an archive,
+// clearing them (deleting the objects) and then reloading the
+// objects back from an archive.
+
+template<class T, class U>
+boost::shared_ptr<T> dynamic_pointer_cast(boost::shared_ptr<U> const & u)
+BOOST_NOEXCEPT
+{
+ return boost::dynamic_pointer_cast<T>(u);
+}
+
+#ifndef BOOST_NO_CXX11_SMART_PTR
+template<class T, class U>
+std::shared_ptr<T> dynamic_pointer_cast(std::shared_ptr<U> const & u)
+BOOST_NOEXCEPT
+{
+ return std::dynamic_pointer_cast<T>(u);
+}
+#endif
+
+// Serialization sequence
+// First, shared_ptr
+// Second, weak_ptr
+template <class SP, class WP>
+void shared_weak(
+ SP & first,
+ WP & second
+){
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+ int firstm = first->m_x;
+
+ BOOST_REQUIRE(! second.expired());
+ int secondm = second.lock()->m_x;
+ save2(testfile, first, second);
+
+ // Clear the pointers, thereby destroying the objects they contain
+ second.reset();
+ first.reset();
+
+ load2(testfile, first, second);
+ BOOST_CHECK(! second.expired());
+
+ // Check data member
+ BOOST_CHECK(firstm == first->m_x);
+ BOOST_CHECK(secondm == second.lock()->m_x);
+ // Check pointer to vtable
+ BOOST_CHECK(::dynamic_pointer_cast<Sub>(first));
+ BOOST_CHECK(::dynamic_pointer_cast<Sub>(second.lock()));
+
+ std::remove(testfile);
+}
+
+// Serialization sequence
+// First, weak_ptr
+// Second, shared_ptr
+template <class WP, class SP>
+void weak_shared(
+ WP & first,
+ SP & second
+){
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+ BOOST_CHECK(! first.expired());
+ int firstm = first.lock()->m_x;
+ int secondm = second->m_x;
+ save2(testfile, first, second);
+
+ // Clear the pointers, thereby destroying the objects they contain
+ first.reset();
+ second.reset();
+
+ load2(testfile, first, second);
+ BOOST_CHECK(! first.expired());
+
+ // Check data member
+ BOOST_CHECK(firstm == first.lock()->m_x);
+ BOOST_CHECK(secondm == second->m_x);
+ // Check pointer to vtable
+ BOOST_CHECK(::dynamic_pointer_cast<Sub>(first.lock()));
+ BOOST_CHECK(::dynamic_pointer_cast<Sub>(second));
+
+ std::remove(testfile);
+}
+
+// This does the tests
+template<template<class T> class SPT, template<class T> class WPT>
+bool test(){
+ // Both Sub
+ SPT<Sub> tc1_sp(new Sub(10));
+ WPT<Sub> tc1_wp(tc1_sp);
+ shared_weak(tc1_sp, tc1_wp);
+ weak_shared(tc1_wp, tc1_sp);
+ tc1_sp.reset();
+ BOOST_CHECK(0 == Sub::count);
+
+ // Sub and Base1
+ SPT<Sub> tc2_sp(new Sub(10));
+ WPT<Base1> tc2_wp(tc2_sp);
+ shared_weak(tc2_sp, tc2_wp);
+ weak_shared(tc2_wp, tc2_sp);
+ tc2_sp.reset();
+ BOOST_CHECK(0 == Sub::count);
+
+ // Sub and Base2
+ SPT<Sub> tc3_sp(new Sub(10));
+ WPT<Base2> tc3_wp(tc3_sp);
+ shared_weak(tc3_sp, tc3_wp);
+ weak_shared(tc3_wp, tc3_sp);
+ tc3_sp.reset();
+ BOOST_CHECK(0 == Sub::count);
+
+ // Sub and Base3
+ SPT<Sub> tc4_sp(new Sub(10));
+ WPT<Base3> tc4_wp(tc4_sp);
+ shared_weak(tc4_sp, tc4_wp);
+ weak_shared(tc4_wp, tc4_sp);
+ tc4_sp.reset();
+ BOOST_CHECK(0 == Sub::count);
+
+ // Base1 and Base2
+ SPT<Sub> tc5_sp_tmp(new Sub(10));
+ SPT<Base1> tc5_sp(tc5_sp_tmp);
+ WPT<Base2> tc5_wp(tc5_sp_tmp);
+ tc5_sp_tmp.reset();
+ shared_weak(tc5_sp, tc5_wp);
+ weak_shared(tc5_wp, tc5_sp);
+ tc5_sp.reset();
+ BOOST_CHECK(0 == Sub::count);
+
+ // Base2 and Base3
+ SPT<Sub> tc6_sp_tmp(new Sub(10));
+ SPT<Base2> tc6_sp(tc6_sp_tmp);
+ WPT<Base3> tc6_wp(tc6_sp_tmp);
+ tc6_sp_tmp.reset();
+ shared_weak(tc6_sp, tc6_wp);
+ weak_shared(tc6_wp, tc6_sp);
+ tc6_sp.reset();
+ BOOST_CHECK(0 == Sub::count);
+
+ // Base3 and Base1
+ SPT<Sub> tc7_sp_tmp(new Sub(10));
+ SPT<Base3> tc7_sp(tc7_sp_tmp);
+ WPT<Base1> tc7_wp(tc7_sp_tmp);
+ tc7_sp_tmp.reset();
+ shared_weak(tc7_sp, tc7_wp);
+ weak_shared(tc7_wp, tc7_sp);
+ tc7_sp.reset();
+ BOOST_CHECK(0 == Sub::count);
+
+ return true;
+}
+
+// This does the tests
+int test_main(int /* argc */, char * /* argv */[])
+{
+ bool result = true;
+ result &= test<boost::shared_ptr, boost::weak_ptr>();
+ #ifndef BOOST_NO_CXX11_SMART_PTR
+ result &= test<std::shared_ptr, std::weak_ptr>();
+ #endif
+ return result ? EXIT_SUCCESS : EXIT_FAILURE;
+}
diff --git a/src/boost/libs/serialization/test/test_simple_class.cpp b/src/boost/libs/serialization/test/test_simple_class.cpp
new file mode 100644
index 000000000..41c8cb21a
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_simple_class.cpp
@@ -0,0 +1,83 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_simple_class.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// should pass compilation and execution
+
+// invoke header for a custom archive test.
+
+#include <cstddef> // NULL
+#include <cstdio> // remove
+#include <fstream>
+#include <cmath>
+#include <boost/math/special_functions/next.hpp>
+
+#include <boost/config.hpp>
+
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::remove;
+}
+#endif
+
+#include "test_tools.hpp"
+
+#include "A.hpp"
+#include "A.ipp"
+
+bool A::check_equal(const A &rhs) const
+{
+ BOOST_CHECK_EQUAL(b, rhs.b);
+ BOOST_CHECK_EQUAL(l, rhs.l);
+ #ifndef BOOST_NO_INT64_T
+ BOOST_CHECK_EQUAL(f, rhs.f);
+ BOOST_CHECK_EQUAL(g, rhs.g);
+ #endif
+ BOOST_CHECK_EQUAL(m, rhs.m);
+ BOOST_CHECK_EQUAL(n, rhs.n);
+ BOOST_CHECK_EQUAL(o, rhs.o);
+ BOOST_CHECK_EQUAL(p, rhs.p);
+ BOOST_CHECK_EQUAL(q, rhs.q);
+ #ifndef BOOST_NO_CWCHAR
+ BOOST_CHECK_EQUAL(r, rhs.r);
+ #endif
+ BOOST_CHECK_EQUAL(c, rhs.c);
+ BOOST_CHECK_EQUAL(s, rhs.s);
+ BOOST_CHECK_EQUAL(t, rhs.t);
+ BOOST_CHECK_EQUAL(u, rhs.u);
+ BOOST_CHECK_EQUAL(v, rhs.v);
+ BOOST_CHECK_EQUAL(l, rhs.l);
+ BOOST_CHECK(std::abs( boost::math::float_distance(w, rhs.w)) < 2);
+ BOOST_CHECK(std::abs( boost::math::float_distance(x, rhs.x)) < 2);
+ BOOST_CHECK(!(0 != y.compare(rhs.y)));
+ #ifndef BOOST_NO_STD_WSTRING
+ BOOST_CHECK(!(0 != z.compare(rhs.z)));
+ #endif
+ return true;
+}
+
+int
+test_main( int /* argc */, char* /* argv */[] )
+{
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ A a, a1;
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << boost::serialization::make_nvp("a", a);
+ }
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> boost::serialization::make_nvp("a", a1);
+ }
+ a.check_equal(a1);
+ std::remove(testfile);
+ return 0;
+}
diff --git a/src/boost/libs/serialization/test/test_simple_class_ptr.cpp b/src/boost/libs/serialization/test/test_simple_class_ptr.cpp
new file mode 100644
index 000000000..795e9a6fa
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_simple_class_ptr.cpp
@@ -0,0 +1,53 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_simple_class_ptr.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// should pass compilation and execution
+
+#include <cstddef> // NULL
+#include <cstdio> // remove
+#include <fstream>
+
+#include <boost/config.hpp>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::remove;
+}
+#endif
+
+#include "test_tools.hpp"
+
+#include "A.hpp"
+#include "A.ipp"
+
+int test_main( int /* argc */, char* /* argv */[] )
+{
+ const char * testfile = boost::archive::tmpnam(NULL);
+
+ BOOST_REQUIRE(NULL != testfile);
+
+ const A *ta = new A();
+ A *ta1 = NULL;
+
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << boost::serialization::make_nvp("ta", ta);
+ }
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> boost::serialization::make_nvp("ta", ta1);
+ }
+ BOOST_CHECK(ta != ta1);
+ BOOST_CHECK(*ta == *ta1);
+ delete ta;
+ std::remove(testfile);
+ return EXIT_SUCCESS;
+}
+
+// EOF
diff --git a/src/boost/libs/serialization/test/test_singleton.cpp b/src/boost/libs/serialization/test/test_singleton.cpp
new file mode 100644
index 000000000..5d3b88df7
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_singleton.cpp
@@ -0,0 +1,74 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_singleton.cpp
+
+// (C) Copyright 2018 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// should pass compilation and execution
+
+#include <iostream>
+#include <boost/serialization/singleton.hpp>
+
+#include "test_tools.hpp"
+
+static int i = 0;
+
+struct A {
+ int m_id;
+ A() : m_id(++i) {}
+ ~A(){
+ // verify that objects are destroyed in sequence reverse of construction
+ if(i-- != m_id) std::terminate();
+ }
+};
+
+struct B {
+ int m_id;
+ B() : m_id(++i) {}
+ ~B(){
+ // verify that objects are destroyed in sequence reverse of construction
+ if(i-- != m_id) std::terminate();
+ }
+};
+
+struct C {
+ int m_id;
+ C() : m_id(++i) {}
+ ~C(){
+ // verify that objects are destroyed in sequence reverse of construction
+ if(i-- != m_id) std::terminate();
+ }
+};
+
+struct D {
+ int m_id;
+ D(){
+ // verify that only one object is indeed created
+ const C & c = boost::serialization::singleton<C>::get_const_instance();
+ const C & c1 = boost::serialization::singleton<C>::get_const_instance();
+ BOOST_CHECK_EQUAL(&c, &c1);
+
+ // verify that objects are created in sequence of definition
+ BOOST_CHECK_EQUAL(c.m_id, 1);
+ const B & b = boost::serialization::singleton<B>::get_const_instance();
+ BOOST_CHECK_EQUAL(b.m_id, 2);
+ const A & a = boost::serialization::singleton<A>::get_const_instance();
+ BOOST_CHECK_EQUAL(a.m_id, 3);
+ std::cout << a.m_id << b.m_id << c.m_id << '\n';
+
+ m_id = ++i;
+ }
+ ~D(){
+ // verify that objects are destroyed in sequence reverse of construction
+ if(i-- != m_id) std::terminate();
+ }
+};
+
+int test_main(int, char *[]){
+ return 0;
+}
+
+// note: not a singleton
+D d;
diff --git a/src/boost/libs/serialization/test/test_singleton_inherited.cpp b/src/boost/libs/serialization/test/test_singleton_inherited.cpp
new file mode 100644
index 000000000..08164bcf3
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_singleton_inherited.cpp
@@ -0,0 +1,81 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_singleton_inherited.cpp:
+// Test the singleton class for a "inherited" singleton (used as Foo:public singleton<Foo>)
+// This can be uses as singleton<Foo>::get_const_instance() OR Foo::get_const_instance()
+//
+// - is_destroyed returns false when singleton is active or uninitialized
+// - is_destroyed returns true when singleton is destructed
+// - the singleton is eventually destructed (no memory leak)
+
+// (C) Copyright 2018 Alexander Grund
+// Use, modification and distribution is 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)
+
+#include "test_tools.hpp"
+#include <boost/serialization/singleton.hpp>
+#include <boost/preprocessor/stringize.hpp>
+#include <stdexcept>
+
+// Can't use BOOST_TEST because:
+// a) destructors are called after program exit
+// b) This is intended to be used by shared libraries too which would then need their own report_errors call
+// We halso have to disable the Wterminate warning as we call this from dtors
+// C++ will terminate the program in such cases which is OK here
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wterminate"
+#define THROW_ON_FALSE(cond) if(!(cond)) throw std::runtime_error(__FILE__ "(" BOOST_PP_STRINGIZE(__LINE__) ") Assertion failed: " #cond)
+
+// Enum to designate the state of the singletonized instances
+enum ConstructionState{CS_UNINIT, CS_INIT, CS_DESTROYED};
+
+// We need another singleton to check for the destruction of the singletons at program exit
+// We don't need all the magic for shared library anti-optimization and can keep it very simple
+struct controller{
+ static controller& getInstance(){
+ static controller instance;
+ return instance;
+ }
+ ConstructionState state;
+private:
+ controller() {
+ state = CS_UNINIT;
+ }
+ ~controller();
+};
+
+// A simple class that sets its construction state in the controller singleton
+struct Foo: boost::serialization::singleton<Foo>{
+ Foo(): i(42) {
+ // access controller singleton. Therefore controller will be constructed before this
+ THROW_ON_FALSE(controller::getInstance().state == CS_UNINIT);
+ controller::getInstance().state = CS_INIT;
+ }
+ ~Foo() {
+ // Because controller is constructed before this, it will be destructed AFTER this. Hence controller is still valid
+ THROW_ON_FALSE(controller::getInstance().state == CS_INIT);
+ controller::getInstance().state = CS_DESTROYED;
+ }
+ // Volatile to prevent compiler optimization from removing this
+ volatile int i;
+};
+
+controller::~controller() {
+ // If this fails, the singletons were not freed and memory is leaked
+ THROW_ON_FALSE(state == CS_DESTROYED);
+ // If this fails, then the destroyed flag is not set and one may use a deleted instance if relying on this flag
+ THROW_ON_FALSE(boost::serialization::singleton<Foo>::is_destroyed());
+ THROW_ON_FALSE(Foo::is_destroyed());
+}
+
+int
+test_main( int /* argc */, char* /* argv */[] )
+{
+ // Check if the singleton is alive and use it
+ BOOST_CHECK(!boost::serialization::singleton<Foo>::is_destroyed());
+ BOOST_CHECK(!Foo::is_destroyed());
+
+ BOOST_CHECK(boost::serialization::singleton<Foo>::get_const_instance().i == 42);
+ BOOST_CHECK(Foo::get_const_instance().i == 42);
+ return EXIT_SUCCESS;
+}
diff --git a/src/boost/libs/serialization/test/test_singleton_plain.cpp b/src/boost/libs/serialization/test/test_singleton_plain.cpp
new file mode 100644
index 000000000..7c3061415
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_singleton_plain.cpp
@@ -0,0 +1,77 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_singleton_plain.cpp:
+// Test the singleton class for a "plain" singleton (used as singleton<Foo>)
+//
+// - is_destroyed returns false when singleton is active or uninitialized
+// - is_destroyed returns true when singleton is destructed
+// - the singleton is eventually destructed (no memory leak)
+
+// (C) Copyright 2018 Alexander Grund
+// Use, modification and distribution is 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)
+
+#include "test_tools.hpp"
+#include <boost/serialization/singleton.hpp>
+#include <boost/preprocessor/stringize.hpp>
+#include <stdexcept>
+
+// Can't use BOOST_TEST because:
+// a) destructors are called after program exit
+// b) This is intended to be used by shared libraries too which would then need their own report_errors call
+// We halso have to disable the Wterminate warning as we call this from dtors
+// C++ will terminate the program in such cases which is OK here
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wterminate"
+#define THROW_ON_FALSE(cond) if(!(cond)) throw std::runtime_error(__FILE__ "(" BOOST_PP_STRINGIZE(__LINE__) ") Assertion failed: " #cond)
+
+// Enum to designate the state of the singletonized instances
+enum ConstructionState{CS_UNINIT, CS_INIT, CS_DESTROYED};
+
+// We need another singleton to check for the destruction of the singletons at program exit
+// We don't need all the magic for shared library anti-optimization and can keep it very simple
+struct controller{
+ static controller& getInstance(){
+ static controller instance;
+ return instance;
+ }
+ ConstructionState state;
+private:
+ controller() {
+ state = CS_UNINIT;
+ }
+ ~controller();
+};
+
+// A simple class that sets its construction state in the controller singleton
+struct Foo{
+ Foo(): i(42) {
+ // access controller singleton. Therefore controller will be constructed before this
+ THROW_ON_FALSE(controller::getInstance().state == CS_UNINIT);
+ controller::getInstance().state = CS_INIT;
+ }
+ ~Foo() {
+ // Because controller is constructed before this, it will be destructed AFTER this. Hence controller is still valid
+ THROW_ON_FALSE(controller::getInstance().state == CS_INIT);
+ controller::getInstance().state = CS_DESTROYED;
+ }
+ // Volatile to prevent compiler optimization from removing this
+ volatile int i;
+};
+
+controller::~controller() {
+ // If this fails, the singletons were not freed and memory is leaked
+ THROW_ON_FALSE(state == CS_DESTROYED);
+ // If this fails, then the destroyed flag is not set and one may use a deleted instance if relying on this flag
+ THROW_ON_FALSE(boost::serialization::singleton<Foo>::is_destroyed());
+}
+
+int
+test_main( int /* argc */, char* /* argv */[] )
+{
+ // Check if the singleton is alive and use it
+ BOOST_CHECK(!boost::serialization::singleton<Foo>::is_destroyed());
+
+ BOOST_CHECK(boost::serialization::singleton<Foo>::get_const_instance().i == 42);
+ return EXIT_SUCCESS;
+}
diff --git a/src/boost/libs/serialization/test/test_slist.cpp b/src/boost/libs/serialization/test/test_slist.cpp
new file mode 100644
index 000000000..9c387106d
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_slist.cpp
@@ -0,0 +1,55 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_list.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// should pass compilation and execution
+
+#include <cstddef> // NULL
+#include <fstream>
+
+#include <boost/config.hpp>
+#include <cstdio> // remove
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::remove;
+}
+#endif
+
+#include <boost/archive/archive_exception.hpp>
+#include "test_tools.hpp"
+
+#include "A.hpp"
+#include "A.ipp"
+
+#include <boost/serialization/slist.hpp>
+void test_slist(){
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_STD_EXTENSION_NAMESPACE::slist<A> aslist;
+ aslist.push_front(A());
+ aslist.push_front(A());
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << boost::serialization::make_nvp("aslist", aslist);
+ }
+ BOOST_STD_EXTENSION_NAMESPACE::slist<A> aslist1;{
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> boost::serialization::make_nvp("aslist", aslist1);
+ }
+ BOOST_CHECK(aslist == aslist1);
+ std::remove(testfile);
+}
+
+int test_main( int /* argc */, char* /* argv */[] )
+{
+ test_slist();
+ return EXIT_SUCCESS;
+}
+
+// EOF
+
diff --git a/src/boost/libs/serialization/test/test_slist_ptrs.cpp b/src/boost/libs/serialization/test/test_slist_ptrs.cpp
new file mode 100644
index 000000000..e4d830be6
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_slist_ptrs.cpp
@@ -0,0 +1,88 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_list.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// should pass compilation and execution
+
+#include <cstddef>
+#include <fstream>
+
+#include <boost/config.hpp>
+#include <cstdio> // remove
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::remove;
+}
+#endif
+
+#include <boost/type_traits/is_pointer.hpp>
+#include <boost/static_assert.hpp>
+#include <boost/checked_delete.hpp>
+
+#include <boost/archive/archive_exception.hpp>
+#include "test_tools.hpp"
+
+#include <boost/serialization/nvp.hpp>
+
+#include "A.hpp"
+#include "A.ipp"
+
+template<class T>
+struct ptr_equal_to {
+ BOOST_STATIC_ASSERT(::boost::is_pointer< T >::value);
+ bool operator()(T const _Left, T const _Right) const
+ {
+ if(NULL == _Left && NULL == _Right)
+ return true;
+ if(typeid(*_Left) != typeid(*_Right))
+ return false;
+ return *_Left == *_Right;
+ }
+};
+
+#include <boost/serialization/slist.hpp>
+void test_slist(){
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ BOOST_STD_EXTENSION_NAMESPACE::slist<A *> aslist;
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ aslist.push_front(new A);
+ aslist.push_front(new A);
+ oa << boost::serialization::make_nvp("aslist", aslist);
+ }
+ BOOST_STD_EXTENSION_NAMESPACE::slist<A *> aslist1;
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> boost::serialization::make_nvp("aslist", aslist1);
+ BOOST_CHECK(aslist.size() == aslist1.size() &&
+ std::equal(aslist.begin(),aslist.end(),aslist1.begin(),ptr_equal_to<A *>())
+ );
+ }
+ std::for_each(
+ aslist.begin(),
+ aslist.end(),
+ boost::checked_deleter<A>()
+ );
+ std::for_each(
+ aslist1.begin(),
+ aslist1.end(),
+ boost::checked_deleter<A>()
+ );
+ std::remove(testfile);
+}
+
+int test_main( int /* argc */, char* /* argv */[] )
+{
+ test_slist();
+ return EXIT_SUCCESS;
+}
+
+// EOF
diff --git a/src/boost/libs/serialization/test/test_smart_cast.cpp b/src/boost/libs/serialization/test/test_smart_cast.cpp
new file mode 100644
index 000000000..97272ad64
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_smart_cast.cpp
@@ -0,0 +1,236 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_smart_cast.cpp:
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+// <gennadiy.rozental@tfn.com>
+
+#include <exception>
+#include <boost/serialization/smart_cast.hpp>
+
+#include "test_tools.hpp"
+#include <boost/noncopyable.hpp>
+
+using namespace boost::serialization;
+
+class Base1 : public boost::noncopyable
+{
+ char a;
+};
+
+class Base2
+{
+ int b;
+};
+
+#ifdef BOOST_MSVC
+# pragma warning(push)
+# pragma warning(disable : 4511 4512)
+#endif
+
+class Derived : public Base1, public Base2
+{
+ long c;
+};
+
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
+// if compiler doesn't support TPS, the smart_cast syntax doesn't
+// work for references. One has to use the smart_cast_reference
+// syntax (tested below ) instead.
+
+void test_static_reference_cast_2(){
+ Derived d;
+ Base1 & b1 = static_cast<Base1 &>(d);
+ Base2 & b2 = static_cast<Base2 &>(d);
+
+ Base1 & scb1 = smart_cast<Base1 &, Derived &>(d);
+ Base2 & scb2 = smart_cast<Base2 &, Derived &>(d);
+ BOOST_CHECK_EQUAL(& b1, & scb1);
+ BOOST_CHECK_EQUAL(& b2, & scb2);
+
+ // downcast
+// BOOST_CHECK_EQUAL(& d, & (smart_cast<Derived &, Base1 &>(b1)));
+// BOOST_CHECK_EQUAL(& d, & (smart_cast<Derived &, Base2 &>(b2)));
+
+ // crosscast pointers fails at compiler time
+ // BOOST_CHECK_EQUAL(pB2,smart_cast<B2 *>(pB1));
+ // though explicit cross cast will always work
+ BOOST_CHECK_EQUAL(& b2,(
+ & smart_cast<Base2 &, Derived &>(
+ smart_cast<Derived &, Base1 &>(b1)
+ ))
+ );
+}
+
+void test_static_reference_cast_1(){
+ Derived d;
+ Base1 & b1 = static_cast<Base1 &>(d);
+ Base2 & b2 = static_cast<Base2 &>(d);
+
+ Base1 & scb1 = smart_cast_reference<Base1 &>(d);
+ Base2 & scb2 = smart_cast_reference<Base2 &>(d);
+ BOOST_CHECK_EQUAL(& b1, & scb1);
+ BOOST_CHECK_EQUAL(& b2, & scb2);
+
+ // downcast
+ BOOST_CHECK_EQUAL(& d, & (smart_cast_reference<Derived &>(b1)));
+ BOOST_CHECK_EQUAL(& d, & (smart_cast_reference<Derived &>(b2)));
+
+ // crosscast pointers fails at compiler time
+ // BOOST_CHECK_EQUAL(pB2,smart_cast<B2 *>(pB1));
+ // though explicit cross cast will always work
+ BOOST_CHECK_EQUAL(& b2,(
+ & smart_cast_reference<Base2 &>(
+ smart_cast_reference<Derived &>(b1)
+ ))
+ );
+}
+
+void test_static_pointer_cast(){
+ // pointers
+ Derived d;
+ Derived *pD = & d;
+ Base1 *pB1 = pD;
+ Base2 *pB2 = pD;
+
+ // upcast
+ BOOST_CHECK_EQUAL(pB1, smart_cast<Base1 *>(pD));
+ BOOST_CHECK_EQUAL(pB2, smart_cast<Base2 *>(pD));
+
+ // downcast
+ BOOST_CHECK_EQUAL(pD, smart_cast<Derived *>(pB1));
+ BOOST_CHECK_EQUAL(pD, smart_cast<Derived *>(pB2));
+
+ // crosscast pointers fails at compiler time
+ // BOOST_CHECK_EQUAL(pB2, smart_cast<Base2 *>(pB1));
+
+ // though explicit cross cast will always work
+ BOOST_CHECK_EQUAL(pB2,
+ smart_cast<Base2 *>(
+ smart_cast<Derived *>(pB1)
+ )
+ );
+}
+
+class VBase1 : public boost::noncopyable
+{
+ char a;
+public:
+ virtual ~VBase1(){};
+};
+
+class VBase2
+{
+ int b;
+public:
+ virtual ~VBase2(){};
+};
+
+#ifdef BOOST_MSVC
+# pragma warning(push)
+# pragma warning(disable : 4511 4512)
+#endif
+
+class VDerived : public VBase1, public VBase2
+{
+ long c;
+public:
+ virtual ~VDerived(){};
+};
+
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
+// see above
+
+void test_dynamic_reference_cast_2(){
+ VDerived d;
+ VBase1 &b1 = dynamic_cast<VBase1 &>(d);
+ VBase2 &b2 = static_cast<VBase2 &>(d);
+
+ VBase1 & vb1 = smart_cast<VBase1 &, VDerived &>(d);
+ BOOST_CHECK_EQUAL(& b1, & vb1);
+ BOOST_CHECK_EQUAL(& b2, (& smart_cast<VBase2 &, VDerived &>(d)));
+
+ // downcast
+ BOOST_CHECK_EQUAL(& d, (& smart_cast<VDerived &, VBase1 &>(b1)));
+ BOOST_CHECK_EQUAL(& d, (& smart_cast<VDerived &, VBase2 &>(b2)));
+
+ // crosscast
+ BOOST_CHECK_EQUAL(& b2, (& smart_cast<VBase2 &, VBase1 &>(b1)));
+
+ // explicit cross cast should always work
+ BOOST_CHECK_EQUAL(& b2, (
+ & smart_cast<VBase2 &, VDerived &>(
+ smart_cast<VDerived &, VBase1 &>(b1)
+ ))
+ );
+}
+
+void test_dynamic_reference_cast_1(){
+ VDerived d;
+ VBase1 &b1 = dynamic_cast<VBase1 &>(d);
+ VBase2 &b2 = static_cast<VBase2 &>(d);
+
+ VBase1 & vb1 = smart_cast_reference<VBase1 &>(d);
+ BOOST_CHECK_EQUAL(& b1, & vb1);
+ BOOST_CHECK_EQUAL(& b2, (& smart_cast_reference<VBase2 &>(d)));
+
+ // downcast
+ BOOST_CHECK_EQUAL(& d, (& smart_cast_reference<VDerived &>(b1)));
+ BOOST_CHECK_EQUAL(& d, (& smart_cast_reference<VDerived &>(b2)));
+
+ // crosscast
+ BOOST_CHECK_EQUAL(& b2, (& smart_cast_reference<VBase2 &>(b1)));
+
+ // explicit cross cast should always work
+ BOOST_CHECK_EQUAL(& b2, (
+ & smart_cast_reference<VBase2 &>(
+ smart_cast_reference<VDerived &>(b1)
+ ))
+ );
+}
+
+void test_dynamic_pointer_cast(){
+ // pointers
+ VDerived d;
+ VDerived *pD = & d;
+ VBase1 *pB1 = pD;
+ VBase2 *pB2 = pD;
+
+ // upcast
+ BOOST_CHECK_EQUAL(pB1, smart_cast<VBase1 *>(pD));
+ BOOST_CHECK_EQUAL(pB2, smart_cast<VBase2 *>(pD));
+
+ // downcast
+ BOOST_CHECK_EQUAL(pD, smart_cast<VDerived *>(pB1));
+ BOOST_CHECK_EQUAL(pD, smart_cast<VDerived *>(pB2));
+
+ // crosscast pointers fails at compiler time
+ BOOST_CHECK_EQUAL(pB2, smart_cast<VBase2 *>(pB1));
+ // though explicit cross cast will always work
+ BOOST_CHECK_EQUAL(pB2,
+ smart_cast<VBase2 *>(
+ smart_cast<VDerived *>(pB1)
+ )
+ );
+}
+
+int
+test_main(int /* argc */, char * /* argv */[])
+{
+ test_static_reference_cast_2();
+ test_static_reference_cast_1();
+ test_static_pointer_cast();
+ test_dynamic_reference_cast_2();
+ test_dynamic_reference_cast_1();
+ test_dynamic_pointer_cast();
+
+ return EXIT_SUCCESS;
+}
diff --git a/src/boost/libs/serialization/test/test_split.cpp b/src/boost/libs/serialization/test/test_split.cpp
new file mode 100644
index 000000000..9350272fe
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_split.cpp
@@ -0,0 +1,165 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_split.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// should pass compilation and execution
+
+#include <cstddef> // NULL
+#include <cstdio> // remove
+#include <fstream>
+
+#include <boost/config.hpp>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::remove;
+}
+#endif
+
+#include "test_tools.hpp"
+
+#include <boost/serialization/split_member.hpp>
+#include <boost/serialization/split_free.hpp>
+
+class A
+{
+ friend class boost::serialization::access;
+ template<class Archive>
+ void save(
+ Archive & /* ar */,
+ const unsigned int /* file_version */
+ ) const {
+ ++(const_cast<A &>(*this).count);
+ }
+ template<class Archive>
+ void load(
+ Archive & /* ar */,
+ const unsigned int /* file_version */
+ ){
+ --count;
+ }
+ BOOST_SERIALIZATION_SPLIT_MEMBER()
+ int count;
+public:
+ A() : count(0) {}
+ ~A() {
+ BOOST_CHECK(0 == count);
+ }
+};
+
+class B
+{
+ friend class boost::serialization::access;
+ template<class Archive>
+ void save(
+ Archive & /* ar */,
+ const unsigned int /* file_version */
+ ) const {
+ ++(const_cast<B &>(*this).count);
+ }
+ template<class Archive>
+ void load(
+ Archive & /* ar */,
+ const unsigned int /* file_version */
+ ){
+ --count;
+ }
+ int count;
+public:
+ B() : count(0) {}
+ ~B() {
+ BOOST_CHECK(0 == count);
+ }
+};
+
+// function specializations must be defined in the appropriate
+// namespace - boost::serialization
+namespace boost {
+namespace serialization {
+
+template<class Archive>
+void serialize(
+ Archive & ar,
+ B & b,
+ const unsigned int file_version
+){
+ boost::serialization::split_member(ar, b, file_version);
+}
+
+} // serialization
+} // namespace boost
+
+class C
+{
+public:
+ int count;
+ C() : count(0) {}
+ ~C() {
+ BOOST_CHECK(0 == count);
+ }
+};
+
+namespace boost {
+namespace serialization {
+
+template<class Archive>
+void save(
+ Archive & /* ar */,
+ const C & c,
+ const unsigned int /* file_version */
+){
+ ++(const_cast<C &>(c).count);
+}
+
+template<class Archive>
+void load(
+ Archive & /* ar */,
+ C & c,
+ const unsigned int /* file_version */
+){
+ --c.count;
+}
+
+} // serialization
+} // namespace boost
+
+BOOST_SERIALIZATION_SPLIT_FREE(C)
+
+void out(const char *testfile, A & a, B & b, C & c)
+{
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << BOOST_SERIALIZATION_NVP(a);
+ oa << BOOST_SERIALIZATION_NVP(b);
+ oa << BOOST_SERIALIZATION_NVP(c);
+}
+
+void in(const char *testfile, A & a, B & b, C & c)
+{
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> BOOST_SERIALIZATION_NVP(a);
+ ia >> BOOST_SERIALIZATION_NVP(b);
+ ia >> BOOST_SERIALIZATION_NVP(c);
+}
+
+int
+test_main( int /* argc */, char* /* argv */[] )
+{
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ A a;
+ B b;
+ C c;
+
+ out(testfile, a, b, c);
+ in(testfile, a, b, c);
+ std::remove(testfile);
+ return EXIT_SUCCESS;
+}
+
+// EOF
diff --git a/src/boost/libs/serialization/test/test_stack.cpp b/src/boost/libs/serialization/test/test_stack.cpp
new file mode 100644
index 000000000..4d0ee27bf
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_stack.cpp
@@ -0,0 +1,56 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_stack.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// should pass compilation and execution
+
+#include <cstddef>
+#include <fstream>
+
+#include <cstdio> // remove
+#include <boost/config.hpp>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::remove;
+}
+#endif
+
+#include "test_tools.hpp"
+
+#include <boost/serialization/nvp.hpp>
+#include <boost/serialization/deque.hpp>
+#include <boost/serialization/stack.hpp>
+
+#include "A.hpp"
+#include "A.ipp"
+
+int test_main( int /* argc */, char* /* argv */[] )
+{
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ // test array of objects
+ std::stack<A, std::deque<A> > astack, astack1;
+ astack.push(A());
+ astack.push(A());
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << boost::serialization::make_nvp("astack",astack);
+ }
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> boost::serialization::make_nvp("astack",astack1);
+ }
+ BOOST_CHECK(astack == astack1);
+
+ std::remove(testfile);
+ return EXIT_SUCCESS;
+}
+
+// EOF
diff --git a/src/boost/libs/serialization/test/test_static_warning.cpp b/src/boost/libs/serialization/test/test_static_warning.cpp
new file mode 100644
index 000000000..642b9cf3a
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_static_warning.cpp
@@ -0,0 +1,63 @@
+// (C) Copyright Jonathan Turkanis 2004.
+// 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 for most recent version including documentation.
+
+// note: this is a compile only test.
+
+#include <boost/config.hpp> // BOOST_STATIC_CONST
+#include <boost/static_assert.hpp>
+#include <boost/type_traits/is_polymorphic.hpp>
+
+#include <boost/serialization/static_warning.hpp>
+
+typedef char a1[2];
+typedef char a2[3];
+
+class polymorphic {
+ virtual ~polymorphic();
+};
+
+class non_polymorphic {
+};
+
+template<class T>
+int f(){
+ BOOST_STATIC_WARNING(T::value);
+ return 0;
+}
+
+struct A {
+ BOOST_STATIC_CONSTANT(bool, value = false);
+};
+
+/////////////////////////////////////////////////////////////////////////
+// compilation of this program should show a total of 10 warning messages
+
+// should show NO warning message
+BOOST_STATIC_WARNING(true);
+
+// the following should show 5 warning message
+int x = f<A>(); // Warn
+int y = f<boost::is_polymorphic<non_polymorphic> >(); // Warn.
+int z = f<boost::is_polymorphic<polymorphic> >();
+
+BOOST_STATIC_WARNING(sizeof(a1) == sizeof(a2)); // Warn.
+BOOST_STATIC_WARNING(sizeof(a1) != sizeof(a1)); // Warn.
+BOOST_STATIC_WARNING(! boost::is_polymorphic<polymorphic>::value); // Warn.
+BOOST_STATIC_WARNING(boost::is_polymorphic<non_polymorphic>::value); // Warn.
+
+int main(int /* argc */, char * /* argv */[]){
+ // should show NO warning message
+ BOOST_STATIC_WARNING(true);
+
+ // the following should show 5 warning message
+ f<A>();
+ BOOST_STATIC_WARNING(sizeof(a1) == sizeof(a2)); // Warn.
+ BOOST_STATIC_WARNING(sizeof(a1) != sizeof(a1)); // Warn.
+ BOOST_STATIC_WARNING(! boost::is_polymorphic<polymorphic>::value); // Warn.
+ BOOST_STATIC_WARNING(boost::is_polymorphic<non_polymorphic>::value); // Warn.
+ return 0;
+}
diff --git a/src/boost/libs/serialization/test/test_strong_typedef.cpp b/src/boost/libs/serialization/test/test_strong_typedef.cpp
new file mode 100644
index 000000000..0dc59c9a4
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_strong_typedef.cpp
@@ -0,0 +1,71 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_strong_typedef.cpp
+
+// (C) Copyright 2016 Ashish Sadanandan
+// Use, modification and distribution is 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)
+
+// should pass compilation
+#include <stdlib.h> // EXIT_SUCCESS
+
+#include <boost/config.hpp>
+#include <boost/serialization/strong_typedef.hpp>
+#include <boost/static_assert.hpp>
+
+#include <boost/type_traits/has_nothrow_assign.hpp>
+#include <boost/type_traits/has_nothrow_constructor.hpp>
+#include <boost/type_traits/has_nothrow_copy.hpp>
+
+///////////////////////////////////////////////////////////////////////
+// Define a strong typedef for int.
+// The new type should be nothrow constructible and assignable.
+
+BOOST_STRONG_TYPEDEF(int, strong_int)
+
+#ifndef BOOST_HAS_NOTHROW_CONSTRUCTOR
+BOOST_STATIC_ASSERT(boost::has_nothrow_default_constructor<strong_int>::value);
+BOOST_STATIC_ASSERT(boost::has_nothrow_copy_constructor<strong_int>::value);
+BOOST_STATIC_ASSERT(boost::has_nothrow_assign<strong_int>::value);
+#endif
+
+///////////////////////////////////////////////////////////////////////
+// strong_int can now be placed in another type, which can also be
+// nothrow constructible and assignable.
+
+struct type1
+{
+ long some_long;
+ strong_int sint;
+};
+
+#ifndef BOOST_HAS_NOTHROW_CONSTRUCTOR
+BOOST_STATIC_ASSERT(boost::has_nothrow_default_constructor<type1>::value);
+BOOST_STATIC_ASSERT(boost::has_nothrow_copy_constructor<type1>::value);
+BOOST_STATIC_ASSERT(boost::has_nothrow_assign<type1>::value);
+#endif
+
+///////////////////////////////////////////////////////////////////////
+// Now define a type that throws, and a strong_typedef for it
+// The strong_typedef should also not have nothrow construction/assign.
+
+struct not_noexcept
+{
+ not_noexcept() {}
+ not_noexcept(not_noexcept const&) {}
+ not_noexcept& operator=(not_noexcept const&) {return *this;}
+ bool operator==(not_noexcept const&) const {return false;}
+ bool operator<(not_noexcept const&) const {return false;}
+};
+BOOST_STRONG_TYPEDEF(not_noexcept, strong_not_noexcept)
+
+#ifndef BOOST_HAS_NOTHROW_CONSTRUCTOR
+BOOST_STATIC_ASSERT(! boost::has_nothrow_default_constructor<strong_not_noexcept>::value);
+BOOST_STATIC_ASSERT(! boost::has_nothrow_copy_constructor<strong_not_noexcept>::value);
+BOOST_STATIC_ASSERT(! boost::has_nothrow_assign<strong_not_noexcept>::value);
+#endif
+
+int main()
+{
+ return EXIT_SUCCESS;
+}
diff --git a/src/boost/libs/serialization/test/test_tools.hpp b/src/boost/libs/serialization/test/test_tools.hpp
new file mode 100644
index 000000000..09c0c1c30
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_tools.hpp
@@ -0,0 +1,264 @@
+#ifndef BOOST_SERIALIZATION_TEST_TOOLS_HPP
+#define BOOST_SERIALIZATION_TEST_TOOLS_HPP
+
+// MS compatible compilers support #pragma once
+#if defined(_MSC_VER)
+# pragma once
+#endif
+
+#define BOOST_FILESYSTEM_VERSION 3
+#include <boost/filesystem/operations.hpp> // unique_path
+
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_tools.hpp
+//
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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 for updates, documentation, and revision history.
+
+#include <boost/config.hpp>
+#ifndef BOOST_NO_EXCEPTION_STD_NAMESPACE
+ #include <exception>
+#endif
+#include <boost/detail/no_exceptions_support.hpp>
+
+#if defined(UNDER_CE)
+
+// Windows CE does not supply the tmpnam function in its CRT.
+// Substitute a primitive implementation here.
+namespace boost {
+namespace archive {
+ const char * tmpnam(char * buffer){
+ static char ibuffer [512];
+ if(NULL == buffer)
+ buffer = ibuffer;
+
+ static unsigned short index = 0;
+ std::sprintf(buffer, "\\tmpfile%05X.tmp", index++);
+ return buffer;
+ }
+} // archive
+} // boost
+
+#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
+// win32 has a brain-dead tmpnam implementation.
+// which leaves temp files in root directory
+// regardless of environmental settings
+
+#include <cstdlib>
+#include <cstring>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::remove;
+ using ::strcpy;
+ using ::strcat;
+ using ::tmpnam;
+}
+#endif // defined(BOOST_NO_STDC_NAMESPACE)
+
+#include <direct.h>
+#include <boost/archive/tmpdir.hpp>
+
+//#if defined(__COMO__)
+ #define chdir _chdir
+//#endif // defined win32
+
+#if defined(NDEBUG) && defined(__BORLANDC__)
+ #define STRCPY strcpy
+#else
+ #define STRCPY std::strcpy
+#endif
+
+namespace boost {
+namespace archive {
+ const char * test_filename(const char * dir = NULL, char *fname = NULL){
+ static char ibuffer [512];
+ ibuffer[0] = '\0';
+ if(NULL == dir){
+ dir = boost::archive::tmpdir();
+ }
+ STRCPY(ibuffer, dir);
+ std::strcat(ibuffer, "/");
+ if(NULL == fname){
+ char old_dir[256];
+ _getcwd(old_dir, sizeof(old_dir) - 1);
+ chdir(dir);
+ // (C) Copyright 2010 Dean Michael Berris. <mikhailberis@gmail.com>
+ // Instead of using std::tmpnam, we use Boost.Filesystem's unique_path
+ boost::filesystem::path tmp_path =
+ boost::filesystem::unique_path("%%%%%");
+ std::strcat(ibuffer, tmp_path.string().c_str());
+ chdir(old_dir);
+ }
+ else{
+ std::strcat(ibuffer, fname);
+ }
+ return ibuffer;
+ }
+ const char * tmpnam(char * buffer){
+ const char * name = test_filename(NULL, NULL);
+ if(NULL != buffer){
+ STRCPY(buffer, name);
+ }
+ return name;
+ }
+} // archive
+} // boost
+
+#else // defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
+#if defined(__hpux)
+// (C) Copyright 2006 Boris Gubenko.
+// HP-UX has a restriction that for multi-thread applications, (i.e.
+// the ones compiled -mt) if argument to tmpnam is a NULL pointer, then,
+// citing the tmpnam(3S) manpage, "the operation is not performed and a
+// NULL pointer is returned". tempnam does not have this restriction, so,
+// let's use tempnam instead.
+
+#define tmpnam(X) tempnam(NULL,X)
+
+namespace boost {
+namespace archive {
+ using ::tmpnam;
+} // archive
+} // boost
+
+#else // defined(__hpux)
+
+// (C) Copyright 2010 Dean Michael Berris.
+// Instead of using the potentially dangrous tempnam function that's part
+// of the C standard library, on Unix/Linux we use the more portable and
+// "safe" unique_path function provided in the Boost.Filesystem library.
+
+#include <boost/archive/tmpdir.hpp>
+
+namespace boost {
+namespace archive {
+ char const * tmpnam(char * buffer) {
+ static char name[512] = {0};
+ if (name[0] == 0) {
+ boost::filesystem::path tempdir(tmpdir());
+ boost::filesystem::path tempfilename =
+ boost::filesystem::unique_path("serialization-%%%%");
+ boost::filesystem::path temp = tempdir / tempfilename;
+ std::strcat(name, temp.string().c_str());
+ }
+ if (buffer != 0) std::strcpy(buffer, name);
+ return name;
+ }
+} // archive
+} // boost
+
+#endif // defined(__hpux)
+#endif // defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
+
+#include <boost/core/lightweight_test.hpp>
+
+#define BOOST_CHECK( P ) \
+ BOOST_TEST( (P) )
+#define BOOST_REQUIRE( P ) \
+ BOOST_TEST( (P) )
+#define BOOST_CHECK_MESSAGE( P, M ) \
+ ((P)? (void)0 : ::boost::detail::error_impl( (M) , __FILE__, __LINE__, BOOST_CURRENT_FUNCTION))
+#define BOOST_REQUIRE_MESSAGE( P, M ) \
+ BOOST_CHECK_MESSAGE( (P), (M) )
+#define BOOST_CHECK_EQUAL( A , B ) \
+ BOOST_TEST( (A) == (B) )
+
+namespace boost { namespace detail {
+inline void msg_impl(char const * msg, char const * file, int line, char const * function)
+{
+ std::cerr << file << "(" << line << "): " << msg << " in function '" << function << "'" << std::endl;
+}
+} } // boost::detail
+
+#define BOOST_WARN_MESSAGE( P, M ) \
+ ((P)? (void)0 : ::boost::detail::msg_impl( (M) , __FILE__, __LINE__, BOOST_CURRENT_FUNCTION))
+#define BOOST_MESSAGE( M ) \
+ BOOST_WARN_MESSAGE( true , (M) )
+
+#define BOOST_CHECKPOINT( M ) \
+ BOOST_WARN_MESSAGE( true , (M) )
+
+//#define BOOST_TEST_DONT_PRINT_LOG_VALUE( T )
+
+#define BOOST_FAIL( M ) BOOST_REQUIRE_MESSAGE( false, (M) )
+#define EXIT_SUCCESS 0
+
+int test_main(int argc, char * argv[]);
+
+#include <boost/serialization/singleton.hpp>
+
+int
+main(int argc, char * argv[]){
+ boost::serialization::get_singleton_module().lock();
+
+ int retval = 1;
+ BOOST_TRY{
+ retval = test_main(argc, argv);
+ }
+ #ifndef BOOST_NO_EXCEPTION_STD_NAMESPACE
+ BOOST_CATCH(const std::exception & e){
+ BOOST_ERROR(e.what());
+ }
+ #endif
+ BOOST_CATCH(...){
+ BOOST_ERROR("failed with uncaught exception:");
+ }
+ BOOST_CATCH_END
+
+ boost::serialization::get_singleton_module().unlock();
+
+ int error_count = boost::report_errors();
+ if(error_count > 0)
+ retval = error_count;
+ return retval;
+}
+
+// the following is to ensure that when one of the libraries changes
+// BJAM rebuilds and relinks the test.
+/*
+#include "text_archive.hpp"
+#include "text_warchive.hpp"
+#include "binary_archive.hpp"
+#include "xml_archive.hpp"
+#include "xml_warchive.hpp"
+
+#include "polymorphic_text_archive.hpp"
+#include "polymorphic_text_warchive.hpp"
+#include "polymorphic_binary_archive.hpp"
+#include "polymorphic_xml_archive.hpp"
+#include "polymorphic_xml_warchive.hpp"
+*/
+
+/////////////////////////////////////////////
+// invoke header for a custom archive test.
+
+/////////////////////////////////////////////
+// invoke header for a custom archive test.
+#if ! defined(BOOST_ARCHIVE_TEST)
+#define BOOST_ARCHIVE_TEST text_archive.hpp
+#endif
+
+#include <boost/preprocessor/stringize.hpp>
+#include BOOST_PP_STRINGIZE(BOOST_ARCHIVE_TEST)
+
+#ifndef TEST_STREAM_FLAGS
+ #define TEST_STREAM_FLAGS (std::ios_base::openmode)0
+#endif
+
+#ifndef TEST_ARCHIVE_FLAGS
+ #define TEST_ARCHIVE_FLAGS 0
+#endif
+
+#ifndef TEST_DIRECTORY
+#define TEST_DIRECTORY
+#else
+#define __x__ TEST_DIRECTORY
+#undef TEST_DIRECTORY
+#define TEST_DIRECTORY BOOST_PP_STRINGIZE(__x__)
+#endif
+
+#endif // BOOST_SERIALIZATION_TEST_TOOLS_HPP
diff --git a/src/boost/libs/serialization/test/test_tracking.cpp b/src/boost/libs/serialization/test/test_tracking.cpp
new file mode 100644
index 000000000..24e6f0099
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_tracking.cpp
@@ -0,0 +1,130 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_tracking_save.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// should pass compilation and execution
+
+#include <cstddef> // NULL
+#include <fstream>
+
+#include <boost/config.hpp>
+#include <cstdio> // remove
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::remove;
+}
+#endif
+
+#include "test_tools.hpp"
+#include <boost/serialization/tracking.hpp>
+#include <boost/serialization/nvp.hpp>
+
+#define TEST_CLASS(N, TRACKING) \
+class N \
+{ \
+ friend class boost::serialization::access; \
+ template<class Archive> \
+ void serialize(Archive & /* ar */, const unsigned int /* file_version */){ \
+ ++count; \
+ } \
+public: \
+ static unsigned int count; \
+}; \
+unsigned int N::count = 0;\
+BOOST_CLASS_TRACKING(N, TRACKING)
+
+TEST_CLASS(AN, ::boost::serialization::track_never)
+TEST_CLASS(AS, ::boost::serialization::track_selectively)
+TEST_CLASS(AA, ::boost::serialization::track_always)
+
+// test pointers
+TEST_CLASS(PAN, ::boost::serialization::track_never)
+TEST_CLASS(PAS, ::boost::serialization::track_selectively)
+TEST_CLASS(PAA, ::boost::serialization::track_always)
+
+void out(const char *testfile)
+{
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ // write object twice to check tracking
+ AN an;
+ AS as;
+ AA aa;
+ oa << BOOST_SERIALIZATION_NVP(an) << BOOST_SERIALIZATION_NVP(an);
+ BOOST_CHECK(an.count == 2);
+ oa << BOOST_SERIALIZATION_NVP(as) << BOOST_SERIALIZATION_NVP(as);
+ BOOST_CHECK(as.count == 2);
+ oa << BOOST_SERIALIZATION_NVP(aa) << BOOST_SERIALIZATION_NVP(aa);
+ BOOST_CHECK(aa.count == 1);
+
+ PAN *pan = new PAN;
+ PAS *pas = new PAS;
+ PAA *paa = new PAA;
+ oa << BOOST_SERIALIZATION_NVP(pan) << BOOST_SERIALIZATION_NVP(pan);
+ BOOST_CHECK(pan->count == 2);
+ oa << BOOST_SERIALIZATION_NVP(pas) << BOOST_SERIALIZATION_NVP(pas);
+ BOOST_CHECK(pas->count == 1);
+ oa << BOOST_SERIALIZATION_NVP(paa) << BOOST_SERIALIZATION_NVP(paa);
+ BOOST_CHECK(paa->count == 1);
+ delete pan;
+ delete pas;
+ delete paa;
+}
+
+void in(const char *testfile)
+{
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ // read object twice to check tracking
+ AN an;
+ AS as;
+ AA aa;
+
+ AN::count = 0;
+ AS::count = 0;
+ AA::count = 0;
+
+ ia >> BOOST_SERIALIZATION_NVP(an) >> BOOST_SERIALIZATION_NVP(an);
+ BOOST_CHECK(an.count == 2);
+ ia >> BOOST_SERIALIZATION_NVP(as) >> BOOST_SERIALIZATION_NVP(as);
+ BOOST_CHECK(as.count == 2);
+ ia >> BOOST_SERIALIZATION_NVP(aa) >> BOOST_SERIALIZATION_NVP(aa);
+ BOOST_CHECK(aa.count == 1);
+
+ PAN::count = 0;
+ PAS::count = 0;
+ PAA::count = 0;
+
+ PAN *pan = NULL;
+ PAS *pas = NULL;
+ PAA *paa = NULL;
+ ia >> BOOST_SERIALIZATION_NVP(pan);
+ ia >> BOOST_SERIALIZATION_NVP(pan);
+ BOOST_CHECK(pan->count == 2);
+ ia >> BOOST_SERIALIZATION_NVP(pas);
+ ia >> BOOST_SERIALIZATION_NVP(pas);
+ BOOST_CHECK(pas->count == 1);
+ ia >> BOOST_SERIALIZATION_NVP(paa);
+ ia >> BOOST_SERIALIZATION_NVP(paa);
+ BOOST_CHECK(paa->count == 1);
+ delete pan;
+ delete pas;
+ delete paa;
+}
+
+int
+test_main( int /* argc */, char* /* argv */[] )
+{
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ out(testfile);
+ in(testfile);
+ std::remove(testfile);
+ return EXIT_SUCCESS;
+}
+
diff --git a/src/boost/libs/serialization/test/test_traits_fail.cpp b/src/boost/libs/serialization/test/test_traits_fail.cpp
new file mode 100644
index 000000000..6816528bb
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_traits_fail.cpp
@@ -0,0 +1,40 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_traits_fail.cpp: test implementation level trait
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// compile test for traits
+#include "test_tools.hpp"
+#include <boost/serialization/level.hpp>
+#include <boost/serialization/version.hpp>
+
+class A
+{
+};
+
+BOOST_CLASS_IMPLEMENTATION(A, boost::serialization::not_serializable)
+// It can make no sense to assign a version number to a class that
+// is not serialized with class information
+BOOST_CLASS_VERSION(A, 2) // should fail during compile
+// It can make no sense to assign tracking behavior to a class that
+// is not serializable. Should fail during compile.
+BOOST_CLASS_TRACKING(A, boost::serialization::track_never)
+
+class B
+{
+};
+
+BOOST_CLASS_IMPLEMENTATION(B, boost::serialization::object_class_info)
+BOOST_CLASS_VERSION(B, 2)
+BOOST_CLASS_TRACKING(B, boost::serialization::track_always)
+
+int
+test_main( int /* argc */, char* /* argv */[] )
+{
+ return EXIT_SUCCESS;
+}
+
+// EOF
diff --git a/src/boost/libs/serialization/test/test_traits_pass.cpp b/src/boost/libs/serialization/test/test_traits_pass.cpp
new file mode 100644
index 000000000..d4a16e9e1
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_traits_pass.cpp
@@ -0,0 +1,30 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_traits_pass.cpp: test implementation level trait
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// compile test for traits
+#include "test_tools.hpp"
+
+#include <boost/serialization/level.hpp>
+#include <boost/serialization/tracking.hpp>
+#include <boost/serialization/version.hpp>
+
+class B
+{
+};
+
+BOOST_CLASS_IMPLEMENTATION(B, boost::serialization::object_class_info)
+BOOST_CLASS_VERSION(B, 2)
+BOOST_CLASS_TRACKING(B, boost::serialization::track_always)
+
+int
+test_main( int argc, char* argv[] )
+{
+ return EXIT_SUCCESS;
+}
+
+// EOF
diff --git a/src/boost/libs/serialization/test/test_unique_ptr.cpp b/src/boost/libs/serialization/test/test_unique_ptr.cpp
new file mode 100644
index 000000000..c465ea3c2
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_unique_ptr.cpp
@@ -0,0 +1,70 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_unique_ptr.cpp
+
+// (C) Copyright 2002-14 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+#include <fstream>
+#include <cstdio> // remove, std::auto_ptr interface wrong in dinkumware
+#include <boost/config.hpp>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::remove;
+}
+#endif
+#include <boost/serialization/nvp.hpp>
+
+#include "test_tools.hpp"
+
+/////////////////////////////////////////////////////////////
+// test std::unique_ptr serialization
+class A
+{
+private:
+ friend class boost::serialization::access;
+ int x;
+ template<class Archive>
+ void serialize(Archive &ar, const unsigned int /* file_version */){
+ ar & BOOST_SERIALIZATION_NVP(x);
+ }
+public:
+ A(){} // default constructor
+ ~A(){} // default destructor
+};
+
+#ifndef BOOST_NO_CXX11_SMART_PTR
+#include <boost/serialization/unique_ptr.hpp>
+
+int test_main(int /* argc */, char * /* argv */[]){
+ const char * filename = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != filename);
+
+ // create a new auto pointer to ta new object of type A
+ std::unique_ptr<A> spa(new A);
+ {
+ test_ostream os(filename, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << BOOST_SERIALIZATION_NVP(spa);
+ }
+ {
+ // reset the unique_ptr to NULL
+ // thereby destroying the object of type A
+ // note that the reset automagically maintains the reference count
+ spa.reset();
+ test_istream is(filename, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> BOOST_SERIALIZATION_NVP(spa);
+ std::remove(filename);
+ }
+ return EXIT_SUCCESS;
+}
+
+#else
+
+int test_main(int /* argc */, char * /* argv */[]){
+ return EXIT_SUCCESS;
+}
+
+#endif // BOOST_NO_CXX11_SMART_PTR
diff --git a/src/boost/libs/serialization/test/test_unregistered.cpp b/src/boost/libs/serialization/test/test_unregistered.cpp
new file mode 100644
index 000000000..c7de75eeb
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_unregistered.cpp
@@ -0,0 +1,313 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_unregistered.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// should pass compilation and execution
+
+#include <fstream>
+
+#include <cstddef> // NULL
+#include <cstdio> // remove
+#include <cstring> // strcmp
+#include <boost/config.hpp>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::remove;
+}
+#endif
+
+#include "test_tools.hpp"
+
+#include <boost/archive/archive_exception.hpp>
+#include <boost/serialization/base_object.hpp>
+#include <boost/serialization/type_info_implementation.hpp>
+#include <boost/core/no_exceptions_support.hpp>
+
+class polymorphic_base
+{
+ friend class boost::serialization::access;
+ template<class Archive>
+ void serialize(Archive & /* ar */, const unsigned int /* file_version */){
+ }
+public:
+ virtual ~polymorphic_base(){};
+};
+
+class polymorphic_derived1 : public polymorphic_base
+{
+ friend class boost::serialization::access;
+ template<class Archive>
+ void serialize(Archive &ar, const unsigned int /* file_version */){
+ ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(polymorphic_base);
+ }
+};
+
+class polymorphic_derived2 : public polymorphic_base
+{
+ friend class boost::serialization::access;
+ template<class Archive>
+ void serialize(Archive &ar, const unsigned int /* file_version */){
+ ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(polymorphic_base);
+ }
+};
+
+struct type1 {
+ template<typename Archive>
+ void serialize(Archive&, unsigned int ver) {
+ BOOST_CHECK(ver == 1);
+ }
+};
+struct type2 {
+ template<typename Archive>
+ void serialize(Archive&, unsigned int ver) {
+ BOOST_CHECK(ver == 2);
+ }
+};
+
+BOOST_CLASS_VERSION(type1, 1);
+BOOST_CLASS_VERSION(type2, 2);
+
+// save unregistered polymorphic classes
+void save_unregistered1(const char *testfile)
+{
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+
+ polymorphic_base *rb1 = new polymorphic_derived1;
+
+ // registration IS necessary when serializing a polymorphic class
+ // through pointer to the base class
+ bool except = false;
+ BOOST_TRY {
+ oa << BOOST_SERIALIZATION_NVP(rb1);
+ }
+ BOOST_CATCH(boost::archive::archive_exception const& aex){
+ except = true;
+ }
+ BOOST_CATCH_END
+ BOOST_CHECK_MESSAGE(except, "lack of registration not detected !");
+
+ delete rb1;
+}
+
+// note: the corresponding save function above will not result in
+// valid archive - hence, the following code which attempts to load
+// and archive will fail. Leave this as a reminder not to do this
+#if 0
+// load unregistered polymorphic classes
+void load_unregistered1(const char *testfile)
+{
+ std::ifstream is(testfile);
+ boost::archive::iarchive ia(is);
+
+ polymorphic_base *rb1(NULL);
+
+ // registration IS necessary when serializing a polymorphic class
+ // through pointer to the base class
+ bool except = false;
+ BOOST_TRY {
+ ia >> BOOST_SERIALIZATION_NVP(rb1);
+ }
+ BOOST_CATCH(boost::archive::archive_exception const& aex){
+ except = true;
+ BOOST_CHECK_MESSAGE(
+ NULL == rb1,
+ "failed load resulted in a non-null pointer"
+ );
+ }
+ BOOST_CATCH_END
+ BOOST_CHECK_MESSAGE(except, "lack of registration not detected !");
+
+ delete rb1;
+}
+#endif
+
+// save unregistered polymorphic classes
+void save_unregistered2(const char *testfile)
+{
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+
+ polymorphic_derived1 *rd1 = new polymorphic_derived1;
+
+ // registration is NOT necessary when serializing a polymorphic class
+ // through pointer to a derived class
+ bool except = false;
+ BOOST_TRY {
+ oa << BOOST_SERIALIZATION_NVP(rd1);
+ }
+ BOOST_CATCH(boost::archive::archive_exception const& aex){
+ except = true;
+ }
+ BOOST_CATCH_END
+ BOOST_CHECK_MESSAGE(! except, "registration not detected !");
+
+ delete rd1;
+}
+
+// note: the corresponding save function above will not result in
+// valid archive - hence, the following code which attempts to load
+// and archive will fail. Leave this as a reminder not to do this
+// load unregistered polymorphic classes
+void load_unregistered2(const char *testfile)
+{
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+
+ polymorphic_derived1 *rd1 = NULL;
+
+ // registration is NOT necessary when serializing a polymorphic class
+ // or through pointer to a derived class
+ bool except = false;
+ BOOST_TRY {
+ ia >> BOOST_SERIALIZATION_NVP(rd1);
+ }
+ BOOST_CATCH(boost::archive::archive_exception const& aex){
+ except = true;
+ BOOST_CHECK_MESSAGE(
+ NULL == rd1,
+ "failed load resulted in a non-null pointer"
+ );
+ }
+ BOOST_CATCH_END
+ BOOST_CHECK_MESSAGE(! except, "registration not detected !");
+
+ delete rd1;
+}
+
+// save registered polymorphic class
+void save_registered(const char *testfile)
+{
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+
+ polymorphic_base *rb1 = new polymorphic_derived1;
+ polymorphic_base *rb2 = new polymorphic_derived2;
+
+ // registration (forward declaration) will permit correct serialization
+ // through a pointer to a base class
+ oa.register_type(static_cast<polymorphic_derived1 *>(NULL));
+ oa.register_type(static_cast<polymorphic_derived2 *>(NULL));
+ oa << BOOST_SERIALIZATION_NVP(rb1);
+ oa << BOOST_SERIALIZATION_NVP(rb2);
+
+ delete rb1;
+ delete rb2;
+}
+
+// load registered polymorphic class
+void load_registered(const char *testfile)
+{
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+
+ polymorphic_base *rb1 = NULL;
+ polymorphic_base *rb2 = NULL;
+
+ // registration (forward declaration) will permit correct serialization
+ // through a pointer to a base class
+ ia.register_type(static_cast<polymorphic_derived1 *>(NULL));
+ ia.register_type(static_cast<polymorphic_derived2 *>(NULL));
+
+ ia >> BOOST_SERIALIZATION_NVP(rb1);
+
+ BOOST_CHECK_MESSAGE(NULL != rb1, "Load resulted in NULL pointer");
+ BOOST_CHECK_MESSAGE(
+ boost::serialization::type_info_implementation<
+ polymorphic_derived1
+ >::type::get_const_instance()
+ ==
+ * boost::serialization::type_info_implementation<
+ polymorphic_base
+ >::type::get_const_instance().get_derived_extended_type_info(*rb1),
+ "restored pointer b1 not of correct type"
+ );
+
+ ia >> BOOST_SERIALIZATION_NVP(rb2);
+ BOOST_CHECK_MESSAGE(NULL != rb2, "Load resulted in NULL pointer");
+ BOOST_CHECK_MESSAGE(
+ boost::serialization::type_info_implementation<
+ polymorphic_derived2
+ >::type::get_const_instance()
+ ==
+ * boost::serialization::type_info_implementation<
+ polymorphic_base
+ >::type::get_const_instance().get_derived_extended_type_info(*rb2),
+ "restored pointer b2 not of correct type"
+ );
+
+ delete rb1;
+ delete rb2;
+}
+
+// store a pointer from slot0
+void save_unregistered_pointer(const char *testfile)
+{
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+
+ oa.register_type(static_cast<type2 *>(NULL));
+
+ type1 instance1;
+ type2 *pointer2 = new type2;
+
+ BOOST_TRY {
+ oa & BOOST_SERIALIZATION_NVP(instance1) & BOOST_SERIALIZATION_NVP(pointer2);
+ }
+ BOOST_CATCH(...) {
+ BOOST_CHECK_MESSAGE(false, "unexpected exception");
+ }
+ BOOST_CATCH_END
+
+ delete pointer2;
+}
+
+// load a pointer from slot0 which has no pointer serializer
+void load_unregistered_pointer(const char *testfile)
+{
+ test_istream is(testfile);
+ test_iarchive ia(is);
+
+ type1 instance1;
+ type2 *pointer2(NULL);
+
+ bool except = false;
+ BOOST_TRY {
+ ia & BOOST_SERIALIZATION_NVP(instance1) & BOOST_SERIALIZATION_NVP(pointer2);
+ }
+ BOOST_CATCH(boost::archive::archive_exception const& aex){
+ except = true;
+ BOOST_CHECK_MESSAGE(
+ std::strcmp(aex.what(), "unregistered class") == 0,
+ "incorrect exception"
+ );
+ }
+ BOOST_CATCH_END
+ BOOST_CHECK_MESSAGE(except, "lack of registration not detected !");
+ BOOST_CHECK_MESSAGE(NULL == pointer2, "expected failed load");
+
+ delete pointer2;
+}
+
+int
+test_main( int /* argc */, char* /* argv */[] )
+{
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+ save_unregistered1(testfile);
+// load_unregistered1(testfile);
+ save_unregistered2(testfile);
+ load_unregistered2(testfile);
+ save_registered(testfile);
+ load_registered(testfile);
+ save_unregistered_pointer(testfile);
+ load_unregistered_pointer(testfile);
+ std::remove(testfile);
+ return EXIT_SUCCESS;
+}
+
+// EOF
diff --git a/src/boost/libs/serialization/test/test_valarray.cpp b/src/boost/libs/serialization/test/test_valarray.cpp
new file mode 100644
index 000000000..84d5c30dd
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_valarray.cpp
@@ -0,0 +1,56 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_valarrray.cpp
+
+// (C) Copyright 2005 Matthias Troyer .
+// Use, modification and distribution is 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)
+
+// should pass compilation and execution
+
+#include <cstddef> // NULL
+#include <fstream>
+
+#include <cstdio> // remove
+#include <boost/config.hpp>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::remove;
+}
+#endif
+
+#include "test_tools.hpp"
+
+#include <boost/serialization/valarray.hpp>
+
+int test_main( int /* argc */, char* /* argv */[] )
+{
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ // test array of objects
+ std::valarray<int> avalarray(2);
+ avalarray[0] = 42;
+ avalarray[1] = -42;
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << boost::serialization::make_nvp("avalarray", avalarray);
+ }
+ std::valarray<int> avalarray1;
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> boost::serialization::make_nvp("avalarray", avalarray1);
+ }
+ bool equal = ( avalarray.size() == avalarray1.size()
+ && avalarray[0] == avalarray1[0]
+ && avalarray[1] == avalarray1[1]
+ );
+
+ BOOST_CHECK(equal);
+ std::remove(testfile);
+ return EXIT_SUCCESS;
+}
+
+// EOF
diff --git a/src/boost/libs/serialization/test/test_variant.cpp b/src/boost/libs/serialization/test/test_variant.cpp
new file mode 100644
index 000000000..dcf91d13c
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_variant.cpp
@@ -0,0 +1,299 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_variant.cpp
+// test of non-intrusive serialization of variant types
+//
+// copyright (c) 2005
+// troy d. straszheim <troy@resophonic.com>
+// http://www.resophonic.com
+//
+// Use, modification and distribution is 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 for updates, documentation, and revision history.
+//
+// thanks to Robert Ramey and Peter Dimov.
+//
+
+#include <cstddef> // NULL
+#include <cstdio> // remove
+#include <fstream>
+#include <boost/config.hpp>
+#include <boost/math/special_functions/next.hpp> // float_distance
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::remove;
+}
+#endif
+
+#include <boost/type_traits/is_same.hpp>
+#include <boost/mpl/eval_if.hpp>
+#include <boost/mpl/identity.hpp>
+#include <boost/serialization/throw_exception.hpp>
+
+#if defined(_MSC_VER) && (_MSC_VER <= 1020)
+# pragma warning (disable : 4786) // too long name, harmless warning
+#endif
+
+#include "test_tools.hpp"
+
+#include <boost/archive/archive_exception.hpp>
+
+#include <boost/serialization/nvp.hpp>
+#include <boost/serialization/variant.hpp>
+
+#include "A.hpp"
+#include "A.ipp"
+
+class are_equal
+ : public boost::static_visitor<bool>
+{
+public:
+ // note extra rigamorole for compilers which don't support
+ // partial function template ordering - specfically msvc 6.x
+ struct same {
+ template<class T, class U>
+ static bool invoke(const T & t, const U & u){
+ return t == u;
+ }
+ };
+
+ struct not_same {
+ template<class T, class U>
+ static bool invoke(const T &, const U &){
+ return false;
+ }
+ };
+
+ template <class T, class U>
+ bool operator()( const T & t, const U & u) const
+ {
+ typedef typename boost::mpl::eval_if<boost::is_same<T, U>,
+ boost::mpl::identity<same>,
+ boost::mpl::identity<not_same>
+ >::type type;
+ return type::invoke(t, u);
+ }
+
+ bool operator()( const float & lhs, const float & rhs ) const
+ {
+ return std::abs( boost::math::float_distance(lhs, rhs)) < 2;
+ }
+ bool operator()( const double & lhs, const double & rhs ) const
+ {
+ return std::abs( boost::math::float_distance(lhs, rhs)) < 2;
+ }
+};
+
+template <class T>
+void test_type(const T& gets_written){
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(testfile != NULL);
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << boost::serialization::make_nvp("written", gets_written);
+ }
+
+ T got_read;
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> boost::serialization::make_nvp("written", got_read);
+ }
+ BOOST_CHECK(boost::apply_visitor(are_equal(), gets_written, got_read));
+
+ std::remove(testfile);
+}
+
+// this verifies that if you try to read in a variant from a file
+// whose "which" is illegal for the one in memory (that is, you're
+// reading in to a different variant than you wrote out to) the load()
+// operation will throw. One could concievably add checking for
+// sequence length as well, but this would add size to the archive for
+// dubious benefit.
+//
+void do_bad_read()
+{
+ // Compiling this test invokes and ICE on msvc 6
+ // So, we'll just to skip it for this compiler
+ #if defined(_MSC_VER) && (_MSC_VER <= 1020)
+ boost::variant<bool, float, int, std::string> big_variant;
+ big_variant = std::string("adrenochrome");
+
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(testfile != NULL);
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << BOOST_SERIALIZATION_NVP(big_variant);
+ }
+ boost::variant<bool, float, int> little_variant;
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ bool exception_invoked = false;
+ BOOST_TRY {
+ ia >> BOOST_SERIALIZATION_NVP(little_variant);
+ } BOOST_CATCH (boost::archive::archive_exception const& e) {
+ BOOST_CHECK(boost::archive::archive_exception::unsupported_version == e.code);
+ exception_invoked = true;
+ }
+ BOOST_CATCH_END
+ BOOST_CHECK(exception_invoked);
+ }
+ #endif
+}
+
+struct H {
+ int i;
+};
+
+namespace boost {
+namespace serialization {
+
+template<class Archive>
+void serialize(Archive &ar, H & h, const unsigned int /*file_version*/){
+ ar & boost::serialization::make_nvp("h", h.i);
+}
+
+} // namespace serialization
+} // namespace boost
+
+inline bool operator==(H const & lhs, H const & rhs) {
+ return lhs.i == rhs.i;
+}
+
+inline bool operator!=(H const & lhs, H const & rhs) {
+ return !(lhs == rhs);
+}
+
+inline bool operator<(H const & lhs, H const & rhs) {
+ return lhs.i < rhs.i;
+}
+
+inline std::size_t hash_value(H const & val) {
+ return val.i;
+}
+
+void test_pointer(){
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(testfile != NULL);
+ typedef boost::variant<H, int> variant_t;
+ H const h = {5};
+ variant_t v(h);
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << boost::serialization::make_nvp("written", v);
+ const H * h_ptr = & boost::strict_get<H const &>(v);
+ oa << boost::serialization::make_nvp("written", h_ptr);
+ }
+ variant_t v2;
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> boost::serialization::make_nvp("written", v2);
+ H * h2_ptr;
+ ia >> boost::serialization::make_nvp("written", h2_ptr);
+ BOOST_CHECK_EQUAL(h, boost::strict_get<H const>(v2));
+ BOOST_CHECK_EQUAL(h2_ptr, & boost::strict_get<H const &>(v2));
+ }
+ BOOST_CHECK_EQUAL(v, v2);
+}
+
+#include <boost/serialization/map.hpp>
+#include <boost/serialization/set.hpp>
+
+// test a pointer to an object contained into a variant that is an
+// element of a set
+void test_variant_set()
+{
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(testfile != NULL);
+ typedef boost::variant<H, int> variant_t;
+ typedef std::set<variant_t> uset_t;
+ uset_t set;
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ H const h = {5};
+ variant_t v(h);
+ set.insert(v);
+ oa << boost::serialization::make_nvp("written", set);
+ H const * const h_ptr = boost::strict_get<H const>(&(*set.begin()));
+ oa << boost::serialization::make_nvp("written", h_ptr);
+ }
+ uset_t set2;
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> boost::serialization::make_nvp("written", set2);
+ H * h_ptr;
+ ia >> boost::serialization::make_nvp("written", h_ptr);
+ const H * h_ptr2 = & boost::strict_get<H const>(*set2.begin());
+ BOOST_CHECK_EQUAL(h_ptr, h_ptr2);
+ }
+ BOOST_CHECK_EQUAL(set, set2);
+}
+
+// test a pointer to an object contained into a variant that is an
+// element of a map
+void test_variant_map()
+{
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(testfile != NULL);
+ typedef boost::variant<H, int> variant_t;
+ typedef std::map<int, variant_t> map_t;
+ map_t map;
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ H const h = {5};
+ variant_t v(h);
+ map[0] = v;
+ BOOST_ASSERT(1 == map.size());
+ oa << boost::serialization::make_nvp("written", map);
+ H const * const h_ptr = boost::strict_get<H const>(&map[0]);
+ BOOST_CHECK_EQUAL(h_ptr, boost::strict_get<H const>(&map[0]));
+ oa << boost::serialization::make_nvp("written", h_ptr);
+ }
+ map_t map2;
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> boost::serialization::make_nvp("written", map2);
+ BOOST_ASSERT(1 == map2.size());
+ H * h_ptr;
+ ia >> boost::serialization::make_nvp("written", h_ptr);
+ H const * const h_ptr2 = boost::strict_get<H const>(&map2[0]);
+ BOOST_CHECK_EQUAL(h_ptr, h_ptr2);
+ }
+ BOOST_CHECK_EQUAL(map, map2);
+}
+
+int test_main( int /* argc */, char* /* argv */[] )
+{
+ {
+ boost::variant<bool, int, float, double, A, std::string> v;
+ v = false;
+ test_type(v);
+ v = 1;
+ test_type(v);
+ v = (float) 2.3;
+ test_type(v);
+ v = (double) 6.4;
+ test_type(v);
+ v = std::string("we can't stop here, this is Bat Country");
+ test_type(v);
+ v = A();
+ test_type(v);
+ }
+ test_pointer();
+ test_variant_set();
+ test_variant_map();
+ do_bad_read();
+ return EXIT_SUCCESS;
+}
+
+// EOF
diff --git a/src/boost/libs/serialization/test/test_vector.cpp b/src/boost/libs/serialization/test/test_vector.cpp
new file mode 100644
index 000000000..1064c92e4
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_vector.cpp
@@ -0,0 +1,128 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_vector.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+
+// should pass compilation and execution
+
+#include <cstddef> // NULL
+#include <fstream>
+
+#include <cstdio> // remove
+#include <boost/config.hpp>
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::remove;
+}
+#endif
+#include <boost/static_assert.hpp>
+#include "test_tools.hpp"
+
+#include <boost/serialization/vector.hpp>
+
+// normal class with default constructor
+#include "A.hpp"
+#include "A.ipp"
+
+template <class T>
+int test_vector_detail(const std::vector<T> & avector)
+{
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ // test array of objects
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ oa << boost::serialization::make_nvp("avector", avector);
+ }
+ std::vector< T > avector1;
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> boost::serialization::make_nvp("avector", avector1);
+ }
+ BOOST_CHECK(avector == avector1);
+ std::remove(testfile);
+ return EXIT_SUCCESS;
+}
+
+template <class T>
+int test_default_constructible()
+{
+ // test array of objects
+ std::vector<T> avector;
+ avector.push_back(T());
+ avector.push_back(T());
+ return test_vector_detail(avector);
+}
+
+// class without default constructor
+struct X {
+ //BOOST_DELETED_FUNCTION(X());
+public:
+ int m_i;
+ X(const X & x) :
+ m_i(x.m_i)
+ {}
+ X(const int & i) :
+ m_i(i)
+ {}
+ bool operator==(const X & rhs) const {
+ return m_i == rhs.m_i;
+ }
+ template<class Archive>
+ void serialize(Archive & ar, const unsigned int /*version*/){
+ ar & BOOST_SERIALIZATION_NVP(m_i);
+ }
+};
+
+template<class Archive>
+inline void save_construct_data(
+ Archive & ar,
+ const X * x,
+ const unsigned int /* file_version */
+){
+ // variable used for construction
+ ar << boost::serialization::make_nvp("i", x->m_i);
+}
+
+template<class Archive>
+inline void load_construct_data(
+ Archive & ar,
+ X * x,
+ const unsigned int /* file_version */
+){
+ int i;
+ ar >> boost::serialization::make_nvp("i", i);
+ ::new(x)X(i);
+}
+
+int test_non_default_constructible()
+{
+ // test array of objects
+ std::vector<X> avector;
+ avector.push_back(X(123));
+ avector.push_back(X(456));
+ return test_vector_detail(avector);
+}
+
+int test_main( int /* argc */, char* /* argv */[] )
+{
+ int res;
+ res = test_default_constructible<A>();
+ // test an int vector for which optimized versions should be available
+ if (res == EXIT_SUCCESS)
+ res = test_default_constructible<int>();
+ // test a bool vector
+ if (res == EXIT_SUCCESS)
+ res = test_default_constructible<bool>();
+ if (res == EXIT_SUCCESS)
+ res = test_non_default_constructible();
+ return res;
+}
+
+// EOF
diff --git a/src/boost/libs/serialization/test/test_void_cast.cpp b/src/boost/libs/serialization/test/test_void_cast.cpp
new file mode 100644
index 000000000..1538ab2b0
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_void_cast.cpp
@@ -0,0 +1,165 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_void_cast.cpp: test implementation of run-time casting of void pointers
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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)
+// <gennadiy.rozental@tfn.com>
+
+#include <cstddef> // NULL
+#include "test_tools.hpp"
+#include <boost/serialization/extended_type_info_typeid.hpp>
+#include <boost/serialization/void_cast.hpp>
+#include <boost/serialization/singleton.hpp>
+
+class Base1
+{
+ char a;
+};
+
+class Base2
+{
+ int b;
+};
+
+class Derived : public Base1, public Base2
+{
+ long c;
+};
+
+class MostDerived : public Derived
+{
+ char d[32];
+};
+
+template<class T>
+const boost::serialization::extended_type_info & eti(){
+ return boost::serialization::singleton<
+ boost::serialization::extended_type_info_typeid< T >
+ >::get_const_instance();
+}
+
+int
+test_main( int /* argc */, char* /* argv */[] )
+{
+ MostDerived md;
+ MostDerived* pmd =& md;
+ Derived* pd = static_cast<Derived*>(pmd);
+
+ Base2* pb2 = static_cast<Base2*>(pmd);
+ Base1* pb1 = static_cast<Base1*>(pd);
+
+ void* vpmd = static_cast<void*>(pmd);
+ void* vpb1 = static_cast<void*>(pb1);
+ void* vpb2 = static_cast<void*>(pb2);
+ void* vpd = static_cast<void*>(pd);
+
+ // simple casts only requiring table lookup
+ BOOST_CHECK(vpd == boost::serialization::void_downcast(
+ eti<Derived>(),
+ eti<Base1>(),
+ vpb1
+ ));
+ BOOST_CHECK(vpb1 == boost::serialization::void_upcast(
+ eti<Derived>(),
+ eti<Base1>(),
+ vpd
+ ));
+ BOOST_CHECK(vpd == boost::serialization::void_downcast(
+ eti<Derived>(),
+ eti<Base2>(),
+ vpb2
+ ));
+ BOOST_CHECK(vpb2 == boost::serialization::void_upcast(
+ eti<Derived>(),
+ eti<Base2>(),
+ vpd
+ ));
+ BOOST_CHECK(vpmd == boost::serialization::void_downcast(
+ eti<MostDerived>(),
+ eti<Derived>(),
+ vpd
+ ));
+ BOOST_CHECK(vpd == boost::serialization::void_upcast(
+ eti<MostDerived>(),
+ eti<Derived>(),
+ vpmd
+ ));
+ // note relationship between MostDerived and Base1 is automatically derived
+ BOOST_CHECK(vpmd == boost::serialization::void_downcast(
+ eti<MostDerived>(),
+ eti<Base1>(),
+ vpb1
+ ));
+ BOOST_CHECK(vpb1 == boost::serialization::void_upcast(
+ eti<MostDerived>(),
+ eti<Base1>(),
+ vpmd
+ ));
+
+ // note relationship between MostDerived and Base2 is automatically derived
+ BOOST_CHECK(vpmd == boost::serialization::void_downcast(
+ eti<MostDerived>(),
+ eti<Base2>(),
+ vpb2
+ ));
+ BOOST_CHECK(vpb2 == boost::serialization::void_upcast(
+ eti<MostDerived>(),
+ eti<Base2>(),
+ vpmd
+ ));
+
+ // note: currently derivations are not optimised. See void_cast.cpp
+ // for and explanation. These should still work though.
+
+ // need to double check to validate speed up optimization of derivations
+ BOOST_CHECK(vpmd == boost::serialization::void_downcast(
+ eti<MostDerived>(),
+ eti<Base1>(),
+ vpb1
+ ));
+ BOOST_CHECK(vpb1 == boost::serialization::void_upcast(
+ eti<MostDerived>(),
+ eti<Base1>(),
+ vpmd
+ ));
+ BOOST_CHECK(vpmd == boost::serialization::void_downcast(
+ eti<MostDerived>(),
+ eti<Base2>(),
+ vpb2
+ ));
+ BOOST_CHECK(vpb2 == boost::serialization::void_upcast(
+ eti<MostDerived>(),
+ eti<Base2>(),
+ vpmd
+ ));
+
+ // check things that should fail
+ BOOST_CHECK(NULL == boost::serialization::void_downcast(
+ eti<Base2>(),
+ eti<Base1>(),
+ vpb1
+ ));
+
+ // note that a fundamental feature is that derived/base pairs are created
+ // at compiler time so that all are registered before the main program starts
+ // so leave the registration here at the end to verify this. Note bogus arguments
+ // to workaround msvc 6 bug
+ boost::serialization::void_cast_register<Derived, Base1>(
+ static_cast<Derived *>(NULL),
+ static_cast<Base1 *>(NULL)
+ );
+ boost::serialization::void_cast_register<Derived, Base2>(
+ static_cast<Derived *>(NULL),
+ static_cast<Base2 *>(NULL)
+ );
+ boost::serialization::void_cast_register<MostDerived, Derived>(
+ static_cast<MostDerived *>(NULL),
+ static_cast<Derived *>(NULL)
+ );
+
+ return EXIT_SUCCESS;
+}
+
+// EOF
diff --git a/src/boost/libs/serialization/test/test_z.cpp b/src/boost/libs/serialization/test/test_z.cpp
new file mode 100644
index 000000000..6023aab24
--- /dev/null
+++ b/src/boost/libs/serialization/test/test_z.cpp
@@ -0,0 +1,779 @@
+#if 0
+#include <stdexcept>
+#include <iostream>
+#include <sstream>
+
+#include <boost/optional.hpp>
+#include <boost/archive/text_oarchive.hpp>
+#include <boost/archive/text_iarchive.hpp>
+#include <boost/serialization/optional.hpp>
+
+struct Foo
+{
+ Foo(int aBar) :
+ mBar(aBar)
+ {
+ if (mBar > 10)
+ {
+ throw std::logic_error("too big bar");
+ }
+ }
+ int bar() const
+ {
+ return mBar;
+ }
+ bool operator==(const Foo & rhs) const {
+ return mBar == rhs.mBar;
+ }
+private:
+ int mBar;
+};
+
+namespace boost {
+namespace serialization {
+
+template<class Archive>
+inline void serialize(Archive & ar, Foo& foo, const unsigned int /*version*/)
+{
+ std::cout << __FUNCTION__ << " called" << std::endl;
+}
+
+template<class Archive>
+inline void save_construct_data(Archive & ar, const Foo* foo, const unsigned int /*version*/)
+{
+ std::cout << __FUNCTION__ << " called" << std::endl;
+ ar & foo->bar();
+}
+
+template<class Archive>
+inline void load_construct_data(Archive & ar, Foo* foo, const unsigned int /*version*/)
+{
+ std::cout << __FUNCTION__ << " called" << std::endl;
+ int bar;
+ ar & bar;
+ ::new(foo) Foo(bar);
+}
+
+} // serialization
+} // boost
+
+
+int main()
+{
+ boost::optional<Foo> oldFoo = Foo(10);
+ std::ostringstream outStream;
+ boost::archive::text_oarchive outArchive(outStream);
+ outArchive & oldFoo;
+
+ boost::optional<Foo> newFoo;
+ std::istringstream inStream(outStream.str());
+ boost::archive::text_iarchive inArchive(inStream);
+ inArchive & newFoo;
+
+ return !(newFoo == oldFoo);
+}
+
+#elif 0
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// test_optional.cpp
+
+// (C) Copyright 2004 Pavel Vozenilek
+// Use, modification and distribution is 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)
+
+// should pass compilation and execution
+
+#include <cstddef> // NULL
+#include <cstdio> // remove
+#include <fstream>
+
+#include <boost/config.hpp>
+
+#if defined(BOOST_NO_STDC_NAMESPACE)
+namespace std{
+ using ::remove;
+}
+#endif
+
+#include <boost/archive/archive_exception.hpp>
+
+#define BOOST_ARCHIVE_TEST xml_archive.hpp
+
+#include "test_tools.hpp"
+
+#include <boost/serialization/optional.hpp>
+
+#include "A.hpp"
+#include "A.ipp"
+
+int test_main( int /* argc */, char* /* argv */[] )
+{
+ const char * testfile = boost::archive::tmpnam(NULL);
+ BOOST_REQUIRE(NULL != testfile);
+
+ const boost::optional<int> aoptional1;
+ const boost::optional<int> aoptional2(123);
+ {
+ test_ostream os(testfile, TEST_STREAM_FLAGS);
+ test_oarchive oa(os, TEST_ARCHIVE_FLAGS);
+ //oa << boost::serialization::make_nvp("aoptional1",aoptional1);
+ //oa << boost::serialization::make_nvp("aoptional2",aoptional2);
+ }
+ /*
+ boost::optional<int> aoptional1a(999);
+ boost::optional<int> aoptional2a;
+ {
+ test_istream is(testfile, TEST_STREAM_FLAGS);
+ test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
+ ia >> boost::serialization::make_nvp("aoptional1",aoptional1a);
+ ia >> boost::serialization::make_nvp("aoptional2",aoptional2a);
+ }
+ BOOST_CHECK(aoptional1 == aoptional1a);
+ BOOST_CHECK(aoptional2 == aoptional2a);
+ */
+ std::remove(testfile);
+ return EXIT_SUCCESS;
+}
+
+// EOF
+
+#elif 0
+
+#include <fstream>
+
+#include <boost/archive/xml_woarchive.hpp>
+#include <boost/archive/xml_wiarchive.hpp>
+#include <boost/serialization/string.hpp>
+
+#include "test_tools.hpp"
+
+int test_main(int, char *argv[])
+{
+ const char * testfile = boost::archive::tmpnam(NULL);
+ std::string s1 = "kkkabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz";
+ std::wstring w1 = L"kkk";
+ std::wstring w2 = L"апр"; // some non-latin (for example russians) letters
+ {
+ std::wofstream ofs(testfile);
+ {
+ boost::archive::xml_woarchive oa(ofs);
+ oa << boost::serialization::make_nvp("key1", s1);
+ //oa << boost::serialization::make_nvp("key2", w1);
+ //oa << boost::serialization::make_nvp("key3", w2); // here exception is thrown
+ }
+ }
+ std::string new_s1;
+ //std::wstring new_w1;
+ //std::wstring new_w2;
+ {
+ std::wifstream ifs(testfile);
+ {
+ boost::archive::xml_wiarchive ia(ifs);
+ ia >> boost::serialization::make_nvp("key1", new_s1);
+ //ia >> boost::serialization::make_nvp("key2", new_w1);
+ //ia >> boost::serialization::make_nvp("key3", new_w2); // here exception is thrown
+ }
+ }
+ BOOST_CHECK(s1 == new_s1);
+ //BOOST_CHECK(w1 == new_w1);
+ //BOOST_CHECK(w2 == new_w2);
+ return 0;
+}
+
+#elif 0
+
+#include <boost/archive/xml_oarchive.hpp>
+#include <boost/serialization/nvp.hpp>
+
+#include <iostream>
+
+int main() {
+ boost::archive::xml_oarchive oa( std::cerr );
+ int bob = 3;
+ oa << boost::serialization::make_nvp( "bob", bob );
+}
+
+#elif 0
+
+#include <fstream>
+#include <vector>
+#include <iostream>
+
+//#include <boost/shared_ptr.hpp>
+#include <boost/archive/binary_iarchive.hpp>
+#include <boost/serialization/nvp.hpp>
+#include <boost/serialization/shared_ptr.hpp>
+#include <boost/serialization/vector.hpp>
+
+struct boxed_int
+{
+ boxed_int() : i(0) {}
+ boxed_int(int i) : i(i) {}
+ int i;
+ template<class Archive>
+ void serialize(Archive &ar, unsigned version)
+ {
+ ar & BOOST_SERIALIZATION_NVP(i);
+ }
+};
+typedef boost::shared_ptr<boxed_int> pi;
+
+void go(std::istream &is) {
+ std::vector<pi> vv;
+ try
+ {
+ boost::archive::binary_iarchive ia(is);
+ ia & vv;
+ }
+ catch(std::exception &e) {}
+}
+
+int main(int argc, char **argv) {
+ if(argc > 1) {
+ std::ifstream is(argv[1]);
+ go(is);
+ } else {
+ go(std::cin);
+ }
+
+ return 0;
+}
+
+#elif 0
+
+#include <cassert>
+#include <string>
+
+#include <boost/archive/iterators/base64_from_binary.hpp>
+#include <boost/archive/iterators/transform_width.hpp>
+
+namespace bai = boost::archive::iterators;
+int main()
+{
+ std::string input =
+ "A large rose-tree stood near the entrance of the garden: the roses growing on it were white, but there were "
+ "three gardeners at it, busily painting them red. Alice thought this a very curious thing, and she went nearer "
+ "to watch them, and just as she came up to them she heard one of them say, 'Look out now, Five! Don't go "
+ "splashing paint over me like that!''I couldn't help it,' said Five, in a sulky tone; 'Seven jogged my "
+ "elbow.'On which Seven looked up and said, 'That's right, Five! Always lay the blame on others!''You'd better "
+ "not talk!' said Five. 'I heard the Queen say only yesterday you deserved to be beheaded!''What for?' said the "
+ "one who had spoken first.'That's none of your business, Two!' said Seven.'Yes, it is his business!' said "
+ "Five, 'and I'll tell him—it was for bringing the cook tulip-roots instead of onions.'Seven flung down his "
+ "brush, and had just begun 'Well, of all the unjust things—' when his eye chanced to fall upon Alice, as she "
+ "stood watching them, and he checked himself suddenly: the others looked round also, and all of them bowed "
+ "low.'Would you tell me,' said Alice, a little timidly, 'why you are painting those roses?'Five and Seven said "
+ "nothing, but looked at Two. Two began in a low voice, 'Why the fact is, you see, Miss, this here ought to "
+ "have been a red rose-tree, and we put a white one in by mistake; and if the Queen was to find it out, we "
+ "should all have our heads cut off, you know. So you see, Miss, we're doing our best, afore she comes, to—' At "
+ "this moment Five, who had been anxiously looking across the garden, called out 'The Queen! The Queen!' and "
+ "the three gardeners instantly threw themselves flat upon their faces. There was a sound of many footsteps, "
+ "and Alice looked round, eager to see the Queen.First came ten soldiers carrying clubs; these were all shaped "
+ "like the three gardeners, oblong and flat, with their hands and feet at the corners: next the ten courtiers; "
+ "these were ornamented all over with diamonds, and walked two and two, as the soldiers did. After these came "
+ "the royal children; there were ten of them, and the little dears came jumping merrily along hand in hand, in "
+ "couples: they were all ornamented with hearts. Next came the guests, mostly Kings and Queens, and among them "
+ "Alice recognised the White Rabbit: it was talking in a hurried nervous manner, smiling at everything that was "
+ "said, and went by without noticing her. Then followed the Knave of Hearts, carrying the King's crown on a "
+ "crimson velvet cushion; and, last of all this grand procession, came THE KING AND QUEEN OF HEARTS.Alice was "
+ "rather doubtful whether she ought not to lie down on her face like the three gardeners, but she could not "
+ "remember ever having heard of such a rule at processions; 'and besides, what would be the use of a "
+ "procession,' thought she, 'if people had all to lie down upon their faces, so that they couldn't see it?' So "
+ "she stood still where she was, and waited.When the procession came opposite to Alice, they all stopped and "
+ "looked at her, and the Queen said severely 'Who is this?' She said it to the Knave of Hearts, who only bowed "
+ "and smiled in reply.'Idiot!' said the Queen, tossing her head impatiently; and, turning to Alice, she went "
+ "on, 'What's your name, child?''My name is Alice, so please your Majesty,' said Alice very politely; but she "
+ "added, to herself, 'Why, they're only a pack of cards, after all. I needn't be afraid of them!''And who are "
+ "these?' said the Queen, pointing to the three gardeners who were lying round the rosetree; for, you see, as "
+ "they were lying on their faces, and the pattern on their backs was the same as the rest of the pack, she "
+ "could not tell whether they were gardeners, or soldiers, or courtiers, or three of her own children.'How "
+ "should I know?' said Alice, surprised at her own courage. 'It's no business of mine.'The Queen turned crimson "
+ "with fury, and, after glaring at her for a moment like a wild beast, screamed 'Off with her head! "
+ "Off—''Nonsense!' said Alice, very loudly and decidedly, and the Queen was silent.The King laid his hand upon "
+ "her arm, and timidly said 'Consider, my dear: she is only a child!'The Queen turned angrily away from him, "
+ "and said to the Knave 'Turn them over!'The Knave did so, very carefully, with one foot.'Get up!' said the "
+ "Queen, in a shrill, loud voice, and the three gardeners instantly jumped up, and began bowing to the King, "
+ "the Queen, the royal children, and everybody else.'Leave off that!' screamed the Queen. 'You make me giddy.' "
+ "And then, turning to the rose-tree, she went on, 'What have you been doing here?''May it please your "
+ "Majesty,' said Two, in a very humble tone, going down on one knee as he spoke, 'we were trying—''I see!' said "
+ "the Queen, who had meanwhile been examining the roses. 'Off with their heads!' and the procession moved on, "
+ "three of the soldiers remaining behind to execute the unfortunate gardeners, who ran to Alice for "
+ "protection.'You shan't be beheaded!' said Alice, and she put them into a large flower-pot that stood near. "
+ "The three soldiers wandered about for a minute or two, looking for them, and then quietly marched off after "
+ "the others.'Are their heads off?' shouted the Queen.'Their heads are gone, if it please your Majesty!' the "
+ "soldiers shouted in reply.'That's right!' shouted the Queen. 'Can you play croquet?'The soldiers were silent, "
+ "and looked at Alice, as the question was evidently meant for her.'Yes!' shouted Alice.'Come on, then!' roared "
+ "the Queen, and Alice joined the procession, wondering very much what would happen next.'It's—it's a very fine "
+ "day!' said a timid voice at her side. She was walking by the White Rabbit, who was peeping anxiously into her "
+ "face.'Very,' said Alice: '—where's the Duchess?''Hush! Hush!' said the Rabbit in a low, hurried tone. He "
+ "looked anxiously over his shoulder as he spoke, and then raised himself upon tiptoe, put his mouth close to "
+ "her ear, and whispered 'She's under sentence of execution.''What for?' said Alice.'Did you say \"What a "
+ "pity!\"?' the Rabbit asked.'No, I didn't,' said Alice: 'I don't think it's at all a pity. I said \"What "
+ "for?\"''She boxed the Queen's ears—' the Rabbit began. Alice gave a little scream of laughter. 'Oh, hush!' "
+ "the Rabbit whispered in a frightened tone. 'The Queen will hear you! You see, she came rather late, and the "
+ "Queen said—''Get to your places!' shouted the Queen in a voice of thunder, and people began running about in "
+ "all directions, tumbling up against each other; however, they got settled down in a minute or two, and the "
+ "game began. Alice thought she had never seen such a curious croquet-ground in her life; it was all ridges and "
+ "furrows; the balls were live hedgehogs, the mallets live flamingoes, and the soldiers had to double "
+ "themselves up and to stand on their hands and feet, to make the arches.The chief difficulty Alice found at "
+ "first was in managing her flamingo: she succeeded in getting its body tucked away, comfortably enough, under "
+ "her arm, with its legs hanging down, but generally, just as she had got its neck nicely straightened out, and "
+ "was going to give the hedgehog a blow with its head, it would twist itself round and look up in her face, "
+ "with such a puzzled expression that she could not help bursting out laughing: and when she had got its head "
+ "down, and was going to begin again, it was very provoking to find that the hedgehog had unrolled itself, and "
+ "was in the act of crawling away: besides all this, there was generally a ridge or furrow in the way wherever "
+ "she wanted to send the hedgehog to, and, as the doubled-up soldiers were always getting up and walking off to "
+ "other parts of the ground, Alice soon came to the conclusion that it was a very difficult game indeed.The "
+ "players all played at once without waiting for turns, quarrelling all the while, and fighting for the "
+ "hedgehogs; and in a very short time the Queen was in a furious passion, and went stamping about, and shouting "
+ "'Off with his head!' or 'Off with her head!' about once in a minute.Alice began to feel very uneasy: to be "
+ "sure, she had not as yet had any dispute with the Queen, but she knew that it might happen any minute, 'and "
+ "then,' thought she, 'what would become of me? They're dreadfully fond of beheading people here; the great "
+ "wonder is, that there's any one left alive!'She was looking about for some way of escape, and wondering "
+ "whether she could get away without being seen, when she noticed a curious appearance in the air: it puzzled "
+ "her very much at first, but, after watching it a minute or two, she made it out to be a grin, and she said to "
+ "herself 'It's the Cheshire Cat: now I shall have somebody to talk to.''How are you getting on?' said the Cat, "
+ "as soon as there was mouth enough for it to speak with.Alice waited till the eyes appeared, and then nodded. "
+ "'It's no use speaking to it,' she thought, 'till its ears have come, or at least one of them.' In another "
+ "minute the whole head appeared, and then Alice put down her flamingo, and began an account of the game, "
+ "feeling very glad she had someone to listen to her. The Cat seemed to think that there was enough of it now "
+ "in sight, and no more of it appeared.'I don't think they play at all fairly,' Alice began, in rather a "
+ "complaining tone, 'and they all quarrel so dreadfully one can't hear oneself speak—and they don't seem to "
+ "have any rules in particular; at least, if there are, nobody attends to them—and you've no idea how confusing "
+ "it is all the things being alive; for instance, there's the arch I've got to go through next walking about at "
+ "the other end of the ground—and I should have croqueted the Queen's hedgehog just now, only it ran away when "
+ "it saw mine coming!''How do you like the Queen?' said the Cat in a low voice.'Not at all,' said Alice: 'she's "
+ "so extremely—' Just then she noticed that the Queen was close behind her, listening: so she went on, '—likely "
+ "to win, that it's hardly worth while finishing the game.'The Queen smiled and passed on.'Who are you talking "
+ "to?' said the King, going up to Alice, and looking at the Cat's head with great curiosity.'It's a friend of "
+ "mine—a Cheshire Cat,' said Alice: 'allow me to introduce it.''I don't like the look of it at all,' said the "
+ "King: 'however, it may kiss my hand if it likes.''I'd rather not,' the Cat remarked.'Don't be impertinent,' "
+ "said the King, 'and don't look at me like that!' He got behind Alice as he spoke.'A cat may look at a king,' "
+ "said Alice. 'I've read that in some book, but I don't remember where.''Well, it must be removed,' said the "
+ "King very decidedly, and he called the Queen, who was passing at the moment, 'My dear! I wish you would have "
+ "this cat removed!'The Queen had only one way of settling all difficulties, great or small. 'Off with his "
+ "head!' she said, without even looking round.'I'll fetch the executioner myself,' said the King eagerly, and "
+ "he hurried off.Alice thought she might as well go back, and see how the game was going on, as she heard the "
+ "Queen's voice in the distance, screaming with passion. She had already heard her sentence three of the "
+ "players to be executed for having missed their turns, and she did not like the look of things at all, as the "
+ "game was in such confusion that she never knew whether it was her turn or not. So she went in search of her "
+ "hedgehog.The hedgehog was engaged in a fight with another hedgehog, which seemed to Alice an excellent "
+ "opportunity for croqueting one of them with the other: the only difficulty was, that her flamingo was gone "
+ "across to the other side of the garden, where Alice could see it trying in a helpless sort of way to fly up "
+ "into a tree.By the time she had caught the flamingo and brought it back, the fight was over, and both the "
+ "hedgehogs were out of sight: 'but it doesn't matter much,' thought Alice, 'as all the arches are gone from "
+ "this side of the ground.' So she tucked it away under her arm, that it might not escape again, and went back "
+ "for a little more conversation with her friend.When she got back to the Cheshire Cat, she was surprised to "
+ "find quite a large crowd collected round it: there was a dispute going on between the executioner, the King, "
+ "and the Queen, who were all talking at once, while all the rest were quite silent, and looked very "
+ "uncomfortable.The moment Alice appeared, she was appealed to by all three to settle the question, and they "
+ "repeated their arguments to her, though, as they all spoke at once, she found it very hard indeed to make out "
+ "exactly what they said.The executioner's argument was, that you couldn't cut off a head unless there was a "
+ "body to cut it off from: that he had never had to do such a thing before, and he wasn't going to begin at his "
+ "time of life.The King's argument was, that anything that had a head could be beheaded, and that you weren't "
+ "to talk nonsense.The Queen's argument was, that if something wasn't done about it in less than no time she'd "
+ "have everybody executed, all round. (It was this last remark that had made the whole party look so grave and "
+ "anxious.)Alice could think of nothing else to say but 'It belongs to the Duchess: you'd better ask her about "
+ "it.''She's in prison,' the Queen said to the executioner: 'fetch her here.' And the executioner went off like "
+ "an arrow.The Cat's head began fading away the moment he was gone, and, by the time he had come back with the "
+ "Duchess, it had entirely disappeared; so the King and the executioner ran wildly up and down looking for it, "
+ "while the rest of the party went back to the game.";
+ std::string output =
+ "QSBsYXJnZSByb3NlLXRyZWUgc3Rvb2QgbmVhciB0aGUgZW50cmFuY2Ugb2YgdGhlIGdhcmRlbjogdGhlIHJvc2VzIGdyb3dpbmcgb24gaXQgd2"
+ "VyZSB3aGl0ZSwgYnV0IHRoZXJlIHdlcmUgdGhyZWUgZ2FyZGVuZXJzIGF0IGl0LCBidXNpbHkgcGFpbnRpbmcgdGhlbSByZWQuIEFsaWNlIHRo"
+ "b3VnaHQgdGhpcyBhIHZlcnkgY3VyaW91cyB0aGluZywgYW5kIHNoZSB3ZW50IG5lYXJlciB0byB3YXRjaCB0aGVtLCBhbmQganVzdCBhcyBzaG"
+ "UgY2FtZSB1cCB0byB0aGVtIHNoZSBoZWFyZCBvbmUgb2YgdGhlbSBzYXksICdMb29rIG91dCBub3csIEZpdmUhIERvbid0IGdvIHNwbGFzaGlu"
+ "ZyBwYWludCBvdmVyIG1lIGxpa2UgdGhhdCEnJ0kgY291bGRuJ3QgaGVscCBpdCwnIHNhaWQgRml2ZSwgaW4gYSBzdWxreSB0b25lOyAnU2V2ZW"
+ "4gam9nZ2VkIG15IGVsYm93LidPbiB3aGljaCBTZXZlbiBsb29rZWQgdXAgYW5kIHNhaWQsICdUaGF0J3MgcmlnaHQsIEZpdmUhIEFsd2F5cyBs"
+ "YXkgdGhlIGJsYW1lIG9uIG90aGVycyEnJ1lvdSdkIGJldHRlciBub3QgdGFsayEnIHNhaWQgRml2ZS4gJ0kgaGVhcmQgdGhlIFF1ZWVuIHNheS"
+ "Bvbmx5IHllc3RlcmRheSB5b3UgZGVzZXJ2ZWQgdG8gYmUgYmVoZWFkZWQhJydXaGF0IGZvcj8nIHNhaWQgdGhlIG9uZSB3aG8gaGFkIHNwb2tl"
+ "biBmaXJzdC4nVGhhdCdzIG5vbmUgb2YgeW91ciBidXNpbmVzcywgVHdvIScgc2FpZCBTZXZlbi4nWWVzLCBpdCBpcyBoaXMgYnVzaW5lc3MhJy"
+ "BzYWlkIEZpdmUsICdhbmQgSSdsbCB0ZWxsIGhpbeKAlGl0IHdhcyBmb3IgYnJpbmdpbmcgdGhlIGNvb2sgdHVsaXAtcm9vdHMgaW5zdGVhZCBv"
+ "ZiBvbmlvbnMuJ1NldmVuIGZsdW5nIGRvd24gaGlzIGJydXNoLCBhbmQgaGFkIGp1c3QgYmVndW4gJ1dlbGwsIG9mIGFsbCB0aGUgdW5qdXN0IH"
+ "RoaW5nc+"
+ "KAlCcgd2hlbiBoaXMgZXllIGNoYW5jZWQgdG8gZmFsbCB1cG9uIEFsaWNlLCBhcyBzaGUgc3Rvb2Qgd2F0Y2hpbmcgdGhlbSwgYW5kIGhlIGNo"
+ "ZWNrZWQgaGltc2VsZiBzdWRkZW5seTogdGhlIG90aGVycyBsb29rZWQgcm91bmQgYWxzbywgYW5kIGFsbCBvZiB0aGVtIGJvd2VkIGxvdy4nV2"
+ "91bGQgeW91IHRlbGwgbWUsJyBzYWlkIEFsaWNlLCBhIGxpdHRsZSB0aW1pZGx5LCAnd2h5IHlvdSBhcmUgcGFpbnRpbmcgdGhvc2Ugcm9zZXM/"
+ "J0ZpdmUgYW5kIFNldmVuIHNhaWQgbm90aGluZywgYnV0IGxvb2tlZCBhdCBUd28uIFR3byBiZWdhbiBpbiBhIGxvdyB2b2ljZSwgJ1doeSB0aG"
+ "UgZmFjdCBpcywgeW91IHNlZSwgTWlzcywgdGhpcyBoZXJlIG91Z2h0IHRvIGhhdmUgYmVlbiBhIHJlZCByb3NlLXRyZWUsIGFuZCB3ZSBwdXQg"
+ "YSB3aGl0ZSBvbmUgaW4gYnkgbWlzdGFrZTsgYW5kIGlmIHRoZSBRdWVlbiB3YXMgdG8gZmluZCBpdCBvdXQsIHdlIHNob3VsZCBhbGwgaGF2ZS"
+ "BvdXIgaGVhZHMgY3V0IG9mZiwgeW91IGtub3cuIFNvIHlvdSBzZWUsIE1pc3MsIHdlJ3JlIGRvaW5nIG91ciBiZXN0LCBhZm9yZSBzaGUgY29t"
+ "ZXMsIHRv4oCUJyBBdCB0aGlzIG1vbWVudCBGaXZlLCB3aG8gaGFkIGJlZW4gYW54aW91c2x5IGxvb2tpbmcgYWNyb3NzIHRoZSBnYXJkZW4sIG"
+ "NhbGxlZCBvdXQgJ1RoZSBRdWVlbiEgVGhlIFF1ZWVuIScgYW5kIHRoZSB0aHJlZSBnYXJkZW5lcnMgaW5zdGFudGx5IHRocmV3IHRoZW1zZWx2"
+ "ZXMgZmxhdCB1cG9uIHRoZWlyIGZhY2VzLiBUaGVyZSB3YXMgYSBzb3VuZCBvZiBtYW55IGZvb3RzdGVwcywgYW5kIEFsaWNlIGxvb2tlZCByb3"
+ "VuZCwgZWFnZXIgdG8gc2VlIHRoZSBRdWVlbi5GaXJzdCBjYW1lIHRlbiBzb2xkaWVycyBjYXJyeWluZyBjbHViczsgdGhlc2Ugd2VyZSBhbGwg"
+ "c2hhcGVkIGxpa2UgdGhlIHRocmVlIGdhcmRlbmVycywgb2Jsb25nIGFuZCBmbGF0LCB3aXRoIHRoZWlyIGhhbmRzIGFuZCBmZWV0IGF0IHRoZS"
+ "Bjb3JuZXJzOiBuZXh0IHRoZSB0ZW4gY291cnRpZXJzOyB0aGVzZSB3ZXJlIG9ybmFtZW50ZWQgYWxsIG92ZXIgd2l0aCBkaWFtb25kcywgYW5k"
+ "IHdhbGtlZCB0d28gYW5kIHR3bywgYXMgdGhlIHNvbGRpZXJzIGRpZC4gQWZ0ZXIgdGhlc2UgY2FtZSB0aGUgcm95YWwgY2hpbGRyZW47IHRoZX"
+ "JlIHdlcmUgdGVuIG9mIHRoZW0sIGFuZCB0aGUgbGl0dGxlIGRlYXJzIGNhbWUganVtcGluZyBtZXJyaWx5IGFsb25nIGhhbmQgaW4gaGFuZCwg"
+ "aW4gY291cGxlczogdGhleSB3ZXJlIGFsbCBvcm5hbWVudGVkIHdpdGggaGVhcnRzLiBOZXh0IGNhbWUgdGhlIGd1ZXN0cywgbW9zdGx5IEtpbm"
+ "dzIGFuZCBRdWVlbnMsIGFuZCBhbW9uZyB0aGVtIEFsaWNlIHJlY29nbmlzZWQgdGhlIFdoaXRlIFJhYmJpdDogaXQgd2FzIHRhbGtpbmcgaW4g"
+ "YSBodXJyaWVkIG5lcnZvdXMgbWFubmVyLCBzbWlsaW5nIGF0IGV2ZXJ5dGhpbmcgdGhhdCB3YXMgc2FpZCwgYW5kIHdlbnQgYnkgd2l0aG91dC"
+ "Bub3RpY2luZyBoZXIuIFRoZW4gZm9sbG93ZWQgdGhlIEtuYXZlIG9mIEhlYXJ0cywgY2FycnlpbmcgdGhlIEtpbmcncyBjcm93biBvbiBhIGNy"
+ "aW1zb24gdmVsdmV0IGN1c2hpb247IGFuZCwgbGFzdCBvZiBhbGwgdGhpcyBncmFuZCBwcm9jZXNzaW9uLCBjYW1lIFRIRSBLSU5HIEFORCBRVU"
+ "VFTiBPRiBIRUFSVFMuQWxpY2Ugd2FzIHJhdGhlciBkb3VidGZ1bCB3aGV0aGVyIHNoZSBvdWdodCBub3QgdG8gbGllIGRvd24gb24gaGVyIGZh"
+ "Y2UgbGlrZSB0aGUgdGhyZWUgZ2FyZGVuZXJzLCBidXQgc2hlIGNvdWxkIG5vdCByZW1lbWJlciBldmVyIGhhdmluZyBoZWFyZCBvZiBzdWNoIG"
+ "EgcnVsZSBhdCBwcm9jZXNzaW9uczsgJ2FuZCBiZXNpZGVzLCB3aGF0IHdvdWxkIGJlIHRoZSB1c2Ugb2YgYSBwcm9jZXNzaW9uLCcgdGhvdWdo"
+ "dCBzaGUsICdpZiBwZW9wbGUgaGFkIGFsbCB0byBsaWUgZG93biB1cG9uIHRoZWlyIGZhY2VzLCBzbyB0aGF0IHRoZXkgY291bGRuJ3Qgc2VlIG"
+ "l0PycgU28gc2hlIHN0b29kIHN0aWxsIHdoZXJlIHNoZSB3YXMsIGFuZCB3YWl0ZWQuV2hlbiB0aGUgcHJvY2Vzc2lvbiBjYW1lIG9wcG9zaXRl"
+ "IHRvIEFsaWNlLCB0aGV5IGFsbCBzdG9wcGVkIGFuZCBsb29rZWQgYXQgaGVyLCBhbmQgdGhlIFF1ZWVuIHNhaWQgc2V2ZXJlbHkgJ1dobyBpcy"
+ "B0aGlzPycgU2hlIHNhaWQgaXQgdG8gdGhlIEtuYXZlIG9mIEhlYXJ0cywgd2hvIG9ubHkgYm93ZWQgYW5kIHNtaWxlZCBpbiByZXBseS4nSWRp"
+ "b3QhJyBzYWlkIHRoZSBRdWVlbiwgdG9zc2luZyBoZXIgaGVhZCBpbXBhdGllbnRseTsgYW5kLCB0dXJuaW5nIHRvIEFsaWNlLCBzaGUgd2VudC"
+ "BvbiwgJ1doYXQncyB5b3VyIG5hbWUsIGNoaWxkPycnTXkgbmFtZSBpcyBBbGljZSwgc28gcGxlYXNlIHlvdXIgTWFqZXN0eSwnIHNhaWQgQWxp"
+ "Y2UgdmVyeSBwb2xpdGVseTsgYnV0IHNoZSBhZGRlZCwgdG8gaGVyc2VsZiwgJ1doeSwgdGhleSdyZSBvbmx5IGEgcGFjayBvZiBjYXJkcywgYW"
+ "Z0ZXIgYWxsLiBJIG5lZWRuJ3QgYmUgYWZyYWlkIG9mIHRoZW0hJydBbmQgd2hvIGFyZSB0aGVzZT8nIHNhaWQgdGhlIFF1ZWVuLCBwb2ludGlu"
+ "ZyB0byB0aGUgdGhyZWUgZ2FyZGVuZXJzIHdobyB3ZXJlIGx5aW5nIHJvdW5kIHRoZSByb3NldHJlZTsgZm9yLCB5b3Ugc2VlLCBhcyB0aGV5IH"
+ "dlcmUgbHlpbmcgb24gdGhlaXIgZmFjZXMsIGFuZCB0aGUgcGF0dGVybiBvbiB0aGVpciBiYWNrcyB3YXMgdGhlIHNhbWUgYXMgdGhlIHJlc3Qg"
+ "b2YgdGhlIHBhY2ssIHNoZSBjb3VsZCBub3QgdGVsbCB3aGV0aGVyIHRoZXkgd2VyZSBnYXJkZW5lcnMsIG9yIHNvbGRpZXJzLCBvciBjb3VydG"
+ "llcnMsIG9yIHRocmVlIG9mIGhlciBvd24gY2hpbGRyZW4uJ0hvdyBzaG91bGQgSSBrbm93Pycgc2FpZCBBbGljZSwgc3VycHJpc2VkIGF0IGhl"
+ "ciBvd24gY291cmFnZS4gJ0l0J3Mgbm8gYnVzaW5lc3Mgb2YgbWluZS4nVGhlIFF1ZWVuIHR1cm5lZCBjcmltc29uIHdpdGggZnVyeSwgYW5kLC"
+ "BhZnRlciBnbGFyaW5nIGF0IGhlciBmb3IgYSBtb21lbnQgbGlrZSBhIHdpbGQgYmVhc3QsIHNjcmVhbWVkICdPZmYgd2l0aCBoZXIgaGVhZCEg"
+ "T2Zm4oCUJydOb25zZW5zZSEnIHNhaWQgQWxpY2UsIHZlcnkgbG91ZGx5IGFuZCBkZWNpZGVkbHksIGFuZCB0aGUgUXVlZW4gd2FzIHNpbGVudC"
+ "5UaGUgS2luZyBsYWlkIGhpcyBoYW5kIHVwb24gaGVyIGFybSwgYW5kIHRpbWlkbHkgc2FpZCAnQ29uc2lkZXIsIG15IGRlYXI6IHNoZSBpcyBv"
+ "bmx5IGEgY2hpbGQhJ1RoZSBRdWVlbiB0dXJuZWQgYW5ncmlseSBhd2F5IGZyb20gaGltLCBhbmQgc2FpZCB0byB0aGUgS25hdmUgJ1R1cm4gdG"
+ "hlbSBvdmVyISdUaGUgS25hdmUgZGlkIHNvLCB2ZXJ5IGNhcmVmdWxseSwgd2l0aCBvbmUgZm9vdC4nR2V0IHVwIScgc2FpZCB0aGUgUXVlZW4s"
+ "IGluIGEgc2hyaWxsLCBsb3VkIHZvaWNlLCBhbmQgdGhlIHRocmVlIGdhcmRlbmVycyBpbnN0YW50bHkganVtcGVkIHVwLCBhbmQgYmVnYW4gYm"
+ "93aW5nIHRvIHRoZSBLaW5nLCB0aGUgUXVlZW4sIHRoZSByb3lhbCBjaGlsZHJlbiwgYW5kIGV2ZXJ5Ym9keSBlbHNlLidMZWF2ZSBvZmYgdGhh"
+ "dCEnIHNjcmVhbWVkIHRoZSBRdWVlbi4gJ1lvdSBtYWtlIG1lIGdpZGR5LicgQW5kIHRoZW4sIHR1cm5pbmcgdG8gdGhlIHJvc2UtdHJlZSwgc2"
+ "hlIHdlbnQgb24sICdXaGF0IGhhdmUgeW91IGJlZW4gZG9pbmcgaGVyZT8nJ01heSBpdCBwbGVhc2UgeW91ciBNYWplc3R5LCcgc2FpZCBUd28s"
+ "IGluIGEgdmVyeSBodW1ibGUgdG9uZSwgZ29pbmcgZG93biBvbiBvbmUga25lZSBhcyBoZSBzcG9rZSwgJ3dlIHdlcmUgdHJ5aW5n4oCUJydJIH"
+ "NlZSEnIHNhaWQgdGhlIFF1ZWVuLCB3aG8gaGFkIG1lYW53aGlsZSBiZWVuIGV4YW1pbmluZyB0aGUgcm9zZXMuICdPZmYgd2l0aCB0aGVpciBo"
+ "ZWFkcyEnIGFuZCB0aGUgcHJvY2Vzc2lvbiBtb3ZlZCBvbiwgdGhyZWUgb2YgdGhlIHNvbGRpZXJzIHJlbWFpbmluZyBiZWhpbmQgdG8gZXhlY3"
+ "V0ZSB0aGUgdW5mb3J0dW5hdGUgZ2FyZGVuZXJzLCB3aG8gcmFuIHRvIEFsaWNlIGZvciBwcm90ZWN0aW9uLidZb3Ugc2hhbid0IGJlIGJlaGVh"
+ "ZGVkIScgc2FpZCBBbGljZSwgYW5kIHNoZSBwdXQgdGhlbSBpbnRvIGEgbGFyZ2UgZmxvd2VyLXBvdCB0aGF0IHN0b29kIG5lYXIuIFRoZSB0aH"
+ "JlZSBzb2xkaWVycyB3YW5kZXJlZCBhYm91dCBmb3IgYSBtaW51dGUgb3IgdHdvLCBsb29raW5nIGZvciB0aGVtLCBhbmQgdGhlbiBxdWlldGx5"
+ "IG1hcmNoZWQgb2ZmIGFmdGVyIHRoZSBvdGhlcnMuJ0FyZSB0aGVpciBoZWFkcyBvZmY/"
+ "JyBzaG91dGVkIHRoZSBRdWVlbi4nVGhlaXIgaGVhZHMgYXJlIGdvbmUsIGlmIGl0IHBsZWFzZSB5b3VyIE1hamVzdHkhJyB0aGUgc29sZGllcn"
+ "Mgc2hvdXRlZCBpbiByZXBseS4nVGhhdCdzIHJpZ2h0IScgc2hvdXRlZCB0aGUgUXVlZW4uICdDYW4geW91IHBsYXkgY3JvcXVldD8nVGhlIHNv"
+ "bGRpZXJzIHdlcmUgc2lsZW50LCBhbmQgbG9va2VkIGF0IEFsaWNlLCBhcyB0aGUgcXVlc3Rpb24gd2FzIGV2aWRlbnRseSBtZWFudCBmb3IgaG"
+ "VyLidZZXMhJyBzaG91dGVkIEFsaWNlLidDb21lIG9uLCB0aGVuIScgcm9hcmVkIHRoZSBRdWVlbiwgYW5kIEFsaWNlIGpvaW5lZCB0aGUgcHJv"
+ "Y2Vzc2lvbiwgd29uZGVyaW5nIHZlcnkgbXVjaCB3aGF0IHdvdWxkIGhhcHBlbiBuZXh0LidJdCdz4oCUaXQncyBhIHZlcnkgZmluZSBkYXkhJy"
+ "BzYWlkIGEgdGltaWQgdm9pY2UgYXQgaGVyIHNpZGUuIFNoZSB3YXMgd2Fsa2luZyBieSB0aGUgV2hpdGUgUmFiYml0LCB3aG8gd2FzIHBlZXBp"
+ "bmcgYW54aW91c2x5IGludG8gaGVyIGZhY2UuJ1ZlcnksJyBzYWlkIEFsaWNlOiAn4oCUd2hlcmUncyB0aGUgRHVjaGVzcz8nJ0h1c2ghIEh1c2"
+ "ghJyBzYWlkIHRoZSBSYWJiaXQgaW4gYSBsb3csIGh1cnJpZWQgdG9uZS4gSGUgbG9va2VkIGFueGlvdXNseSBvdmVyIGhpcyBzaG91bGRlciBh"
+ "cyBoZSBzcG9rZSwgYW5kIHRoZW4gcmFpc2VkIGhpbXNlbGYgdXBvbiB0aXB0b2UsIHB1dCBoaXMgbW91dGggY2xvc2UgdG8gaGVyIGVhciwgYW"
+ "5kIHdoaXNwZXJlZCAnU2hlJ3MgdW5kZXIgc2VudGVuY2Ugb2YgZXhlY3V0aW9uLicnV2hhdCBmb3I/"
+ "JyBzYWlkIEFsaWNlLidEaWQgeW91IHNheSAiV2hhdCBhIHBpdHkhIj8nIHRoZSBSYWJiaXQgYXNrZWQuJ05vLCBJIGRpZG4ndCwnIHNhaWQgQW"
+ "xpY2U6ICdJIGRvbid0IHRoaW5rIGl0J3MgYXQgYWxsIGEgcGl0eS4gSSBzYWlkICJXaGF0IGZvcj8iJydTaGUgYm94ZWQgdGhlIFF1ZWVuJ3Mg"
+ "ZWFyc+"
+ "KAlCcgdGhlIFJhYmJpdCBiZWdhbi4gQWxpY2UgZ2F2ZSBhIGxpdHRsZSBzY3JlYW0gb2YgbGF1Z2h0ZXIuICdPaCwgaHVzaCEnIHRoZSBSYWJi"
+ "aXQgd2hpc3BlcmVkIGluIGEgZnJpZ2h0ZW5lZCB0b25lLiAnVGhlIFF1ZWVuIHdpbGwgaGVhciB5b3UhIFlvdSBzZWUsIHNoZSBjYW1lIHJhdG"
+ "hlciBsYXRlLCBhbmQgdGhlIFF1ZWVuIHNhaWTigJQnJ0dldCB0byB5b3VyIHBsYWNlcyEnIHNob3V0ZWQgdGhlIFF1ZWVuIGluIGEgdm9pY2Ug"
+ "b2YgdGh1bmRlciwgYW5kIHBlb3BsZSBiZWdhbiBydW5uaW5nIGFib3V0IGluIGFsbCBkaXJlY3Rpb25zLCB0dW1ibGluZyB1cCBhZ2FpbnN0IG"
+ "VhY2ggb3RoZXI7IGhvd2V2ZXIsIHRoZXkgZ290IHNldHRsZWQgZG93biBpbiBhIG1pbnV0ZSBvciB0d28sIGFuZCB0aGUgZ2FtZSBiZWdhbi4g"
+ "QWxpY2UgdGhvdWdodCBzaGUgaGFkIG5ldmVyIHNlZW4gc3VjaCBhIGN1cmlvdXMgY3JvcXVldC1ncm91bmQgaW4gaGVyIGxpZmU7IGl0IHdhcy"
+ "BhbGwgcmlkZ2VzIGFuZCBmdXJyb3dzOyB0aGUgYmFsbHMgd2VyZSBsaXZlIGhlZGdlaG9ncywgdGhlIG1hbGxldHMgbGl2ZSBmbGFtaW5nb2Vz"
+ "LCBhbmQgdGhlIHNvbGRpZXJzIGhhZCB0byBkb3VibGUgdGhlbXNlbHZlcyB1cCBhbmQgdG8gc3RhbmQgb24gdGhlaXIgaGFuZHMgYW5kIGZlZX"
+ "QsIHRvIG1ha2UgdGhlIGFyY2hlcy5UaGUgY2hpZWYgZGlmZmljdWx0eSBBbGljZSBmb3VuZCBhdCBmaXJzdCB3YXMgaW4gbWFuYWdpbmcgaGVy"
+ "IGZsYW1pbmdvOiBzaGUgc3VjY2VlZGVkIGluIGdldHRpbmcgaXRzIGJvZHkgdHVja2VkIGF3YXksIGNvbWZvcnRhYmx5IGVub3VnaCwgdW5kZX"
+ "IgaGVyIGFybSwgd2l0aCBpdHMgbGVncyBoYW5naW5nIGRvd24sIGJ1dCBnZW5lcmFsbHksIGp1c3QgYXMgc2hlIGhhZCBnb3QgaXRzIG5lY2sg"
+ "bmljZWx5IHN0cmFpZ2h0ZW5lZCBvdXQsIGFuZCB3YXMgZ29pbmcgdG8gZ2l2ZSB0aGUgaGVkZ2Vob2cgYSBibG93IHdpdGggaXRzIGhlYWQsIG"
+ "l0IHdvdWxkIHR3aXN0IGl0c2VsZiByb3VuZCBhbmQgbG9vayB1cCBpbiBoZXIgZmFjZSwgd2l0aCBzdWNoIGEgcHV6emxlZCBleHByZXNzaW9u"
+ "IHRoYXQgc2hlIGNvdWxkIG5vdCBoZWxwIGJ1cnN0aW5nIG91dCBsYXVnaGluZzogYW5kIHdoZW4gc2hlIGhhZCBnb3QgaXRzIGhlYWQgZG93bi"
+ "wgYW5kIHdhcyBnb2luZyB0byBiZWdpbiBhZ2FpbiwgaXQgd2FzIHZlcnkgcHJvdm9raW5nIHRvIGZpbmQgdGhhdCB0aGUgaGVkZ2Vob2cgaGFk"
+ "IHVucm9sbGVkIGl0c2VsZiwgYW5kIHdhcyBpbiB0aGUgYWN0IG9mIGNyYXdsaW5nIGF3YXk6IGJlc2lkZXMgYWxsIHRoaXMsIHRoZXJlIHdhcy"
+ "BnZW5lcmFsbHkgYSByaWRnZSBvciBmdXJyb3cgaW4gdGhlIHdheSB3aGVyZXZlciBzaGUgd2FudGVkIHRvIHNlbmQgdGhlIGhlZGdlaG9nIHRv"
+ "LCBhbmQsIGFzIHRoZSBkb3VibGVkLXVwIHNvbGRpZXJzIHdlcmUgYWx3YXlzIGdldHRpbmcgdXAgYW5kIHdhbGtpbmcgb2ZmIHRvIG90aGVyIH"
+ "BhcnRzIG9mIHRoZSBncm91bmQsIEFsaWNlIHNvb24gY2FtZSB0byB0aGUgY29uY2x1c2lvbiB0aGF0IGl0IHdhcyBhIHZlcnkgZGlmZmljdWx0"
+ "IGdhbWUgaW5kZWVkLlRoZSBwbGF5ZXJzIGFsbCBwbGF5ZWQgYXQgb25jZSB3aXRob3V0IHdhaXRpbmcgZm9yIHR1cm5zLCBxdWFycmVsbGluZy"
+ "BhbGwgdGhlIHdoaWxlLCBhbmQgZmlnaHRpbmcgZm9yIHRoZSBoZWRnZWhvZ3M7IGFuZCBpbiBhIHZlcnkgc2hvcnQgdGltZSB0aGUgUXVlZW4g"
+ "d2FzIGluIGEgZnVyaW91cyBwYXNzaW9uLCBhbmQgd2VudCBzdGFtcGluZyBhYm91dCwgYW5kIHNob3V0aW5nICdPZmYgd2l0aCBoaXMgaGVhZC"
+ "EnIG9yICdPZmYgd2l0aCBoZXIgaGVhZCEnIGFib3V0IG9uY2UgaW4gYSBtaW51dGUuQWxpY2UgYmVnYW4gdG8gZmVlbCB2ZXJ5IHVuZWFzeTog"
+ "dG8gYmUgc3VyZSwgc2hlIGhhZCBub3QgYXMgeWV0IGhhZCBhbnkgZGlzcHV0ZSB3aXRoIHRoZSBRdWVlbiwgYnV0IHNoZSBrbmV3IHRoYXQgaX"
+ "QgbWlnaHQgaGFwcGVuIGFueSBtaW51dGUsICdhbmQgdGhlbiwnIHRob3VnaHQgc2hlLCAnd2hhdCB3b3VsZCBiZWNvbWUgb2YgbWU/"
+ "IFRoZXkncmUgZHJlYWRmdWxseSBmb25kIG9mIGJlaGVhZGluZyBwZW9wbGUgaGVyZTsgdGhlIGdyZWF0IHdvbmRlciBpcywgdGhhdCB0aGVyZS"
+ "dzIGFueSBvbmUgbGVmdCBhbGl2ZSEnU2hlIHdhcyBsb29raW5nIGFib3V0IGZvciBzb21lIHdheSBvZiBlc2NhcGUsIGFuZCB3b25kZXJpbmcg"
+ "d2hldGhlciBzaGUgY291bGQgZ2V0IGF3YXkgd2l0aG91dCBiZWluZyBzZWVuLCB3aGVuIHNoZSBub3RpY2VkIGEgY3VyaW91cyBhcHBlYXJhbm"
+ "NlIGluIHRoZSBhaXI6IGl0IHB1enpsZWQgaGVyIHZlcnkgbXVjaCBhdCBmaXJzdCwgYnV0LCBhZnRlciB3YXRjaGluZyBpdCBhIG1pbnV0ZSBv"
+ "ciB0d28sIHNoZSBtYWRlIGl0IG91dCB0byBiZSBhIGdyaW4sIGFuZCBzaGUgc2FpZCB0byBoZXJzZWxmICdJdCdzIHRoZSBDaGVzaGlyZSBDYX"
+ "Q6IG5vdyBJIHNoYWxsIGhhdmUgc29tZWJvZHkgdG8gdGFsayB0by4nJ0hvdyBhcmUgeW91IGdldHRpbmcgb24/"
+ "JyBzYWlkIHRoZSBDYXQsIGFzIHNvb24gYXMgdGhlcmUgd2FzIG1vdXRoIGVub3VnaCBmb3IgaXQgdG8gc3BlYWsgd2l0aC5BbGljZSB3YWl0ZW"
+ "QgdGlsbCB0aGUgZXllcyBhcHBlYXJlZCwgYW5kIHRoZW4gbm9kZGVkLiAnSXQncyBubyB1c2Ugc3BlYWtpbmcgdG8gaXQsJyBzaGUgdGhvdWdo"
+ "dCwgJ3RpbGwgaXRzIGVhcnMgaGF2ZSBjb21lLCBvciBhdCBsZWFzdCBvbmUgb2YgdGhlbS4nIEluIGFub3RoZXIgbWludXRlIHRoZSB3aG9sZS"
+ "BoZWFkIGFwcGVhcmVkLCBhbmQgdGhlbiBBbGljZSBwdXQgZG93biBoZXIgZmxhbWluZ28sIGFuZCBiZWdhbiBhbiBhY2NvdW50IG9mIHRoZSBn"
+ "YW1lLCBmZWVsaW5nIHZlcnkgZ2xhZCBzaGUgaGFkIHNvbWVvbmUgdG8gbGlzdGVuIHRvIGhlci4gVGhlIENhdCBzZWVtZWQgdG8gdGhpbmsgdG"
+ "hhdCB0aGVyZSB3YXMgZW5vdWdoIG9mIGl0IG5vdyBpbiBzaWdodCwgYW5kIG5vIG1vcmUgb2YgaXQgYXBwZWFyZWQuJ0kgZG9uJ3QgdGhpbmsg"
+ "dGhleSBwbGF5IGF0IGFsbCBmYWlybHksJyBBbGljZSBiZWdhbiwgaW4gcmF0aGVyIGEgY29tcGxhaW5pbmcgdG9uZSwgJ2FuZCB0aGV5IGFsbC"
+ "BxdWFycmVsIHNvIGRyZWFkZnVsbHkgb25lIGNhbid0IGhlYXIgb25lc2VsZiBzcGVha+"
+ "KAlGFuZCB0aGV5IGRvbid0IHNlZW0gdG8gaGF2ZSBhbnkgcnVsZXMgaW4gcGFydGljdWxhcjsgYXQgbGVhc3QsIGlmIHRoZXJlIGFyZSwgbm9i"
+ "b2R5IGF0dGVuZHMgdG8gdGhlbeKAlGFuZCB5b3UndmUgbm8gaWRlYSBob3cgY29uZnVzaW5nIGl0IGlzIGFsbCB0aGUgdGhpbmdzIGJlaW5nIG"
+ "FsaXZlOyBmb3IgaW5zdGFuY2UsIHRoZXJlJ3MgdGhlIGFyY2ggSSd2ZSBnb3QgdG8gZ28gdGhyb3VnaCBuZXh0IHdhbGtpbmcgYWJvdXQgYXQg"
+ "dGhlIG90aGVyIGVuZCBvZiB0aGUgZ3JvdW5k4oCUYW5kIEkgc2hvdWxkIGhhdmUgY3JvcXVldGVkIHRoZSBRdWVlbidzIGhlZGdlaG9nIGp1c3"
+ "Qgbm93LCBvbmx5IGl0IHJhbiBhd2F5IHdoZW4gaXQgc2F3IG1pbmUgY29taW5nIScnSG93IGRvIHlvdSBsaWtlIHRoZSBRdWVlbj8nIHNhaWQg"
+ "dGhlIENhdCBpbiBhIGxvdyB2b2ljZS4nTm90IGF0IGFsbCwnIHNhaWQgQWxpY2U6ICdzaGUncyBzbyBleHRyZW1lbHnigJQnIEp1c3QgdGhlbi"
+ "BzaGUgbm90aWNlZCB0aGF0IHRoZSBRdWVlbiB3YXMgY2xvc2UgYmVoaW5kIGhlciwgbGlzdGVuaW5nOiBzbyBzaGUgd2VudCBvbiwgJ+"
+ "KAlGxpa2VseSB0byB3aW4sIHRoYXQgaXQncyBoYXJkbHkgd29ydGggd2hpbGUgZmluaXNoaW5nIHRoZSBnYW1lLidUaGUgUXVlZW4gc21pbGVk"
+ "IGFuZCBwYXNzZWQgb24uJ1dobyBhcmUgeW91IHRhbGtpbmcgdG8/"
+ "JyBzYWlkIHRoZSBLaW5nLCBnb2luZyB1cCB0byBBbGljZSwgYW5kIGxvb2tpbmcgYXQgdGhlIENhdCdzIGhlYWQgd2l0aCBncmVhdCBjdXJpb3"
+ "NpdHkuJ0l0J3MgYSBmcmllbmQgb2YgbWluZeKAlGEgQ2hlc2hpcmUgQ2F0LCcgc2FpZCBBbGljZTogJ2FsbG93IG1lIHRvIGludHJvZHVjZSBp"
+ "dC4nJ0kgZG9uJ3QgbGlrZSB0aGUgbG9vayBvZiBpdCBhdCBhbGwsJyBzYWlkIHRoZSBLaW5nOiAnaG93ZXZlciwgaXQgbWF5IGtpc3MgbXkgaG"
+ "FuZCBpZiBpdCBsaWtlcy4nJ0knZCByYXRoZXIgbm90LCcgdGhlIENhdCByZW1hcmtlZC4nRG9uJ3QgYmUgaW1wZXJ0aW5lbnQsJyBzYWlkIHRo"
+ "ZSBLaW5nLCAnYW5kIGRvbid0IGxvb2sgYXQgbWUgbGlrZSB0aGF0IScgSGUgZ290IGJlaGluZCBBbGljZSBhcyBoZSBzcG9rZS4nQSBjYXQgbW"
+ "F5IGxvb2sgYXQgYSBraW5nLCcgc2FpZCBBbGljZS4gJ0kndmUgcmVhZCB0aGF0IGluIHNvbWUgYm9vaywgYnV0IEkgZG9uJ3QgcmVtZW1iZXIg"
+ "d2hlcmUuJydXZWxsLCBpdCBtdXN0IGJlIHJlbW92ZWQsJyBzYWlkIHRoZSBLaW5nIHZlcnkgZGVjaWRlZGx5LCBhbmQgaGUgY2FsbGVkIHRoZS"
+ "BRdWVlbiwgd2hvIHdhcyBwYXNzaW5nIGF0IHRoZSBtb21lbnQsICdNeSBkZWFyISBJIHdpc2ggeW91IHdvdWxkIGhhdmUgdGhpcyBjYXQgcmVt"
+ "b3ZlZCEnVGhlIFF1ZWVuIGhhZCBvbmx5IG9uZSB3YXkgb2Ygc2V0dGxpbmcgYWxsIGRpZmZpY3VsdGllcywgZ3JlYXQgb3Igc21hbGwuICdPZm"
+ "Ygd2l0aCBoaXMgaGVhZCEnIHNoZSBzYWlkLCB3aXRob3V0IGV2ZW4gbG9va2luZyByb3VuZC4nSSdsbCBmZXRjaCB0aGUgZXhlY3V0aW9uZXIg"
+ "bXlzZWxmLCcgc2FpZCB0aGUgS2luZyBlYWdlcmx5LCBhbmQgaGUgaHVycmllZCBvZmYuQWxpY2UgdGhvdWdodCBzaGUgbWlnaHQgYXMgd2VsbC"
+ "BnbyBiYWNrLCBhbmQgc2VlIGhvdyB0aGUgZ2FtZSB3YXMgZ29pbmcgb24sIGFzIHNoZSBoZWFyZCB0aGUgUXVlZW4ncyB2b2ljZSBpbiB0aGUg"
+ "ZGlzdGFuY2UsIHNjcmVhbWluZyB3aXRoIHBhc3Npb24uIFNoZSBoYWQgYWxyZWFkeSBoZWFyZCBoZXIgc2VudGVuY2UgdGhyZWUgb2YgdGhlIH"
+ "BsYXllcnMgdG8gYmUgZXhlY3V0ZWQgZm9yIGhhdmluZyBtaXNzZWQgdGhlaXIgdHVybnMsIGFuZCBzaGUgZGlkIG5vdCBsaWtlIHRoZSBsb29r"
+ "IG9mIHRoaW5ncyBhdCBhbGwsIGFzIHRoZSBnYW1lIHdhcyBpbiBzdWNoIGNvbmZ1c2lvbiB0aGF0IHNoZSBuZXZlciBrbmV3IHdoZXRoZXIgaX"
+ "Qgd2FzIGhlciB0dXJuIG9yIG5vdC4gU28gc2hlIHdlbnQgaW4gc2VhcmNoIG9mIGhlciBoZWRnZWhvZy5UaGUgaGVkZ2Vob2cgd2FzIGVuZ2Fn"
+ "ZWQgaW4gYSBmaWdodCB3aXRoIGFub3RoZXIgaGVkZ2Vob2csIHdoaWNoIHNlZW1lZCB0byBBbGljZSBhbiBleGNlbGxlbnQgb3Bwb3J0dW5pdH"
+ "kgZm9yIGNyb3F1ZXRpbmcgb25lIG9mIHRoZW0gd2l0aCB0aGUgb3RoZXI6IHRoZSBvbmx5IGRpZmZpY3VsdHkgd2FzLCB0aGF0IGhlciBmbGFt"
+ "aW5nbyB3YXMgZ29uZSBhY3Jvc3MgdG8gdGhlIG90aGVyIHNpZGUgb2YgdGhlIGdhcmRlbiwgd2hlcmUgQWxpY2UgY291bGQgc2VlIGl0IHRyeW"
+ "luZyBpbiBhIGhlbHBsZXNzIHNvcnQgb2Ygd2F5IHRvIGZseSB1cCBpbnRvIGEgdHJlZS5CeSB0aGUgdGltZSBzaGUgaGFkIGNhdWdodCB0aGUg"
+ "ZmxhbWluZ28gYW5kIGJyb3VnaHQgaXQgYmFjaywgdGhlIGZpZ2h0IHdhcyBvdmVyLCBhbmQgYm90aCB0aGUgaGVkZ2Vob2dzIHdlcmUgb3V0IG"
+ "9mIHNpZ2h0OiAnYnV0IGl0IGRvZXNuJ3QgbWF0dGVyIG11Y2gsJyB0aG91Z2h0IEFsaWNlLCAnYXMgYWxsIHRoZSBhcmNoZXMgYXJlIGdvbmUg"
+ "ZnJvbSB0aGlzIHNpZGUgb2YgdGhlIGdyb3VuZC4nIFNvIHNoZSB0dWNrZWQgaXQgYXdheSB1bmRlciBoZXIgYXJtLCB0aGF0IGl0IG1pZ2h0IG"
+ "5vdCBlc2NhcGUgYWdhaW4sIGFuZCB3ZW50IGJhY2sgZm9yIGEgbGl0dGxlIG1vcmUgY29udmVyc2F0aW9uIHdpdGggaGVyIGZyaWVuZC5XaGVu"
+ "IHNoZSBnb3QgYmFjayB0byB0aGUgQ2hlc2hpcmUgQ2F0LCBzaGUgd2FzIHN1cnByaXNlZCB0byBmaW5kIHF1aXRlIGEgbGFyZ2UgY3Jvd2QgY2"
+ "9sbGVjdGVkIHJvdW5kIGl0OiB0aGVyZSB3YXMgYSBkaXNwdXRlIGdvaW5nIG9uIGJldHdlZW4gdGhlIGV4ZWN1dGlvbmVyLCB0aGUgS2luZywg"
+ "YW5kIHRoZSBRdWVlbiwgd2hvIHdlcmUgYWxsIHRhbGtpbmcgYXQgb25jZSwgd2hpbGUgYWxsIHRoZSByZXN0IHdlcmUgcXVpdGUgc2lsZW50LC"
+ "BhbmQgbG9va2VkIHZlcnkgdW5jb21mb3J0YWJsZS5UaGUgbW9tZW50IEFsaWNlIGFwcGVhcmVkLCBzaGUgd2FzIGFwcGVhbGVkIHRvIGJ5IGFs"
+ "bCB0aHJlZSB0byBzZXR0bGUgdGhlIHF1ZXN0aW9uLCBhbmQgdGhleSByZXBlYXRlZCB0aGVpciBhcmd1bWVudHMgdG8gaGVyLCB0aG91Z2gsIG"
+ "FzIHRoZXkgYWxsIHNwb2tlIGF0IG9uY2UsIHNoZSBmb3VuZCBpdCB2ZXJ5IGhhcmQgaW5kZWVkIHRvIG1ha2Ugb3V0IGV4YWN0bHkgd2hhdCB0"
+ "aGV5IHNhaWQuVGhlIGV4ZWN1dGlvbmVyJ3MgYXJndW1lbnQgd2FzLCB0aGF0IHlvdSBjb3VsZG4ndCBjdXQgb2ZmIGEgaGVhZCB1bmxlc3MgdG"
+ "hlcmUgd2FzIGEgYm9keSB0byBjdXQgaXQgb2ZmIGZyb206IHRoYXQgaGUgaGFkIG5ldmVyIGhhZCB0byBkbyBzdWNoIGEgdGhpbmcgYmVmb3Jl"
+ "LCBhbmQgaGUgd2Fzbid0IGdvaW5nIHRvIGJlZ2luIGF0IGhpcyB0aW1lIG9mIGxpZmUuVGhlIEtpbmcncyBhcmd1bWVudCB3YXMsIHRoYXQgYW"
+ "55dGhpbmcgdGhhdCBoYWQgYSBoZWFkIGNvdWxkIGJlIGJlaGVhZGVkLCBhbmQgdGhhdCB5b3Ugd2VyZW4ndCB0byB0YWxrIG5vbnNlbnNlLlRo"
+ "ZSBRdWVlbidzIGFyZ3VtZW50IHdhcywgdGhhdCBpZiBzb21ldGhpbmcgd2Fzbid0IGRvbmUgYWJvdXQgaXQgaW4gbGVzcyB0aGFuIG5vIHRpbW"
+ "Ugc2hlJ2QgaGF2ZSBldmVyeWJvZHkgZXhlY3V0ZWQsIGFsbCByb3VuZC4gKEl0IHdhcyB0aGlzIGxhc3QgcmVtYXJrIHRoYXQgaGFkIG1hZGUg"
+ "dGhlIHdob2xlIHBhcnR5IGxvb2sgc28gZ3JhdmUgYW5kIGFueGlvdXMuKUFsaWNlIGNvdWxkIHRoaW5rIG9mIG5vdGhpbmcgZWxzZSB0byBzYX"
+ "kgYnV0ICdJdCBiZWxvbmdzIHRvIHRoZSBEdWNoZXNzOiB5b3UnZCBiZXR0ZXIgYXNrIGhlciBhYm91dCBpdC4nJ1NoZSdzIGluIHByaXNvbiwn"
+ "IHRoZSBRdWVlbiBzYWlkIHRvIHRoZSBleGVjdXRpb25lcjogJ2ZldGNoIGhlciBoZXJlLicgQW5kIHRoZSBleGVjdXRpb25lciB3ZW50IG9mZi"
+ "BsaWtlIGFuIGFycm93LlRoZSBDYXQncyBoZWFkIGJlZ2FuIGZhZGluZyBhd2F5IHRoZSBtb21lbnQgaGUgd2FzIGdvbmUsIGFuZCwgYnkgdGhl"
+ "IHRpbWUgaGUgaGFkIGNvbWUgYmFjayB3aXRoIHRoZSBEdWNoZXNzLCBpdCBoYWQgZW50aXJlbHkgZGlzYXBwZWFyZWQ7IHNvIHRoZSBLaW5nIG"
+ "FuZCB0aGUgZXhlY3V0aW9uZXIgcmFuIHdpbGRseSB1cCBhbmQgZG93biBsb29raW5nIGZvciBpdCwgd2hpbGUgdGhlIHJlc3Qgb2YgdGhlIHBh"
+ "cnR5IHdlbnQgYmFjayB0byB0aGUgZ2FtZS4=";
+ using it_base64_t = bai::base64_from_binary<bai::transform_width<std::string::const_iterator, 6, 8>>;
+
+ auto writePaddChars = (3 - input.length() % 3) % 3;
+ std::string base64(it_base64_t(input.begin()), it_base64_t(input.end()));
+ base64.append(writePaddChars, '=');
+ assert(base64 == output);
+ return 0;
+}
+#elif 0
+
+#include <memory>
+#include <sstream>
+
+#include <boost/archive/text_iarchive.hpp>
+#include <boost/archive/text_oarchive.hpp>
+#include <boost/serialization/shared_ptr.hpp>
+
+struct S
+{
+ int i;
+ char c;
+
+ template <class Archive>
+ void serialize(Archive & ar, const unsigned int version)
+ {
+ ar & i;
+ ar & c;
+ }
+};
+
+int main()
+{
+ const auto s0 = std::make_shared<S>();
+ s0->i = 42;
+ s0->c = 'c';
+
+ std::stringstream ss;
+
+ {
+ boost::archive::text_oarchive oa(ss);
+ oa << s0;
+ }
+
+ std::shared_ptr<S> s1;
+ {
+ boost::archive::text_iarchive ia(ss);
+ ia >> s1;
+ }
+
+ return 0;
+}
+
+#elif 0
+#include <boost/archive/binary_iarchive.hpp>
+#include <boost/serialization/vector.hpp>
+#include <sstream>
+#include <vector>
+
+void f()
+{
+ std::stringstream iss;
+ boost::archive::binary_iarchive ar(iss);
+ std::vector<int> out;
+ ar >> out;
+}
+
+int main(int argc, char* argv[])
+{
+ return 0;
+}
+
+#include <boost/archive/xml_oarchive.hpp>
+#include <boost/archive/xml_iarchive.hpp>
+#include <boost/archive/detail/archive_serializer_map.hpp>
+#include <boost/archive/impl/archive_serializer_map.ipp>
+#include <boost/archive/impl/basic_xml_iarchive.ipp>
+#include <boost/archive/impl/xml_iarchive_impl.ipp>
+#include <boost/serialization/nvp.hpp>
+#include <limits>
+#include <fstream>
+
+class xml_iarchive_nan :
+public boost::archive::xml_iarchive_impl<xml_iarchive_nan>
+{
+protected:
+ friend class boost::archive::detail::interface_iarchive<xml_iarchive_nan>;
+ friend class boost::archive::detail::common_iarchive<xml_iarchive_nan>;
+ friend class boost::archive::basic_xml_iarchive<xml_iarchive_nan>;
+ friend class boost::archive::load_access;
+
+ using boost::archive::xml_iarchive_impl<xml_iarchive_nan>::load;
+ void load(double & t)
+ {
+ char c='0';
+ if(!is.fail())
+ {
+ c=is.peek();
+ if(c!='n')
+ {
+ boost::archive::xml_iarchive_impl<xml_iarchive_nan>::load(t);
+ }
+ else
+ {
+ char c1='0',c2='0';
+ is.get(c).get(c1).get(c2);
+ if(is.fail()||(!((c=='n')&&(c1=='a')&&(c2=='n'))))
+ boost::serialization::throw_exception(
+ boost::archive::archive_exception(
+ boost::archive::archive_exception::input_stream_error));
+ else
+ t=std::numeric_limits<double>::quiet_NaN();
+ }
+ }
+ else
+ boost::serialization::throw_exception(
+ boost::archive::archive_exception(boost::archive::archive_exception::input_stream_error));
+ }
+
+public:
+ xml_iarchive_nan(std::istream & is, unsigned int flags = 0) :
+ boost::archive::xml_iarchive_impl<xml_iarchive_nan>(is, flags)
+ {}
+ ~xml_iarchive_nan(){};
+};
+
+BOOST_SERIALIZATION_REGISTER_ARCHIVE(xml_iarchive_nan)
+
+namespace boost
+{
+ namespace archive
+ {
+ template class detail::archive_serializer_map<xml_iarchive_nan>;
+ template class detail::interface_iarchive<xml_iarchive_nan>;
+ template class detail::common_iarchive<xml_iarchive_nan>;
+ template class basic_xml_iarchive<xml_iarchive_nan>;
+ template class xml_iarchive_impl<xml_iarchive_nan>;
+
+ }
+}
+
+int main(int argc, char** argv)
+{
+ double value=0.0;
+ std::ifstream ifile("./somefile.xml");
+ xml_iarchive_nan ia(ifile);
+ ia>>BOOST_SERIALIZATION_NVP(value);
+}
+
+#elif 1
+// submitted as https://github.com/boostorg/serialization/issues/154
+#include <boost/version.hpp>
+
+#include <boost/archive/text_iarchive.hpp>
+#include <boost/archive/text_oarchive.hpp>
+
+#include <boost/serialization/vector.hpp>
+#include <boost/serialization/string.hpp>
+
+#include <iostream>
+#include <sstream>
+#include <cassert>
+
+struct Tracked {
+ std::string x;
+ Tracked(std::string s) : x(s) {}
+ Tracked() : x("tracked"){}
+ template <class A> void serialize(A& ar, unsigned int ) {
+ ar & x;
+ }
+};
+
+struct Main {
+ Tracked t_before;
+ Tracked* t_pointer;
+ Tracked t_after;
+ Main() : t_before("before"), t_pointer(0), t_after("after") {}
+ template <class A> void serialize(A& ar, unsigned int ) {
+ ar
+ & t_before
+ & t_pointer
+ & t_after
+ ;
+ }
+};
+
+#define CHECK_EQUAL(X,Y) assert(X==Y)
+#define REQUIRE_EQUAL(X,Y) CHECK_EQUAL(X,Y)
+int main(int argc, char *argv[])
+{
+ typedef std::vector<Main> Mains;
+
+ std::stringstream ss;
+
+ {
+ Mains ms;
+ ms.push_back( Main());
+ ms.push_back( Main());
+ ms.back().t_pointer = ms.front().t_pointer = new Tracked;
+
+ REQUIRE_EQUAL( ms.size(), 2);
+ CHECK_EQUAL( ms[0].t_pointer, ms[1].t_pointer );
+ CHECK_EQUAL( ms[0].t_pointer->x, "tracked" );
+
+ boost::archive::text_oarchive oa(ss);
+ oa << ms;
+
+ delete ms.back().t_pointer;
+ }
+
+ std::cout << ss.str() << std::endl;
+
+ {
+ Mains ms;
+ boost::archive::text_iarchive ia(ss);
+ ia >> ms;
+
+ REQUIRE_EQUAL( ms.size(), 2);
+ CHECK_EQUAL( ms[0].t_pointer, ms[1].t_pointer );
+ CHECK_EQUAL( ms[0].t_pointer->x, "tracked" );
+ }
+
+ return 0;
+}
+
+#else
+int main(int argc, char* argv[])
+{
+ return 0;
+}
+#endif
diff --git a/src/boost/libs/serialization/test/testfile2 b/src/boost/libs/serialization/test/testfile2
new file mode 100644
index 000000000..c3fab9500
--- /dev/null
+++ b/src/boost/libs/serialization/test/testfile2
Binary files differ
diff --git a/src/boost/libs/serialization/test/text_archive.hpp b/src/boost/libs/serialization/test/text_archive.hpp
new file mode 100644
index 000000000..8e98926cc
--- /dev/null
+++ b/src/boost/libs/serialization/test/text_archive.hpp
@@ -0,0 +1,13 @@
+// (C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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 for updates, documentation, and revision history.
+// text_archive
+#include <boost/archive/text_oarchive.hpp>
+typedef boost::archive::text_oarchive test_oarchive;
+typedef std::ofstream test_ostream;
+#include <boost/archive/text_iarchive.hpp>
+typedef boost::archive::text_iarchive test_iarchive;
+typedef std::ifstream test_istream;
diff --git a/src/boost/libs/serialization/test/text_warchive.hpp b/src/boost/libs/serialization/test/text_warchive.hpp
new file mode 100644
index 000000000..e556ef3ff
--- /dev/null
+++ b/src/boost/libs/serialization/test/text_warchive.hpp
@@ -0,0 +1,13 @@
+// (C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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 for updates, documentation, and revision history.
+// text_warchive
+#include <boost/archive/text_woarchive.hpp>
+typedef boost::archive::text_woarchive test_oarchive;
+typedef std::wofstream test_ostream;
+#include <boost/archive/text_wiarchive.hpp>
+typedef boost::archive::text_wiarchive test_iarchive;
+typedef std::wifstream test_istream;
diff --git a/src/boost/libs/serialization/test/xml_archive.hpp b/src/boost/libs/serialization/test/xml_archive.hpp
new file mode 100644
index 000000000..a84bc18e4
--- /dev/null
+++ b/src/boost/libs/serialization/test/xml_archive.hpp
@@ -0,0 +1,13 @@
+// (C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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 for updates, documentation, and revision history.
+// xml_archive
+#include <boost/archive/xml_oarchive.hpp>
+typedef boost::archive::xml_oarchive test_oarchive;
+typedef std::ofstream test_ostream;
+#include <boost/archive/xml_iarchive.hpp>
+typedef boost::archive::xml_iarchive test_iarchive;
+typedef std::ifstream test_istream;
diff --git a/src/boost/libs/serialization/test/xml_warchive.hpp b/src/boost/libs/serialization/test/xml_warchive.hpp
new file mode 100644
index 000000000..ffdc45831
--- /dev/null
+++ b/src/boost/libs/serialization/test/xml_warchive.hpp
@@ -0,0 +1,13 @@
+// (C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is 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 for updates, documentation, and revision history.
+// xml_warchive
+#include <boost/archive/xml_woarchive.hpp>
+typedef boost::archive::xml_woarchive test_oarchive;
+typedef std::wofstream test_ostream;
+#include <boost/archive/xml_wiarchive.hpp>
+typedef boost::archive::xml_wiarchive test_iarchive;
+typedef std::wifstream test_istream;