Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r58151 - in branches/release/libs/serialization: . doc example src test util vc7ide
From: ramey_at_[hidden]
Date: 2009-12-05 01:34:17


Author: ramey
Date: 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
New Revision: 58151
URL: http://svn.boost.org/trac/boost/changeset/58151

Log:
Merge changes to release branch
Properties modified:
   branches/release/libs/serialization/ (props changed)
Text files modified:
   branches/release/libs/serialization/doc/contents.html | 8
   branches/release/libs/serialization/doc/release.html | 376 ++++++++++++++++++++-------------------
   branches/release/libs/serialization/example/demo_polymorphic_A.cpp | 25 +-
   branches/release/libs/serialization/example/demo_polymorphic_A.hpp | 9
   branches/release/libs/serialization/src/basic_archive.cpp | 4
   branches/release/libs/serialization/src/basic_iarchive.cpp | 40 ++-
   branches/release/libs/serialization/src/basic_oarchive.cpp | 78 +++++---
   branches/release/libs/serialization/src/basic_xml_grammar.ipp | 27 ++
   branches/release/libs/serialization/src/extended_type_info.cpp | 14 +
   branches/release/libs/serialization/src/extended_type_info_typeid.cpp | 23 +
   branches/release/libs/serialization/src/void_cast.cpp | 96 +++++++---
   branches/release/libs/serialization/test/A.cpp | 13 +
   branches/release/libs/serialization/test/B.hpp | 4
   branches/release/libs/serialization/test/test_binary.cpp | 4
   branches/release/libs/serialization/test/test_delete_pointer.cpp | 2
   branches/release/libs/serialization/test/test_derived_class.cpp | 2
   branches/release/libs/serialization/test/test_inclusion.cpp | 2
   branches/release/libs/serialization/test/test_iterators.cpp | 2
   branches/release/libs/serialization/test/test_iterators_base64.cpp | 4
   branches/release/libs/serialization/test/test_new_operator.cpp | 4
   branches/release/libs/serialization/test/test_non_default_ctor.cpp | 14
   branches/release/libs/serialization/test/test_non_default_ctor2.cpp | 9
   branches/release/libs/serialization/test/test_non_intrusive.cpp | 12
   branches/release/libs/serialization/test/test_null_ptr.cpp | 6
   branches/release/libs/serialization/test/test_nvp.cpp | 3
   branches/release/libs/serialization/test/test_private_ctor.cpp | 2
   branches/release/libs/serialization/test/test_reset_object_address.cpp | 12
   branches/release/libs/serialization/test/test_smart_cast.cpp | 19 +
   branches/release/libs/serialization/test/test_tools.hpp | 3
   branches/release/libs/serialization/util/test.jam | 13 +
   branches/release/libs/serialization/vc7ide/BoostSerializationLibrary.sln | 164 ++++++++--------
   branches/release/libs/serialization/vc7ide/Library.vcproj | 5
   branches/release/libs/serialization/vc7ide/demo_polymorphic.vcproj | 3
   branches/release/libs/serialization/vc7ide/test_array.vcproj | 4
   branches/release/libs/serialization/vc7ide/test_binary.vcproj | 4
   branches/release/libs/serialization/vc7ide/test_class_info_load.vcproj | 4
   branches/release/libs/serialization/vc7ide/test_codecvt_null.vcproj | 2
   branches/release/libs/serialization/vc7ide/test_contained_class.vcproj | 2
   branches/release/libs/serialization/vc7ide/test_delete_pointer.vcproj | 2
   branches/release/libs/serialization/vc7ide/test_deque.vcproj | 2
   branches/release/libs/serialization/vc7ide/test_derived_class_ptr.vcproj | 2
   branches/release/libs/serialization/vc7ide/test_diamond.vcproj | 2
   branches/release/libs/serialization/vc7ide/test_dll_simple.vcproj | 2
   branches/release/libs/serialization/vc7ide/test_exported.vcproj | 2
   branches/release/libs/serialization/vc7ide/test_inclusion.vcproj | 2
   branches/release/libs/serialization/vc7ide/test_iterators.vcproj | 2
   branches/release/libs/serialization/vc7ide/test_iterators_base64.vcproj | 2
   branches/release/libs/serialization/vc7ide/test_list.vcproj | 2
   branches/release/libs/serialization/vc7ide/test_list_ptrs.vcproj | 2
   branches/release/libs/serialization/vc7ide/test_map.vcproj | 2
   branches/release/libs/serialization/vc7ide/test_mi.vcproj | 2
   branches/release/libs/serialization/vc7ide/test_multiple_inheritance.vcproj | 2
   branches/release/libs/serialization/vc7ide/test_new_operator.vcproj | 2
   branches/release/libs/serialization/vc7ide/test_no_rtti.vcproj | 2
   branches/release/libs/serialization/vc7ide/test_non_default_ctor.vcproj | 2
   branches/release/libs/serialization/vc7ide/test_non_default_ctor2.vcproj | 2
   branches/release/libs/serialization/vc7ide/test_non_intrusive.vcproj | 2
   branches/release/libs/serialization/vc7ide/test_null_ptr.vcproj | 2
   branches/release/libs/serialization/vc7ide/test_nvp.vcproj | 2
   branches/release/libs/serialization/vc7ide/test_polymorphic.vcproj | 4
   branches/release/libs/serialization/vc7ide/test_private_ctor.vcproj | 2
   branches/release/libs/serialization/vc7ide/test_registered.vcproj | 2
   branches/release/libs/serialization/vc7ide/test_reset_object_addr.vcproj | 2
   branches/release/libs/serialization/vc7ide/test_set.vcproj | 5
   branches/release/libs/serialization/vc7ide/test_shared_ptr.vcproj | 3
   branches/release/libs/serialization/vc7ide/test_shared_ptr_132.vcproj | 2
   branches/release/libs/serialization/vc7ide/test_shared_ptr_multi_base.vcproj | 2
   branches/release/libs/serialization/vc7ide/test_simple_class.vcproj | 2
   branches/release/libs/serialization/vc7ide/test_smart_cast.vcproj | 2
   branches/release/libs/serialization/vc7ide/test_static_warning.vcproj | 2
   branches/release/libs/serialization/vc7ide/test_tracking.vcproj | 2
   branches/release/libs/serialization/vc7ide/test_unregistered.vcproj | 2
   branches/release/libs/serialization/vc7ide/test_valarray.vcproj | 2
   branches/release/libs/serialization/vc7ide/test_variant.vcproj | 2
   branches/release/libs/serialization/vc7ide/test_vector.vcproj | 2
   branches/release/libs/serialization/vc7ide/test_void_cast.vcproj | 2
   76 files changed, 645 insertions(+), 455 deletions(-)

Modified: branches/release/libs/serialization/doc/contents.html
==============================================================================
--- branches/release/libs/serialization/doc/contents.html (original)
+++ branches/release/libs/serialization/doc/contents.html 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -86,8 +86,10 @@
 <dl class="page-index">
   <dt><img style="display:none" src="plus.gif" id="release_notes"><a target="detail" href="release.html">Release Notes</a></dt>
   <dd><div id="release_notes_detail"><dl class="page-index">
- <dt><img style="display:none" src="dot.gif"><a target="detail" href="release.html#requirements">Requirements</a></dt>
- <dt><img style="display:none" src="dot.gif"><a target="detail" href="release.html#difference_1_36">Differences from version 1.36</a></dt>
+ <dt><img style="display:none" src="dot.gif"><a target="detail" href="release.html#difference_1_41">Differences from version 1.41</a></dt>
+ <dt><img style="display:none" src="dot.gif"><a target="detail" href="release.html#difference_1_40">Differences from version 1.40</a></dt>
+ <dt><img style="display:none" src="dot.gif"><a target="detail" href="release.html#difference_1_39">Differences from version 1.39</a></dt>
+ <dt><img style="display:none" src="dot.gif"><a target="detail" href="release.html#difference_1_37">Differences from version 1.37</a></dt>
     <dt><img style="display:none" src="dot.gif"><a target="detail" href="release.html#difference_1_35">Differences from version 1.35</a></dt>
     <dt><img style="display:none" src="dot.gif"><a target="detail" href="release.html#difference_1_34">Differences from version 1.34</a></dt>
     <dt><img style="display:none" src="dot.gif"><a target="detail" href="release.html#difference_1_33">Differences from version 1.33</a></dt>
@@ -302,7 +304,7 @@
     <dd><div id="singleton_detail"><dl class="page-index">
       <dt><img style="display:none" src="dot.gif"><a target="detail" href="singleton.html#motivation">Motivation</a>
       <dt><img style="display:none" src="dot.gif"><a target="detail" href="singleton.html#features">Features</a>
- <dt><img style="display:none" src="dot.gif"><a target="detail" href="singleton.html#classinterface">Class Interfac'</a>
+ <dt><img style="display:none" src="dot.gif"><a target="detail" href="singleton.html#classinterface">Class Interface</a>
       <dt><img style="display:none" src="dot.gif"><a target="detail" href="singleton.html#requirements">Requirements</a>
       <dt><img style="display:none" src="dot.gif"><a target="detail" href="singleton.html#examples">Examples</a>
       <dt><img style="display:none" src="dot.gif"><a target="detail" href="singleton.html#multithreading">Multi-Threading</a>

Modified: branches/release/libs/serialization/doc/release.html
==============================================================================
--- branches/release/libs/serialization/doc/release.html (original)
+++ branches/release/libs/serialization/doc/release.html 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -1,74 +1,78 @@
 <!doctype HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <html>
-<!--
+ <!--
 (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)
 -->
 <head>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <link rel="stylesheet" type="text/css" href="../../../boost.css">
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<link rel="stylesheet" type="text/css" href="../../../boost.css">
     <link rel="stylesheet" type="text/css" href="style.css">
- <title>Serialization - Release Notes</title>
+ <title>Serialization - Release Notes</title>
 </head>
 <body link="#0000ff" vlink="#800080">
- <table border="0" cellpadding="7" cellspacing="0" width="100%" summary="header">
- <tr>
- <td valign="top" width="300">
- <h3>
- <a href="../../../index.htm">
- <img height="86" width="277" alt="C++ Boost" src="../../../boost.png" border="0"></a></h3>
- </td>
- <td valign="top">
- <h1 align="center">
- Serialization</h1>
- <h2 align="center">
- Release Notes</h2>
- </td>
- </tr>
- </table>
- <hr>
- <dl class="index">
- <dt>Requirements</dt>
- <dt>Differences from version 1.37</dt>
- <dt>Differences from version 1.37</dt>
- <dt>Differences from version 1.35</dt>
- <dt>Differences from version 1.34</dt>
- <dt>Differences from version 1.33</dt>
- <dt>Differences from version 1.32</dt>
- <dt>Pending Issues</dt>
- </dl>
- As of this is written, there are no known bugs. However, due to compiler/library
- quirks and or bugs, some tests fail with some combinations of compilers and libraries.
- <h2>
- <a name="requirements"></a>Requirements</h2>
- This library has been tested against Boost version 1.39 and 1.40.
- <p>
- Changes have been made to archive classes included with the library.
- Users who have used these a guide to making their own archive classes
- will find that these will likely no longer compile. This can be remedied
- by making the following changes in the code which instantiates these
- archive classes.
- <p>
- Old Code:<br>
- <code><pre>
- ...
- #include &lt;boost/archive/impl/archive_pointer_iserializer.ipp&gt;
- ...
- template class detail::archive_pointer_iserializer&lt;naked_text_iarchive&gt; ;
- ...
- template class detail::archive_pointer_iserializer&lt;text_iarchive&gt; ;
- </pre></code>
- should be replaced with this new code:
- <p>
- <code><pre>
- #include &lt;boost/archive/impl/archive_serializer_map.ipp&gt;
- ...
- template class detail::archive_serializer_map&lt;naked_text_iarchive&gt; ;
- ...
- template class detail::archive_serializer_map&lt;text_iarchive&gt; ;
- </pre></code>
+<table border="0" cellpadding="7" cellspacing="0" width="100%" summary="header">
+ <tr>
+ <td valign="top" width="300">
+ <h3>
+ C++ Boost</h3>
+ </td>
+ <td valign="top">
+ <h1 align="center">
+ Serialization</h1>
+ <h2 align="center">
+ Release Notes</h2>
+ </td>
+ </tr>
+</table>
+<hr>
+<dl class="index">
+ <dt>Differences from version 1.41</dt>
+ <dt>Differences from version 1.40</dt>
+ <dt>Differences from version 1.39</dt>
+ <dt>Differences from version 1.37</dt>
+ <dt>Differences from version 1.35</dt>
+ <dt>Differences from version 1.34</dt>
+ <dt>Differences from version 1.33</dt>
+ <dt>Differences from version 1.32</dt>
+ <dt>Pending Issues</dt>
+</dl>
+As of this writing, there are no known bugs. However, due to compiler/library
+quirks and or bugs, some tests fail with some combinations of compilers and
+libraries.
+<h2><a name="differences_1_41"></a>Differences from Boost 1.41</h2>
+<ul>
+ <li>adjustments have been made to minimize compile time warnings.
+ <li>compile time warnings have been implemented to detect practices which
+ though correct, will result in operation or side effects different than
+ a user probably intends.
+ <li>Some memory leaks associated with void_cast have been fixed.
+</ul>
+<h2><a name="differences_1_40"></a>Differences from Boost 1.40</h2>
+This library has been tested against Boost version 1.39 and 1.40.
+<p>
+ Changes have been made to archive classes included with the library. Users who
+ have used these a guide to making their own archive classes will find that
+ these will likely no longer compile. This can be remedied by making the
+ following changes in the code which instantiates these archive classes.
+</p>
+Old Code:<br>
+<code><pre>
+...
+#include &lt;boost/archive/impl/archive_pointer_iserializer.ipp&gt;
+...
+template class detail::archive_pointer_iserializer&lt;naked_text_iarchive&gt; ;
+...
+template class detail::archive_pointer_iserializer&lt;text_iarchive&gt; ;
+</pre></code>should be replaced with this new code: <code><pre>
+#include &lt;boost/archive/impl/archive_serializer_map.ipp&gt;
+...
+template class detail::archive_serializer_map&lt;naked_text_iarchive&gt; ;
+...
+template class detail::archive_serializer_map&lt;text_iarchive&gt; ;
+</pre></code>
 <!--
 <p>
 The serialization library uses the boost spirit package to load XML archives.
@@ -86,128 +90,134 @@
 the directory which contains the version of spirit you plan to use is placed
 at the front of the list of include paths.
 -->
- <h2>
- <a name="differences_1_39"></a>Differences from Boost 1.39</h2>
- <ul>
- <li>It is now possible to serialize an object through a pointer to a class which implements
- its own <code style="white-space: normal">new/delete</code> operators. This functionaly
- is not available on some compilers.
- <li>serialization of polymorphic objects has been sped up considerably.
- </ul>
- As of this writing, all bug reports filed
- as TRAK tickets have been addressed. There are some TRAK tickets pending which
- would best be described as feature requests. See Pending Issues.
- <h2>
- <a name="differences_1_37"></a>Differences from Boost 1.37</h2>
- There are no new features in this version. As of this writing, all bug reports filed
- as TRAK tickets have been addressed. There are some TRAK tickets pending which
- would best be described as feature requests. See Pending Issues.
- <h2>
- <a name="differences_1_36"></a>Differences from Boost 1.36</h2>
- There are no new features in this version. As of this writing, all bug reports filed
- as TRAK tickets have been addressed.
- <h2>
- <a name="differences_1_35"></a>Differences from Boost 1.35</h2>
- <ul>
- <li>
- The library is now thread safe. That is, multiple archives can be open in different
- threads. This has been implmented with a lock-free algorithm to avoid any performance
- bottlenecks.
- <li>
- Serialization of types defined in shared libraries is now supported. shared libraries
- (DLLS) can be loaded/unloaded dynamically at runtime. This includes the serialization
- of instances of abstract base classes so that a program can be written so as to
- be compatible with as yet undefined and un-implemented code.
- <li>
- The extended type info system has been enhanced to in order to implement the above.
- It is now a general purpose system for creating and casting of types about which
- is only known a string ID and an abstract base class.
- <li>
- All bug reports filed as TRAK tickets have been addressed.
- <li>
- As of this writing, the library will fail build on older compilers such as MSVC
- before version 7.1 and older versions of Borland compilers. This might or might
- not change in the future.
- </ul>
- <h2>
- <a name="differences_1_34"></a>Differences from Boost 1.34</h2>
- <ul>
- <li>
- Enhanced support for fast serialization for native binary archives. By Mattias Troyer.
- <li>
- Improved implementation of "export" functionality. Removes header ordering requirement
- and eliminates the maintenance of a pre-determined list of "known archives" By David
- Abrahams.
- <li>
- Improved support for STLPort.
- </ul>
- <h2>
- <a name="differences_1_33"></a>Differences from Boost 1.33</h2>
- <ul>
- <li>Native Binary archives use the <code style="white-space: normal">std::streambuf</code>
- interface. This should result in noticeably faster execution in many cases.
- </ul>
- <h2>
- <a name="differences_1_32"></a>Differences from Boost 1.32</h2>
- <ul>
- <li>Dynamic Linking Library (DLLs and shared libraries) for platforms which support
- them. See <a href="../../../more/getting_started/windows.html#auto-linking">Automatic
- Linking on Windows</a>.
- <li>
- Implementation of auto-link for compilers which can support this.
- <li>Better support for <em>Argument Dependent Lookup</em>
- and two-phase lookup. This results in simpler rules regarding the placing of serialization
- specializations namespaces.
- <li>
- Enhanced documentation to help explain usage of the above.
- <li>
- Adjustments to improve support for less conformant compilers.
- <li>Improved <code>const</code> correctness for save/load operators. Note that this
- may produce compile time errors in code which compiled without problem in earlier
- boost releases. In most cases the fix is trivial. In other cases, code should be
- scrutinized to be sure that it doesn't use the serialization system in a way which
- may introduce subtle bugs in to the program. A fuller explanation of this issue
- can be found <a target="detail" href="traits.html#tracking">here</a>.
- <li>A new implementation of serialization for <code style="white-space: normal">shared_ptr&lt;T&gt;</code>.
- This is compatible with public interface of <code style="white-space: normal">shared_ptr&lt;T&gt;</code>
- so it should be more robust and not have to change in the future. The implementation
- optionally includes code to load <code style="white-space: normal">shared_ptr&lt;T&gt;</code>
- stored in archives created with boost 1.32. This code is stored in 'he header: <code
- style="white-space: normal">boost/serialization/shared_ptr_132.hpp</code>. If
- your application needs to load archives created with boost 1.32 libraries, include
- the above header before each inclusion of <code style="white-space: normal">boost/serialization/shared_ptr.hpp</code>.
- <li>
- More compilers tested and supported.
- <li>
- Miscellaneous bug fixes.
- </ul>
- <h2>
- <a name="todo"></a>Pending issues</h2>
- <ul>
- <li>Rvalues cannot be serialized. It would be possible to implement this for
- untracked types, but this has not been done.
- <li>
- Pointers to pointers cannot currently be serialized
- <li>Its possible that <code style="white-space: normal">std::string</code> and <code
- style="white-space: normal">std::wstring</code>
- contain characters such as '\0' and -1 (EOF) which cannot be rendered in text and
- XML archives without an escape mechanism. Currently there is no such escape mechanism
- implemented.
- <li>A subtle error in the implementation of serializaton of <code style="white-space: normal">
- std::map</code> is fixed in this version. Unfortunately, the fix breaks serialization
- of <code style="white-space: normal">std::map</code>
- for those compilers which do not support partial template specialization. Also,
- types which contain pointers or tracked types might not work correctly.
- </ul>
- <p>
- Aside from the above, there are a number of issues related to specific platforms.
- These are listed in <a href="implementation.html#othercompilerissues">Specific Compiler/Library
- Issues</a>.
- <hr>
- <p>
- <i>&copy; Copyright Robert Ramey 2002-2009. Distributed
- under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt
- or copy at http://www.boost.org/LICENSE_1_0.txt) </i>
- </p>
+<h2><a name="differences_1_39"></a>Differences from Boost 1.39</h2>
+<ul>
+ <li>
+ It is now possible to serialize an object through a pointer to a class which
+ implements its own <code style="white-space: normal">new/delete</code>
+ operators. This functionaly is not available on some compilers.
+ <li>
+ serialization of polymorphic objects has been sped up considerably.
+</ul>
+As of this writing, all bug reports filed as TRAK tickets have been addressed.
+There are some TRAK tickets pending which would best be described as feature
+requests. See Pending Issues.
+<h2><a name="differences_1_37"></a>Differences from Boost 1.37</h2>
+There are no new features in this version. As of this writing, all bug reports
+filed as TRAK tickets have been addressed. There are some TRAK tickets pending
+which would best be described as feature requests. See <a href="#todo">Pending
+ Issues</a>.
+<h2><a name="differences_1_36"></a>Differences from Boost 1.36</h2>
+There are no new features in this version. As of this writing, all bug reports
+filed as TRAK tickets have been addressed.
+<h2><a name="differences_1_35"></a>Differences from Boost 1.35</h2>
+<ul>
+ <li>
+ The library is now thread safe. That is, multiple archives can be open in
+ different threads. This has been implmented with a lock-free algorithm to avoid
+ any performance bottlenecks.
+ <li>
+ Serialization of types defined in shared libraries is now supported. shared
+ libraries (DLLS) can be loaded/unloaded dynamically at runtime. This includes
+ the serialization of instances of abstract base classes so that a program can
+ be written so as to be compatible with as yet undefined and un-implemented
+ code.
+ <li>
+ The extended type info system has been enhanced to in order to implement the
+ above. It is now a general purpose system for creating and casting of types
+ about which is only known a string ID and an abstract base class.
+ <li>
+ All bug reports filed as TRAK tickets have been addressed.
+ <li>
+ As of this writing, the library will fail build on older compilers such as MSVC
+ before version 7.1 and older versions of Borland compilers. This might or might
+ not change in the future.
+</ul>
+<h2><a name="differences_1_34"></a>Differences from Boost 1.34</h2>
+<ul>
+ <li>
+ Enhanced support for fast serialization for native binary archives. By Mattias
+ Troyer.
+ <li>
+ Improved implementation of "export" functionality. Removes header ordering
+ requirement and eliminates the maintenance of a pre-determined list of "known
+ archives" By David Abrahams.
+ <li>
+ Improved support for STLPort.
+</ul>
+<h2><a name="differences_1_33"></a>Differences from Boost 1.33</h2>
+<ul>
+ <li>
+ Native Binary archives use the <code style="white-space: normal">std::streambuf</code>
+ interface. This should result in noticeably faster execution in many cases.
+</ul>
+<h2><a name="differences_1_32"></a>Differences from Boost 1.32</h2>
+<ul>
+ <li>
+ Dynamic Linking Library (DLLs and shared libraries) for platforms which support
+ them. See <a href="../../../more/getting_started/windows.html#auto-linking">Automatic
+ Linking on Windows</a>.
+ <li>
+ Implementation of auto-link for compilers which can support this.
+ <li>
+ Better support for <em>Argument Dependent Lookup</em>
+ and two-phase lookup. This results in simpler rules regarding the placing of
+ serialization specializations namespaces.
+ <li>
+ Enhanced documentation to help explain usage of the above.
+ <li>
+ Adjustments to improve support for less conformant compilers.
+ <li>
+ Improved <code>const</code> correctness for save/load operators. Note that this
+ may produce compile time errors in code which compiled without problem in
+ earlier boost releases. In most cases the fix is trivial. In other cases, code
+ should be scrutinized to be sure that it doesn't use the serialization system
+ in a way which may introduce subtle bugs in to the program. A fuller
+ explanation of this issue can be found <a target="detail" href="traits.html#tracking">
+ here</a>.
+ <li>
+ A new implementation of serialization for <code style="white-space: normal">shared_ptr&lt;T&gt;</code>.
+ This is compatible with public interface of <code style="white-space: normal">shared_ptr&lt;T&gt;</code>
+ so it should be more robust and not have to change in the future. The
+ implementation optionally includes code to load <code style="white-space: normal">shared_ptr&lt;T&gt;</code>
+ stored in archives created with boost 1.32. This code is stored in 'he header: <code style="white-space: normal">
+ boost/serialization/shared_ptr_132.hpp</code>. If your application needs to
+ load archives created with boost 1.32 libraries, include the above header
+ before each inclusion of <code style="white-space: normal">boost/serialization/shared_ptr.hpp</code>.
+ <li>
+ More compilers tested and supported.
+ <li>
+ Miscellaneous bug fixes.
+</ul>
+<h2><a name="todo"></a>Pending issues</h2>
+<ul>
+ <li>
+ Rvalues cannot be serialized. It would be possible to implement this for
+ untracked types, but this has not been done.
+ <li>
+ Pointers to pointers cannot currently be serialized
+ <li>
+ Its possible that <code style="white-space: normal">std::string</code> and <code style="white-space: normal">
+ std::wstring</code>
+ contain characters such as '\0' and -1 (EOF) which cannot be rendered in text
+ and XML archives without an escape mechanism. Currently there is no such escape
+ mechanism implemented.
+ <li>
+ A subtle error in the implementation of serializaton of <code style="white-space: normal">
+ std::map</code> is fixed in this version. Unfortunately, the fix breaks
+ serialization of <code style="white-space: normal">std::map</code>
+ for those compilers which do not support partial template specialization. Also,
+ types which contain pointers or tracked types might not work correctly.
+</ul>
+<p>
+ Aside from the above, there are a number of issues related to specific
+ platforms. These are listed in <a href="implementation.html#othercompilerissues">Specific
+ Compiler/Library Issues</a>.
+ <hr>
+<p>
+ <i>&copy; Copyright Robert Ramey 2002-2009.
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) </i>
+</p>
 </body>
 </html>

Modified: branches/release/libs/serialization/example/demo_polymorphic_A.cpp
==============================================================================
--- branches/release/libs/serialization/example/demo_polymorphic_A.cpp (original)
+++ branches/release/libs/serialization/example/demo_polymorphic_A.cpp 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -12,16 +12,15 @@
 
 #include "demo_polymorphic_A.hpp"
 
-// now we can define the serialization for class A
-void A::serialize(
- boost::archive::polymorphic_iarchive & ar,
- const unsigned int file_version
-){
- ar & data;
-}
-void A::serialize(
- boost::archive::polymorphic_oarchive & ar,
- const unsigned int file_version
-){
- ar & data;
-}
+// explicitly instantiate templates for polymorphic archives
+// used by this demo.
+template
+void A::serialize<boost::archive::polymorphic_iarchive>(
+ boost::archive::polymorphic_iarchive &,
+ const unsigned int
+);
+template
+void A::serialize<boost::archive::polymorphic_oarchive>(
+ boost::archive::polymorphic_oarchive &,
+ const unsigned int
+);

Modified: branches/release/libs/serialization/example/demo_polymorphic_A.hpp
==============================================================================
--- branches/release/libs/serialization/example/demo_polymorphic_A.hpp (original)
+++ branches/release/libs/serialization/example/demo_polymorphic_A.hpp 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -20,8 +20,13 @@
 
 struct A {
     // class a contains a pointer to a "hidden" declaration
- void serialize(boost::archive::polymorphic_iarchive & ar, const unsigned int file_version);
- void serialize(boost::archive::polymorphic_oarchive & ar, const unsigned int file_version);
+ template<class Archive>
+ void serialize(
+ Archive & ar,
+ const unsigned int file_version
+ ){
+ ar & data;
+ }
     int data;
     bool operator==(const A & rhs) const {
         return data == rhs.data;

Modified: branches/release/libs/serialization/src/basic_archive.cpp
==============================================================================
--- branches/release/libs/serialization/src/basic_archive.cpp (original)
+++ branches/release/libs/serialization/src/basic_archive.cpp 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -59,9 +59,9 @@
 // types caused backwards compatibility breaking change in 1.35
 // 6 - Boost 1.41, serializing collection sizes as std::size_t
 
-BOOST_ARCHIVE_DECL(unsigned char)
+BOOST_ARCHIVE_DECL(version_type)
 BOOST_ARCHIVE_VERSION(){
- return 6;
+ return version_type(7);
 }
 
 } // namespace archive

Modified: branches/release/libs/serialization/src/basic_iarchive.cpp
==============================================================================
--- branches/release/libs/serialization/src/basic_iarchive.cpp (original)
+++ branches/release/libs/serialization/src/basic_iarchive.cpp 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -23,7 +23,7 @@
 } // namespace std
 #endif
 
-#include <boost/limits.hpp>
+#include <boost/integer_traits.hpp>
 #include <boost/serialization/state_saver.hpp>
 #include <boost/serialization/throw_exception.hpp>
 #include <boost/serialization/tracking.hpp>
@@ -93,18 +93,18 @@
     // used by load object to look up class id given basic_serializer
     struct cobject_type
     {
- const basic_iserializer * bis;
- const class_id_type class_id;
+ const basic_iserializer * m_bis;
+ const class_id_type m_class_id;
         cobject_type(
- class_id_type class_id_,
- const basic_iserializer & bis_
+ std::size_t class_id,
+ const basic_iserializer & bis
         ) :
- bis(& bis_),
- class_id(class_id_)
+ m_bis(& bis),
+ m_class_id(class_id)
         {}
         cobject_type(const cobject_type & rhs) :
- bis(rhs.bis),
- class_id(rhs.class_id)
+ m_bis(rhs.m_bis),
+ m_class_id(rhs.m_class_id)
         {}
         // the following cannot be defined because of the const
         // member. This will generate a link error if an attempt
@@ -112,7 +112,7 @@
         cobject_type & operator=(const cobject_type & rhs);
         bool operator<(const cobject_type &rhs) const
         {
- return *bis < *(rhs.bis);
+ return *m_bis < *(rhs.m_bis);
         }
     };
     typedef std::set<cobject_type> cobject_info_set_type;
@@ -174,7 +174,7 @@
         pending_version(0)
     {}
     ~basic_iarchive_impl(){}
- void set_library_version(unsigned int archive_library_version){
+ void set_library_version(version_type archive_library_version){
         m_archive_library_version = archive_library_version;
     }
     bool
@@ -289,7 +289,14 @@
 basic_iarchive_impl::register_type(
     const basic_iserializer & bis
 ){
- class_id_type id(static_cast<int>(cobject_info_set.size()));
+ assert(
+ cobject_info_set.size()
+ <=
+ boost::integer_traits<class_id_type>::const_max
+ );
+ class_id_type id(static_cast<class_id_type>(
+ cobject_info_set.size()
+ ));
     cobject_type co(id, bis);
     std::pair<cobject_info_set_type::const_iterator, bool>
         result = cobject_info_set.insert(co);
@@ -298,7 +305,7 @@
         cobject_id_vector.push_back(cobject_id(bis));
         assert(cobject_info_set.size() == cobject_id_vector.size());
     }
- id = result.first->class_id;
+ id = result.first->m_class_id;
     // borland complains without this minor hack
     const int tid = id;
     cobject_id & coid = cobject_id_vector[tid];
@@ -405,6 +412,11 @@
         return bpis_ptr;
     }
 
+ assert(
+ cobject_info_set.size()
+ <=
+ boost::integer_traits<class_id_type>::const_max
+ );
     // if its a new class type - i.e. never been registered
     if(class_id_type(cobject_info_set.size()) <= cid){
         // if its either abstract
@@ -509,7 +521,7 @@
 }
 
 BOOST_ARCHIVE_DECL(void)
-basic_iarchive::set_library_version(unsigned int archive_library_version){
+basic_iarchive::set_library_version(version_type archive_library_version){
     pimpl->set_library_version(archive_library_version);
 }
 

Modified: branches/release/libs/serialization/src/basic_oarchive.cpp
==============================================================================
--- branches/release/libs/serialization/src/basic_oarchive.cpp (original)
+++ branches/release/libs/serialization/src/basic_oarchive.cpp 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -91,26 +91,28 @@
     // keyed on type_info
     struct cobject_type
     {
- const basic_oserializer * bos_ptr;
- const class_id_type class_id;
- bool initialized;
+ const basic_oserializer * m_bos_ptr;
+ const class_id_type m_class_id;
+ bool m_initialized;
         cobject_type(
- std::size_t class_id_,
- const basic_oserializer & bos_
+ std::size_t class_id,
+ const basic_oserializer & bos
         ) :
- bos_ptr(& bos_),
- class_id(class_id_),
- initialized(false)
+ m_bos_ptr(& bos),
+ m_class_id(
+ static_cast<class_id_type>(class_id)
+ ),
+ m_initialized(false)
         {}
- cobject_type(const basic_oserializer & bos_)
- : bos_ptr(& bos_)
+ cobject_type(const basic_oserializer & bos)
+ : m_bos_ptr(& bos)
         {}
         cobject_type(
             const cobject_type & rhs
         ) :
- bos_ptr(rhs.bos_ptr),
- class_id(rhs.class_id),
- initialized(rhs.initialized)
+ m_bos_ptr(rhs.m_bos_ptr),
+ m_class_id(rhs.m_class_id),
+ m_initialized(rhs.m_initialized)
         {}
         // the following cannot be defined because of the const
         // member. This will generate a link error if an attempt
@@ -118,7 +120,7 @@
         // use this only for lookup argument
         cobject_type & operator=(const cobject_type &rhs);
         bool operator<(const cobject_type &rhs) const {
- return *bos_ptr < *(rhs.bos_ptr);
+ return *m_bos_ptr < *(rhs.m_bos_ptr);
         }
     };
     // keyed on type_info
@@ -167,9 +169,14 @@
 // return NULL if not found
 inline const basic_oserializer *
 basic_oarchive_impl::find(const serialization::extended_type_info & ti) const {
- class bosarg : public basic_oserializer
+ #ifdef BOOST_MSVC
+ # pragma warning(push)
+ # pragma warning(disable : 4511 4512)
+ #endif
+ class bosarg :
+ public basic_oserializer
     {
- bool class_info() const {
+ bool class_info() const {
             assert(false);
             return false;
         }
@@ -179,9 +186,9 @@
             return false;
         }
         // returns class version
- unsigned int version() const {
+ version_type version() const {
             assert(false);
- return 0;
+ return version_type(0);
         }
         // returns true if this class is polymorphic
         bool is_polymorphic() const{
@@ -189,7 +196,7 @@
             return false;
         }
         void save_object_data(
- basic_oarchive & ar, const void * x
+ basic_oarchive & /*ar*/, const void * /*x*/
         ) const {
             assert(false);
         }
@@ -198,6 +205,9 @@
           boost::archive::detail::basic_oserializer(eti)
         {}
     };
+ #ifdef BOOST_MSVC
+ #pragma warning(pop)
+ #endif
     bosarg bos(ti);
     cobject_info_set_type::const_iterator cit
         = cobject_info_set.find(cobject_type(bos));
@@ -209,12 +219,17 @@
         return NULL;
     }
     // return pointer to the real class
- return cit->bos_ptr;
+ return cit->m_bos_ptr;
 }
 
 inline const basic_oarchive_impl::cobject_type &
 basic_oarchive_impl::find(const basic_oserializer & bos)
 {
+ assert(
+ cobject_info_set.size()
+ <=
+ boost::integer_traits<class_id_type>::const_max
+ );
     std::pair<cobject_info_set_type::iterator, bool> cresult =
         cobject_info_set.insert(cobject_type(cobject_info_set.size(), bos));
     return *(cresult.first);
@@ -224,6 +239,11 @@
 basic_oarchive_impl::register_type(
     const basic_oserializer & bos
 ){
+ assert(
+ cobject_info_set.size()
+ <=
+ boost::integer_traits<class_id_type>::const_max
+ );
     cobject_type co(cobject_info_set.size(), bos);
     std::pair<cobject_info_set_type::const_iterator, bool>
         result = cobject_info_set.insert(co);
@@ -247,11 +267,11 @@
     // get class information for this object
     const cobject_type & co = register_type(bos);
     if(bos.class_info()){
- if( ! co.initialized){
- ar.vsave(class_id_optional_type(co.class_id));
+ if( ! co.m_initialized){
+ ar.vsave(class_id_optional_type(co.m_class_id));
             ar.vsave(tracking_type(bos.tracking(m_flags)));
             ar.vsave(version_type(bos.version()));
- (const_cast<cobject_type &>(co)).initialized = true;
+ (const_cast<cobject_type &>(co)).m_initialized = true;
         }
     }
 
@@ -267,7 +287,7 @@
     // look for an existing object id
     object_id_type oid(object_set.size());
     // lookup to see if this object has already been written to the archive
- basic_oarchive_impl::aobject ao(t, co.class_id, oid);
+ basic_oarchive_impl::aobject ao(t, co.m_class_id, oid);
     std::pair<basic_oarchive_impl::object_set_type::const_iterator, bool>
         aresult = object_set.insert(ao);
     oid = aresult.first->object_id;
@@ -306,8 +326,8 @@
     const basic_oserializer & bos = bpos_ptr->get_basic_serializer();
     std::size_t original_count = cobject_info_set.size();
     const cobject_type & co = register_type(bos);
- if(! co.initialized){
- ar.vsave(co.class_id);
+ if(! co.m_initialized){
+ ar.vsave(co.m_class_id);
         // if its a previously unregistered class
         if((cobject_info_set.size() > original_count)){
             if(bos.is_polymorphic()){
@@ -335,10 +355,10 @@
             ar.vsave(tracking_type(bos.tracking(m_flags)));
             ar.vsave(version_type(bos.version()));
         }
- (const_cast<cobject_type &>(co)).initialized = true;
+ (const_cast<cobject_type &>(co)).m_initialized = true;
     }
     else{
- ar.vsave(class_id_reference_type(co.class_id));
+ ar.vsave(class_id_reference_type(co.m_class_id));
     }
 
     // if we're not tracking
@@ -355,7 +375,7 @@
 
     object_id_type oid(object_set.size());
     // lookup to see if this object has already been written to the archive
- basic_oarchive_impl::aobject ao(t, co.class_id, oid);
+ basic_oarchive_impl::aobject ao(t, co.m_class_id, oid);
     std::pair<basic_oarchive_impl::object_set_type::const_iterator, bool>
         aresult = object_set.insert(ao);
     oid = aresult.first->object_id;

Modified: branches/release/libs/serialization/src/basic_xml_grammar.ipp
==============================================================================
--- branches/release/libs/serialization/src/basic_xml_grammar.ipp (original)
+++ branches/release/libs/serialization/src/basic_xml_grammar.ipp 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -16,11 +16,20 @@
 #include <algorithm>
 #include <boost/config.hpp> // BOOST_DEDUCED_TYPENAME
 
+#ifdef BOOST_MSVC
+# pragma warning(push)
+# pragma warning(disable : 4511 4512)
+#endif
+
 // spirit stuff
 #include <boost/spirit/core/composite/operators.hpp>
 #include <boost/spirit/core/composite/actions.hpp>
 #include <boost/spirit/core/primitives/numerics.hpp>
 
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
 // for head_iterator test
 //#include <boost/bind.hpp>
 #include <boost/function.hpp>
@@ -43,6 +52,11 @@
 
 namespace xml { // anonymous
 
+#ifdef BOOST_MSVC
+# pragma warning(push)
+# pragma warning(disable : 4511 4512)
+#endif
+
 template<class T>
 struct assign_impl {
     T & t;
@@ -67,6 +81,9 @@
             ++b;
         }
     }
+ assign_impl<std::string> & operator=(
+ assign_impl<std::string> & rhs
+ );
     assign_impl(std::string & t_)
         : t(t_)
     {}
@@ -150,6 +167,10 @@
     {}
 };
 
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
 } // namespace anonymous
 
 template<class CharType>
@@ -171,10 +192,12 @@
     
     CharType val;
     do{
- val = is.get();
- arg += val;
+ BOOST_DEDUCED_TYPENAME basic_xml_grammar<CharType>::IStream::int_type
+ result = is.get();
         if(is.fail())
             return false;
+ val = static_cast<CharType>(result);
+ arg += val;
     }
     while(val != delimiter);
     

Modified: branches/release/libs/serialization/src/extended_type_info.cpp
==============================================================================
--- branches/release/libs/serialization/src/extended_type_info.cpp (original)
+++ branches/release/libs/serialization/src/extended_type_info.cpp 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -32,6 +32,11 @@
 #define BOOST_SERIALIZATION_SOURCE
 #include <boost/serialization/extended_type_info.hpp>
 
+#ifdef BOOST_MSVC
+# pragma warning(push)
+# pragma warning(disable : 4511 4512)
+#endif
+
 namespace boost {
 namespace serialization {
 namespace detail {
@@ -63,6 +68,11 @@
 
 typedef std::multiset<const extended_type_info *, key_compare> ktmap;
 
+#ifdef BOOST_MSVC
+# pragma warning(push)
+# pragma warning(disable : 4511 4512)
+#endif
+
 class extended_type_info_arg : public extended_type_info
 {
     virtual bool
@@ -87,6 +97,10 @@
     }
 };
 
+#ifdef BOOST_MSVC
+# pragma warning(pop)
+#endif
+
 } // namespace detail
 
 BOOST_SERIALIZATION_DECL(void)

Modified: branches/release/libs/serialization/src/extended_type_info_typeid.cpp
==============================================================================
--- branches/release/libs/serialization/src/extended_type_info_typeid.cpp (original)
+++ branches/release/libs/serialization/src/extended_type_info_typeid.cpp 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -51,9 +51,9 @@
     // shortcut for common case
     if(this == & rhs)
         return false;
- return static_cast<bool>(m_ti->before(
+ return 0 != m_ti->before(
         *(static_cast<const extended_type_info_typeid_0 &>(rhs).m_ti)
- ));
+ );
 }
 
 BOOST_SERIALIZATION_DECL(bool)
@@ -63,10 +63,14 @@
     // shortcut for common case
     if(this == & rhs)
         return true;
- return static_cast<bool>(
+ return
+ // note: std::type_info == operator returns an int !!!
+ // the following permits conversion to bool without a warning.
+ ! (
         * m_ti
- == *(static_cast<const extended_type_info_typeid_0 &>(rhs).m_ti)
- );
+ != *(static_cast<const extended_type_info_typeid_0 &>(rhs).m_ti)
+ )
+ ;
 }
 
 BOOST_SERIALIZATION_DECL(BOOST_PP_EMPTY())
@@ -109,6 +113,11 @@
     m_ti = NULL;
 }
 
+#ifdef BOOST_MSVC
+# pragma warning(push)
+# pragma warning(disable : 4511 4512)
+#endif
+
 // this derivation is used for creating search arguments
 class extended_type_info_typeid_arg :
     public extended_type_info_typeid_0
@@ -127,6 +136,10 @@
     }
 };
 
+#ifdef BOOST_MSVC
+# pragma warning(pop)
+#endif
+
 BOOST_SERIALIZATION_DECL(const extended_type_info *)
 extended_type_info_typeid_0::get_extended_type_info(
     const std::type_info & ti

Modified: branches/release/libs/serialization/src/void_cast.cpp
==============================================================================
--- branches/release/libs/serialization/src/void_cast.cpp (original)
+++ branches/release/libs/serialization/src/void_cast.cpp 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -67,6 +67,11 @@
 typedef std::set<const void_caster *, void_caster_compare> set_type;
 typedef boost::serialization::singleton<set_type> void_caster_registry;
 
+#ifdef BOOST_MSVC
+# pragma warning(push)
+# pragma warning(disable : 4511 4512)
+#endif
+
 // implementation of shortcut void caster
 class void_caster_shortcut : public void_caster
 {
@@ -108,11 +113,15 @@
     {
         recursive_register(includes_virtual_base);
     }
- ~void_caster_shortcut(){
+ virtual ~void_caster_shortcut(){
         recursive_unregister();
     }
 };
 
+#ifdef BOOST_MSVC
+# pragma warning(pop)
+#endif
+
 void const *
 void_caster_shortcut::vbc_downcast(
     void const * const t
@@ -165,16 +174,21 @@
     return NULL;
 }
 
+#ifdef BOOST_MSVC
+# pragma warning(push)
+# pragma warning(disable : 4511 4512)
+#endif
+
 // just used as a search key
 class void_caster_argument : public void_caster
 {
     virtual void const *
- upcast(void const * const t) const {
+ upcast(void const * const /*t*/) const {
         assert(false);
         return NULL;
     }
     virtual void const *
- downcast( void const * const t) const {
+ downcast( void const * const /*t*/) const {
         assert(false);
         return NULL;
     }
@@ -185,9 +199,13 @@
     ) :
         void_caster(derived, base)
     {}
- ~void_caster_argument(){};
+ virtual ~void_caster_argument(){};
 };
 
+#ifdef BOOST_MSVC
+# pragma warning(pop)
+#endif
+
 // implementation of void caster base class
 BOOST_SERIALIZATION_DECL(void)
 void_caster::recursive_register(bool includes_virtual_base) const {
@@ -202,27 +220,47 @@
     std::clog << "\n";
     #endif
 
- s.insert(this);
+ std::pair<void_cast_detail::set_type::const_iterator, bool> result;
+ result = s.insert(this);
+ assert(result.second);
 
     // generate all implied void_casts.
     void_cast_detail::set_type::const_iterator it;
     for(it = s.begin(); it != s.end(); ++it){
- if(* m_derived == * (*it)->m_base)
- new void_caster_shortcut(
+ if(* m_derived == * (*it)->m_base){
+ const void_caster_argument vca(
                 (*it)->m_derived,
- m_base,
- m_difference + (*it)->m_difference,
- includes_virtual_base,
- this
+ m_base
             );
- if(* (*it)->m_derived == * m_base)
- new void_caster_shortcut(
+ void_cast_detail::set_type::const_iterator i;
+ i = s.find(& vca);
+ if(i == s.end()){
+ new void_caster_shortcut(
+ (*it)->m_derived,
+ m_base,
+ m_difference + (*it)->m_difference,
+ includes_virtual_base,
+ this
+ );
+ }
+ }
+ if(* (*it)->m_derived == * m_base){
+ const void_caster_argument vca(
                 m_derived,
- (*it)->m_base,
- m_difference + (*it)->m_difference,
- includes_virtual_base,
- this
+ (*it)->m_base
             );
+ void_cast_detail::set_type::const_iterator i;
+ i = s.find(& vca);
+ if(i == s.end()){
+ new void_caster_shortcut(
+ m_derived,
+ (*it)->m_base,
+ m_difference + (*it)->m_difference,
+ includes_virtual_base,
+ this
+ );
+ }
+ }
     }
 }
 
@@ -231,25 +269,23 @@
     if(void_caster_registry::is_destroyed())
         return;
 
+ #ifdef BOOST_SERIALIZATION_LOG
+ std::clog << "recursive_unregister\n";
+ std::clog << m_derived->get_debug_info();
+ std::clog << "<-";
+ std::clog << m_base->get_debug_info();
+ std::clog << "\n";
+ #endif
+
     void_cast_detail::set_type & s
         = void_caster_registry::get_mutable_instance();
 
     // delete all shortcuts which use this primitive
     void_cast_detail::set_type::iterator it;
     for(it = s.begin(); it != s.end();){
- if(
- m_base == (*it)->m_base
- && m_derived == (*it)->m_derived
- ){
- s.erase(it++);
- }
- else
- if( (*it)->m_parent == this ){
- // since recursion could invalidate it
- // save pointer to set member
- const void_caster * vc = *it;
- // and erase first
- s.erase(it++);
+ const void_caster * vc = *it;
+ if(vc->m_parent == this){
+ s.erase(it);
             delete vc;
             it = s.begin();
         }

Modified: branches/release/libs/serialization/test/A.cpp
==============================================================================
--- branches/release/libs/serialization/test/A.cpp (original)
+++ branches/release/libs/serialization/test/A.cpp 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -74,6 +74,11 @@
     return retval;
 }
 
+#if defined(_MSC_VER)
+#pragma warning(push) // Save warning settings.
+#pragma warning(disable : 4244) // Disable possible loss of data warning
+
+#endif
 A::A() :
     b(true),
     #ifndef BOOST_NO_INT64_T
@@ -90,8 +95,8 @@
     r(std::rand()),
     #endif
     c(0xff & std::rand()),
- s(std::rand()),
- t(std::rand()),
+ s(0xff & std::rand()),
+ t(0xff & std::rand()),
     u(std::rand()),
     v(std::rand()),
     w((float)std::rand()),
@@ -103,6 +108,10 @@
     #endif
 }
 
+#if defined(_MSC_VER)
+#pragma warning(pop) // Restore warnings to previous state.
+#endif
+
 bool A::operator==(const A &rhs) const
 {
     if(b != rhs.b)

Modified: branches/release/libs/serialization/test/B.hpp
==============================================================================
--- branches/release/libs/serialization/test/B.hpp (original)
+++ branches/release/libs/serialization/test/B.hpp 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -86,8 +86,8 @@
 };
 
 B::B() :
- s(std::rand()),
- t(std::rand()),
+ 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()),

Modified: branches/release/libs/serialization/test/test_binary.cpp
==============================================================================
--- branches/release/libs/serialization/test/test_binary.cpp (original)
+++ branches/release/libs/serialization/test/test_binary.cpp 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -8,7 +8,7 @@
 
 // should pass compilation and execution
 
-#include <cstdlib> // for rand(), NULL
+#include <cstdlib> // for rand(), NULL, size_t
 
 #include <fstream>
 #include <boost/config.hpp>
@@ -48,7 +48,7 @@
 A::A(){
     int i = sizeof(data);
     while(i-- > 0)
- data[i] = 0xff & std::rand();
+ data[i] = static_cast<char>(0xff & std::rand());
 }
 
 bool A::operator==(const A & rhs) const {

Modified: branches/release/libs/serialization/test/test_delete_pointer.cpp
==============================================================================
--- branches/release/libs/serialization/test/test_delete_pointer.cpp (original)
+++ branches/release/libs/serialization/test/test_delete_pointer.cpp 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -87,7 +87,7 @@
         vec.push_back(a);
     }
 
- const char * testfile = boost::archive::tmpnam(NULL);
+ const char * testfile = boost::archive::tmpnam(0);
     BOOST_REQUIRE(NULL != testfile);
 
     //output the vector

Modified: branches/release/libs/serialization/test/test_derived_class.cpp
==============================================================================
--- branches/release/libs/serialization/test/test_derived_class.cpp (original)
+++ branches/release/libs/serialization/test/test_derived_class.cpp 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -23,7 +23,7 @@
 #include "B.hpp"
 #include "A.ipp"
 
-int test_main( int argc, char* argv[] )
+int test_main( int /*argc*/, char* /*argv*/[] )
 {
   const char * testfile = boost::archive::tmpnam(NULL);
   

Modified: branches/release/libs/serialization/test/test_inclusion.cpp
==============================================================================
--- branches/release/libs/serialization/test/test_inclusion.cpp (original)
+++ branches/release/libs/serialization/test/test_inclusion.cpp 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -37,6 +37,6 @@
 };
 
 int
-main(int argc, char * argv[]){
+main(int /*argc*/, char * /*argv*/[]){
     return 0;
 }

Modified: branches/release/libs/serialization/test/test_iterators.cpp
==============================================================================
--- branches/release/libs/serialization/test/test_iterators.cpp (original)
+++ branches/release/libs/serialization/test/test_iterators.cpp 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -105,7 +105,7 @@
     
     char * rptr;
     for(rptr = rawdata + 6; rptr-- > rawdata;)
- *rptr = std::rand();
+ *rptr = static_cast<char>(0xff & std::rand());
 
     // convert 8 to 6 bit characters
     typedef boost::archive::iterators::transform_width<

Modified: branches/release/libs/serialization/test/test_iterators_base64.cpp
==============================================================================
--- branches/release/libs/serialization/test/test_iterators_base64.cpp (original)
+++ branches/release/libs/serialization/test/test_iterators_base64.cpp 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -42,7 +42,7 @@
     std::size_t size = sizeof(rawdata) / sizeof(CharType);
     CharType * rptr;
     for(rptr = rawdata + size; rptr-- > rawdata;)
- *rptr = std::rand();
+ *rptr = static_cast<CharType>(std::rand());
 
     // convert to base64
     typedef std::list<CharType> text_base64_type;
@@ -90,7 +90,7 @@
 }
 
 int
-test_main( int argc, char* argv[] )
+test_main( int /*argc*/, char* /*argv*/[] )
 {
     test_base64<char>();
     #ifndef BOOST_NO_CWCHAR

Modified: branches/release/libs/serialization/test/test_new_operator.cpp
==============================================================================
--- branches/release/libs/serialization/test/test_new_operator.cpp (original)
+++ branches/release/libs/serialization/test/test_new_operator.cpp 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -30,7 +30,7 @@
 class ANew : public A {
     friend class boost::serialization::access;
     template<class Archive>
- void serialize(Archive & ar, const unsigned file_version){
+ void serialize(Archive & ar, const unsigned /*file_version*/){
         ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(A);
     }
 public:
@@ -43,7 +43,7 @@
         ++m_new_calls;
         return ::operator new(s);
     }
- static void operator delete(void *p, std::size_t s){
+ static void operator delete(void *p, std::size_t /*s*/){
         ++m_delete_calls;
         ::operator delete(p);
     }

Modified: branches/release/libs/serialization/test/test_non_default_ctor.cpp
==============================================================================
--- branches/release/libs/serialization/test/test_non_default_ctor.cpp (original)
+++ branches/release/libs/serialization/test/test_non_default_ctor.cpp 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -63,6 +63,8 @@
         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 {
@@ -76,8 +78,8 @@
 
 A::A(int i_) :
     i(i_),
- s(std::rand()),
- t(std::rand()),
+ 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()),
@@ -104,13 +106,13 @@
 
 bool A::operator<(const A &rhs) const
 {
- if(! s == rhs.s )
+ if(! (s == rhs.s) )
         return s < rhs.s;
- if(! t == rhs.t )
+ if(! (t == rhs.t) )
         return t < rhs.t;
- if(! u == rhs.u )
+ if(! (u == rhs.u) )
         return t < rhs.u;
- if(! v == rhs.v )
+ if(! (v == rhs.v) )
         return t < rhs.v;
     if(! (std::fabs(w - rhs.w) < std::numeric_limits<float>::round_error() ) )
         return t < rhs.w;

Modified: branches/release/libs/serialization/test/test_non_default_ctor2.cpp
==============================================================================
--- branches/release/libs/serialization/test/test_non_default_ctor2.cpp (original)
+++ branches/release/libs/serialization/test/test_non_default_ctor2.cpp 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -99,14 +99,17 @@
 void save_construct_data(
     ArchiveT& archive,
     const A* p,
- const BOOST_PFTO unsigned int version
+ const BOOST_PFTO 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)
-{
+void load_construct_data(
+ ArchiveT& archive,
+ A* p,
+ const unsigned int /*version*/
+){
     IntValueHolder initialValue;
     archive & boost::serialization::make_nvp("initialValue", initialValue);
 

Modified: branches/release/libs/serialization/test/test_non_intrusive.cpp
==============================================================================
--- branches/release/libs/serialization/test/test_non_intrusive.cpp (original)
+++ branches/release/libs/serialization/test/test_non_intrusive.cpp 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -51,8 +51,8 @@
 };
 
 A::A() :
- s(std::rand()),
- t(std::rand()),
+ 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()),
@@ -74,13 +74,13 @@
 
 bool A::operator<(const A &rhs) const
 {
- if(! s == rhs.s )
+ if(! (s == rhs.s) )
         return s < rhs.s;
- if(! t == rhs.t )
+ if(! (t == rhs.t) )
         return t < rhs.t;
- if(! u == rhs.u )
+ if(! (u == rhs.u) )
         return t < rhs.u;
- if(! v == rhs.v )
+ if(! (v == rhs.v) )
         return t < rhs.v;
     if(! (std::fabs(w - rhs.w) < std::numeric_limits<float>::round_error() ) )
         return t < rhs.w;

Modified: branches/release/libs/serialization/test/test_null_ptr.cpp
==============================================================================
--- branches/release/libs/serialization/test/test_null_ptr.cpp (original)
+++ branches/release/libs/serialization/test/test_null_ptr.cpp 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -60,8 +60,10 @@
     test_istream is(testfile, TEST_STREAM_FLAGS);
     test_iarchive ia(is, TEST_ARCHIVE_FLAGS);
 
- polymorphic_base *rb1 = (polymorphic_base *)0xfffffff;
- polymorphic_derived1 *rd1 = (polymorphic_derived1 *)0xffffffff;
+ 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");

Modified: branches/release/libs/serialization/test/test_nvp.cpp
==============================================================================
--- branches/release/libs/serialization/test/test_nvp.cpp (original)
+++ branches/release/libs/serialization/test/test_nvp.cpp 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -26,7 +26,8 @@
 #include "B.hpp"
 #include "A.ipp"
 
-int test_main( int argc, char* argv[] )
+int
+test_main( int /* argc */, char* /* argv */[] )
 {
     const char * testfile = boost::archive::tmpnam(NULL);
     BOOST_REQUIRE(NULL != testfile);

Modified: branches/release/libs/serialization/test/test_private_ctor.cpp
==============================================================================
--- branches/release/libs/serialization/test/test_private_ctor.cpp (original)
+++ branches/release/libs/serialization/test/test_private_ctor.cpp 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -24,7 +24,7 @@
     {}
     ~V(){}
     template<class Archive>
- void serialize(Archive& ar, unsigned version)
+ void serialize(Archive& ar, unsigned /*version*/)
     {
         ar & m_i;
     }

Modified: branches/release/libs/serialization/test/test_reset_object_address.cpp
==============================================================================
--- branches/release/libs/serialization/test/test_reset_object_address.cpp (original)
+++ branches/release/libs/serialization/test/test_reset_object_address.cpp 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -63,7 +63,7 @@
     friend class boost::serialization::access;
     int m_i;
     template<class Archive>
- void serialize(Archive &ar, const unsigned int file_version){
+ void serialize(Archive &ar, const unsigned int /*file_version*/){
         ar & m_i;
     }
 public:
@@ -108,7 +108,7 @@
 class D {
     friend class boost::serialization::access;
     template<class Archive>
- void serialize(Archive &ar, const unsigned int file_version){
+ void serialize(Archive &ar, const unsigned int /*file_version*/){
         ar & m_b;
     }
 public:
@@ -149,7 +149,7 @@
     int m_i;
     friend class boost::serialization::access;
     template<class Archive>
- void serialize(Archive &ar, const unsigned int file_version){
+ void serialize(Archive &ar, const unsigned int /*file_version*/){
         ar & m_i;
     }
 public:
@@ -170,7 +170,7 @@
     friend class boost::serialization::access;
     E * m_eptr;
     template<class Archive>
- void serialize(Archive &ar, const unsigned int file_version){
+ void serialize(Archive &ar, const unsigned int /*file_version*/){
         ar & m_eptr;
     }
 public:
@@ -219,13 +219,13 @@
     A m_a2;
     A *m_pa2;
     template<class Archive>
- void save(Archive &ar, const unsigned int file_version) const {
+ 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){
+ void load(Archive &ar, const unsigned int /*file_version*/){
         A a; // temporary A
         ar >> a;
         m_a1 = a;

Modified: branches/release/libs/serialization/test/test_smart_cast.cpp
==============================================================================
--- branches/release/libs/serialization/test/test_smart_cast.cpp (original)
+++ branches/release/libs/serialization/test/test_smart_cast.cpp 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -25,11 +25,20 @@
     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
+
 BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(Base1)
 BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(Base2)
 BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(Derived)
@@ -112,7 +121,6 @@
     );
 }
 
-
 class VBase1 : public boost::noncopyable
 {
     char a;
@@ -127,6 +135,11 @@
     virtual ~VBase2(){};
 };
 
+#ifdef BOOST_MSVC
+# pragma warning(push)
+# pragma warning(disable : 4511 4512)
+#endif
+
 class VDerived : public VBase1, public VBase2
 {
     long c;
@@ -134,6 +147,10 @@
     virtual ~VDerived(){};
 };
 
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
 BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(VBase1)
 BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(VBase2)
 BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(VDerived)

Modified: branches/release/libs/serialization/test/test_tools.hpp
==============================================================================
--- branches/release/libs/serialization/test/test_tools.hpp (original)
+++ branches/release/libs/serialization/test/test_tools.hpp 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -17,6 +17,7 @@
 // See http://www.boost.org for updates, documentation, and revision history.
 
 #include <cstdio> // remove, tmpnam
+#include <cstddef> // size_t
 #ifndef BOOST_NO_EXCEPTION_STD_NAMESPACE
     #include <exception>
 #endif
@@ -74,7 +75,7 @@
 namespace archive {
     const char * test_filename(const char * dir = NULL, char *fname = NULL){
         static char ibuffer [512];
- int i;
+ std::size_t i;
         ibuffer[0] = '\0';
         if(NULL == dir){
             dir = boost::archive::tmpdir();

Modified: branches/release/libs/serialization/util/test.jam
==============================================================================
--- branches/release/libs/serialization/util/test.jam (original)
+++ branches/release/libs/serialization/util/test.jam 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -33,10 +33,17 @@
         : # command
         : # input files
         : # requirements
- # toolset suppress-warnings
- <toolset>gcc:<cxxflags>"-Wno-non-virtual-dtor -Wno-ctor-dtor-privacy"
- <toolset>msvc-8.0:<cxxflags>"-wd4996"
+ # toolset warnings
+ # <toolset>gcc:<cxxflags>"-Wno-non-virtual-dtor -Wno-ctor-dtor-privacy"
             <toolset>borland:<cxxflags>"-w-8080 -w-8071 -w-8057 -w-8062 -w-8008 -w-0018 -w-8066"
+ <toolset>gcc:<warnings>all # ?
+ <toolset>gcc:<cxxflags>"-Wno-long-long"
+ <toolset>msvc:<warnings>all # == /W4
+ <toolset>msvc:<define>_SCL_SECURE_NO_WARNINGS
+ <toolset>msvc:<define>_SCL_SECURE_NO_DEPRECATE
+ <toolset>msvc:<define>_CRT_SECURE_NO_WARNINGS
+ <toolset>msvc:<define>_CRT_SECURE_NO_DEPRECATE
+ <toolset>msvc:<cxxflags>"-wd4996"
             # toolset optimizations
             <toolset>gcc:<cxxflags>"-ftemplate-depth-255"
             <toolset>msvc:<cxxflags>"-Gy"

Modified: branches/release/libs/serialization/vc7ide/BoostSerializationLibrary.sln
==============================================================================
--- branches/release/libs/serialization/vc7ide/BoostSerializationLibrary.sln (original)
+++ branches/release/libs/serialization/vc7ide/BoostSerializationLibrary.sln 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -3752,86 +3752,86 @@
                 {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-static threading-multi|Win32
                 {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-static threading-multi|Win32
                 {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-static threading-multi|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Default runtime-dynamic.ActiveCfg = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Default runtime-dynamic.Build.0 = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Debug runtime-static|Win32
- {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Debug runtime-static|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static threading-multi|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static threading-multi|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.Build.0 = Debug runtime-dynamic|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.ActiveCfg = Debug runtime-dynamic|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic binary_archive.Build.0 = Debug runtime-dynamic|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.ActiveCfg = Debug runtime-dynamic|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_archive.Build.0 = Debug runtime-dynamic|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.ActiveCfg = Debug runtime-dynamic|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic text_warchive.Build.0 = Debug runtime-dynamic|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.ActiveCfg = Debug runtime-dynamic threading-multi|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic threading-multi.Build.0 = Debug runtime-dynamic threading-multi|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.ActiveCfg = Debug runtime-dynamic|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_archive.Build.0 = Debug runtime-dynamic|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.ActiveCfg = Debug runtime-dynamic|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic xml_warchive.Build.0 = Debug runtime-dynamic|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.ActiveCfg = Debug runtime-static|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static.Build.0 = Debug runtime-static|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.ActiveCfg = Debug runtime-static threading-multi|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static binary_archive.Build.0 = Debug runtime-static threading-multi|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.ActiveCfg = Debug runtime-static threading-multi|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_archive.Build.0 = Debug runtime-static threading-multi|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.ActiveCfg = Debug runtime-static threading-multi|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static text_warchive.Build.0 = Debug runtime-static threading-multi|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.ActiveCfg = Debug runtime-static threading-multi|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi.Build.0 = Debug runtime-static threading-multi|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.ActiveCfg = Debug runtime-static threading-multi|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi binary_archive.Build.0 = Debug runtime-static threading-multi|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.ActiveCfg = Debug runtime-static threading-multi|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_archive.Build.0 = Debug runtime-static threading-multi|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.ActiveCfg = Debug runtime-static threading-multi|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi text_warchive.Build.0 = Debug runtime-static threading-multi|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.ActiveCfg = Debug runtime-static threading-multi|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_archive.Build.0 = Debug runtime-static threading-multi|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.ActiveCfg = Debug runtime-static threading-multi|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static threading-multi xml_warchive.Build.0 = Debug runtime-static threading-multi|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.ActiveCfg = Debug runtime-static threading-multi|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_archive.Build.0 = Debug runtime-static threading-multi|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.ActiveCfg = Debug runtime-static threading-multi|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-static xml_warchive.Build.0 = Debug runtime-static threading-multi|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Default runtime-dynamic.ActiveCfg = Debug runtime-dynamic threading-multi|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Default runtime-dynamic.Build.0 = Debug runtime-dynamic threading-multi|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.ActiveCfg = Release runtime-dynamic|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release.Build.0 = Release runtime-dynamic|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.ActiveCfg = Release runtime-dynamic|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic.Build.0 = Release runtime-dynamic|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.ActiveCfg = Release runtime-dynamic|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic binary_archive.Build.0 = Release runtime-dynamic|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.ActiveCfg = Release runtime-dynamic|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_archive.Build.0 = Release runtime-dynamic|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.ActiveCfg = Release runtime-dynamic|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic text_warchive.Build.0 = Release runtime-dynamic|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.ActiveCfg = Release runtime-dynamic|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_archive.Build.0 = Release runtime-dynamic|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.ActiveCfg = Release runtime-dynamic|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-dynamic xml_warchive.Build.0 = Release runtime-dynamic|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.ActiveCfg = Release runtime-static|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static.Build.0 = Release runtime-static|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.ActiveCfg = Release runtime-static threading-multi|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static binary_archive.Build.0 = Release runtime-static threading-multi|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.ActiveCfg = Release runtime-static threading-multi|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_archive.Build.0 = Release runtime-static threading-multi|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.ActiveCfg = Release runtime-static threading-multi|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static text_warchive.Build.0 = Release runtime-static threading-multi|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.ActiveCfg = Release runtime-static threading-multi|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi.Build.0 = Release runtime-static threading-multi|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.ActiveCfg = Release runtime-static threading-multi|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi binary_archive.Build.0 = Release runtime-static threading-multi|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.ActiveCfg = Release runtime-static threading-multi|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_archive.Build.0 = Release runtime-static threading-multi|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.ActiveCfg = Release runtime-static threading-multi|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi text_warchive.Build.0 = Release runtime-static threading-multi|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.ActiveCfg = Release runtime-static threading-multi|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_archive.Build.0 = Release runtime-static threading-multi|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.ActiveCfg = Release runtime-static threading-multi|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static threading-multi xml_warchive.Build.0 = Release runtime-static threading-multi|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.ActiveCfg = Release runtime-static threading-multi|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_archive.Build.0 = Release runtime-static threading-multi|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-static threading-multi|Win32
+ {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-static threading-multi|Win32
                 {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.ActiveCfg = Debug runtime-static threading-multi|Win32
                 {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug.Build.0 = Debug runtime-static threading-multi|Win32
                 {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Debug runtime-dynamic.ActiveCfg = Debug runtime-dynamic|Win32
@@ -7353,6 +7353,10 @@
                 {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.ActiveCfg = Release runtime-static threading-multi|Win32
                 {A7D4CC95-F2AC-11D6-9E47-525400E2CF85}.Release runtime-static xml_warchive.Build.0 = Release runtime-static threading-multi|Win32
         EndGlobalSection
+ GlobalSection(SolutionItems) = postSolution
+ ..\test\Jamfile.v2 = ..\test\Jamfile.v2
+ ..\util\test.jam = ..\util\test.jam
+ EndGlobalSection
         GlobalSection(ExtensibilityGlobals) = postSolution
         EndGlobalSection
         GlobalSection(ExtensibilityAddIns) = postSolution

Modified: branches/release/libs/serialization/vc7ide/Library.vcproj
==============================================================================
--- branches/release/libs/serialization/vc7ide/Library.vcproj (original)
+++ branches/release/libs/serialization/vc7ide/Library.vcproj 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -36,7 +36,7 @@
                                 ForceConformanceInForLoopScope="TRUE"
                                 RuntimeTypeInfo="TRUE"
                                 UsePrecompiledHeader="0"
- WarningLevel="3"
+ WarningLevel="4"
                                 Detect64BitPortabilityProblems="FALSE"
                                 DebugInformationFormat="3"
                                 CompileAs="0"/>
@@ -664,6 +664,9 @@
                                 RelativePath="..\..\..\boost\archive\codecvt_null.hpp">
                         </File>
                         <File
+ RelativePath="..\..\..\boost\serialization\collection_size_type.hpp">
+ </File>
+ <File
                                 RelativePath="..\..\..\boost\serialization\config.hpp">
                         </File>
                         <File

Modified: branches/release/libs/serialization/vc7ide/demo_polymorphic.vcproj
==============================================================================
--- branches/release/libs/serialization/vc7ide/demo_polymorphic.vcproj (original)
+++ branches/release/libs/serialization/vc7ide/demo_polymorphic.vcproj 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -130,6 +130,9 @@
                         RelativePath="..\example\demo_polymorphic.cpp">
                 </File>
                 <File
+ RelativePath="..\example\demo_polymorphic_A.cpp">
+ </File>
+ <File
                         RelativePath="..\example\demo_polymorphic_A.hpp">
                 </File>
         </Files>

Modified: branches/release/libs/serialization/vc7ide/test_array.vcproj
==============================================================================
--- branches/release/libs/serialization/vc7ide/test_array.vcproj (original)
+++ branches/release/libs/serialization/vc7ide/test_array.vcproj 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -1704,14 +1704,14 @@
                                 Optimization="0"
                                 ImproveFloatingPointConsistency="TRUE"
                                 AdditionalIncludeDirectories="&quot;$(ProjectDir)..\..\..&quot;"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1;BOOST_ARCHIVE_TEST=binary_archive.hpp"
                                 BasicRuntimeChecks="0"
                                 SmallerTypeCheck="FALSE"
                                 RuntimeLibrary="3"
                                 TreatWChar_tAsBuiltInType="TRUE"
                                 ForceConformanceInForLoopScope="TRUE"
                                 RuntimeTypeInfo="TRUE"
- WarningLevel="3"
+ WarningLevel="4"
                                 DebugInformationFormat="1"/>
                         <Tool
                                 Name="VCCustomBuildTool"/>

Modified: branches/release/libs/serialization/vc7ide/test_binary.vcproj
==============================================================================
--- branches/release/libs/serialization/vc7ide/test_binary.vcproj (original)
+++ branches/release/libs/serialization/vc7ide/test_binary.vcproj 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -21,7 +21,7 @@
                                 Optimization="0"
                                 ImproveFloatingPointConsistency="TRUE"
                                 AdditionalIncludeDirectories="&quot;$(ProjectDir)..\..\..\&quot;"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1;BOOST_ARCHIVE_TEST=binary_archive.hpp"
                                 SmallerTypeCheck="TRUE"
                                 RuntimeLibrary="3"
                                 BufferSecurityCheck="TRUE"
@@ -29,7 +29,7 @@
                                 TreatWChar_tAsBuiltInType="TRUE"
                                 ForceConformanceInForLoopScope="TRUE"
                                 RuntimeTypeInfo="TRUE"
- WarningLevel="3"
+ WarningLevel="4"
                                 Detect64BitPortabilityProblems="FALSE"
                                 DebugInformationFormat="1"
                                 CompileAs="0"/>

Modified: branches/release/libs/serialization/vc7ide/test_class_info_load.vcproj
==============================================================================
--- branches/release/libs/serialization/vc7ide/test_class_info_load.vcproj (original)
+++ branches/release/libs/serialization/vc7ide/test_class_info_load.vcproj 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -21,7 +21,7 @@
                                 Optimization="0"
                                 ImproveFloatingPointConsistency="TRUE"
                                 AdditionalIncludeDirectories="&quot;$(ProjectDir)..\..\..\&quot;"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1;BOOST_ARCHIVE_TEST=xml_warchive.hpp"
                                 SmallerTypeCheck="TRUE"
                                 RuntimeLibrary="3"
                                 BufferSecurityCheck="TRUE"
@@ -29,7 +29,7 @@
                                 TreatWChar_tAsBuiltInType="TRUE"
                                 ForceConformanceInForLoopScope="TRUE"
                                 RuntimeTypeInfo="TRUE"
- WarningLevel="3"
+ WarningLevel="4"
                                 Detect64BitPortabilityProblems="FALSE"
                                 DebugInformationFormat="1"
                                 CompileAs="0"/>

Modified: branches/release/libs/serialization/vc7ide/test_codecvt_null.vcproj
==============================================================================
--- branches/release/libs/serialization/vc7ide/test_codecvt_null.vcproj (original)
+++ branches/release/libs/serialization/vc7ide/test_codecvt_null.vcproj 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -29,7 +29,7 @@
                                 TreatWChar_tAsBuiltInType="TRUE"
                                 ForceConformanceInForLoopScope="TRUE"
                                 RuntimeTypeInfo="TRUE"
- WarningLevel="3"
+ WarningLevel="4"
                                 Detect64BitPortabilityProblems="FALSE"
                                 DebugInformationFormat="1"
                                 CompileAs="0"/>

Modified: branches/release/libs/serialization/vc7ide/test_contained_class.vcproj
==============================================================================
--- branches/release/libs/serialization/vc7ide/test_contained_class.vcproj (original)
+++ branches/release/libs/serialization/vc7ide/test_contained_class.vcproj 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -28,7 +28,7 @@
                                 TreatWChar_tAsBuiltInType="TRUE"
                                 ForceConformanceInForLoopScope="TRUE"
                                 RuntimeTypeInfo="TRUE"
- WarningLevel="3"
+ WarningLevel="4"
                                 Detect64BitPortabilityProblems="FALSE"
                                 DebugInformationFormat="1"
                                 CompileAs="0"/>

Modified: branches/release/libs/serialization/vc7ide/test_delete_pointer.vcproj
==============================================================================
--- branches/release/libs/serialization/vc7ide/test_delete_pointer.vcproj (original)
+++ branches/release/libs/serialization/vc7ide/test_delete_pointer.vcproj 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -29,7 +29,7 @@
                                 TreatWChar_tAsBuiltInType="TRUE"
                                 ForceConformanceInForLoopScope="TRUE"
                                 RuntimeTypeInfo="TRUE"
- WarningLevel="3"
+ WarningLevel="4"
                                 Detect64BitPortabilityProblems="FALSE"
                                 DebugInformationFormat="1"
                                 CompileAs="0"/>

Modified: branches/release/libs/serialization/vc7ide/test_deque.vcproj
==============================================================================
--- branches/release/libs/serialization/vc7ide/test_deque.vcproj (original)
+++ branches/release/libs/serialization/vc7ide/test_deque.vcproj 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -29,7 +29,7 @@
                                 TreatWChar_tAsBuiltInType="TRUE"
                                 ForceConformanceInForLoopScope="TRUE"
                                 RuntimeTypeInfo="TRUE"
- WarningLevel="3"
+ WarningLevel="4"
                                 Detect64BitPortabilityProblems="FALSE"
                                 DebugInformationFormat="1"
                                 CompileAs="0"/>

Modified: branches/release/libs/serialization/vc7ide/test_derived_class_ptr.vcproj
==============================================================================
--- branches/release/libs/serialization/vc7ide/test_derived_class_ptr.vcproj (original)
+++ branches/release/libs/serialization/vc7ide/test_derived_class_ptr.vcproj 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -29,7 +29,7 @@
                                 TreatWChar_tAsBuiltInType="TRUE"
                                 ForceConformanceInForLoopScope="TRUE"
                                 RuntimeTypeInfo="TRUE"
- WarningLevel="3"
+ WarningLevel="4"
                                 Detect64BitPortabilityProblems="FALSE"
                                 DebugInformationFormat="1"
                                 CompileAs="0"/>

Modified: branches/release/libs/serialization/vc7ide/test_diamond.vcproj
==============================================================================
--- branches/release/libs/serialization/vc7ide/test_diamond.vcproj (original)
+++ branches/release/libs/serialization/vc7ide/test_diamond.vcproj 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -29,7 +29,7 @@
                                 TreatWChar_tAsBuiltInType="TRUE"
                                 ForceConformanceInForLoopScope="TRUE"
                                 RuntimeTypeInfo="TRUE"
- WarningLevel="3"
+ WarningLevel="4"
                                 Detect64BitPortabilityProblems="FALSE"
                                 DebugInformationFormat="1"
                                 CompileAs="0"/>

Modified: branches/release/libs/serialization/vc7ide/test_dll_simple.vcproj
==============================================================================
--- branches/release/libs/serialization/vc7ide/test_dll_simple.vcproj (original)
+++ branches/release/libs/serialization/vc7ide/test_dll_simple.vcproj 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -29,7 +29,7 @@
                                 TreatWChar_tAsBuiltInType="TRUE"
                                 ForceConformanceInForLoopScope="TRUE"
                                 RuntimeTypeInfo="TRUE"
- WarningLevel="3"
+ WarningLevel="4"
                                 Detect64BitPortabilityProblems="FALSE"
                                 DebugInformationFormat="1"
                                 CompileAs="0"/>

Modified: branches/release/libs/serialization/vc7ide/test_exported.vcproj
==============================================================================
--- branches/release/libs/serialization/vc7ide/test_exported.vcproj (original)
+++ branches/release/libs/serialization/vc7ide/test_exported.vcproj 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -29,7 +29,7 @@
                                 TreatWChar_tAsBuiltInType="TRUE"
                                 ForceConformanceInForLoopScope="TRUE"
                                 RuntimeTypeInfo="TRUE"
- WarningLevel="3"
+ WarningLevel="4"
                                 Detect64BitPortabilityProblems="FALSE"
                                 DebugInformationFormat="1"
                                 CompileAs="0"/>

Modified: branches/release/libs/serialization/vc7ide/test_inclusion.vcproj
==============================================================================
--- branches/release/libs/serialization/vc7ide/test_inclusion.vcproj (original)
+++ branches/release/libs/serialization/vc7ide/test_inclusion.vcproj 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -28,7 +28,7 @@
                                 TreatWChar_tAsBuiltInType="TRUE"
                                 ForceConformanceInForLoopScope="TRUE"
                                 RuntimeTypeInfo="TRUE"
- WarningLevel="3"
+ WarningLevel="4"
                                 Detect64BitPortabilityProblems="FALSE"
                                 DebugInformationFormat="1"
                                 CompileAs="0"/>

Modified: branches/release/libs/serialization/vc7ide/test_iterators.vcproj
==============================================================================
--- branches/release/libs/serialization/vc7ide/test_iterators.vcproj (original)
+++ branches/release/libs/serialization/vc7ide/test_iterators.vcproj 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -29,7 +29,7 @@
                                 TreatWChar_tAsBuiltInType="TRUE"
                                 ForceConformanceInForLoopScope="TRUE"
                                 RuntimeTypeInfo="TRUE"
- WarningLevel="3"
+ WarningLevel="4"
                                 Detect64BitPortabilityProblems="FALSE"
                                 DebugInformationFormat="1"
                                 CompileAs="0"/>

Modified: branches/release/libs/serialization/vc7ide/test_iterators_base64.vcproj
==============================================================================
--- branches/release/libs/serialization/vc7ide/test_iterators_base64.vcproj (original)
+++ branches/release/libs/serialization/vc7ide/test_iterators_base64.vcproj 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -29,7 +29,7 @@
                                 TreatWChar_tAsBuiltInType="TRUE"
                                 ForceConformanceInForLoopScope="TRUE"
                                 RuntimeTypeInfo="TRUE"
- WarningLevel="3"
+ WarningLevel="4"
                                 Detect64BitPortabilityProblems="FALSE"
                                 DebugInformationFormat="1"
                                 CompileAs="0"/>

Modified: branches/release/libs/serialization/vc7ide/test_list.vcproj
==============================================================================
--- branches/release/libs/serialization/vc7ide/test_list.vcproj (original)
+++ branches/release/libs/serialization/vc7ide/test_list.vcproj 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -29,7 +29,7 @@
                                 TreatWChar_tAsBuiltInType="TRUE"
                                 ForceConformanceInForLoopScope="TRUE"
                                 RuntimeTypeInfo="TRUE"
- WarningLevel="3"
+ WarningLevel="4"
                                 Detect64BitPortabilityProblems="FALSE"
                                 DebugInformationFormat="1"
                                 CompileAs="0"/>

Modified: branches/release/libs/serialization/vc7ide/test_list_ptrs.vcproj
==============================================================================
--- branches/release/libs/serialization/vc7ide/test_list_ptrs.vcproj (original)
+++ branches/release/libs/serialization/vc7ide/test_list_ptrs.vcproj 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -29,7 +29,7 @@
                                 TreatWChar_tAsBuiltInType="TRUE"
                                 ForceConformanceInForLoopScope="TRUE"
                                 RuntimeTypeInfo="TRUE"
- WarningLevel="3"
+ WarningLevel="4"
                                 Detect64BitPortabilityProblems="FALSE"
                                 DebugInformationFormat="1"
                                 CompileAs="0"/>

Modified: branches/release/libs/serialization/vc7ide/test_map.vcproj
==============================================================================
--- branches/release/libs/serialization/vc7ide/test_map.vcproj (original)
+++ branches/release/libs/serialization/vc7ide/test_map.vcproj 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -29,7 +29,7 @@
                                 TreatWChar_tAsBuiltInType="TRUE"
                                 ForceConformanceInForLoopScope="TRUE"
                                 RuntimeTypeInfo="TRUE"
- WarningLevel="3"
+ WarningLevel="4"
                                 Detect64BitPortabilityProblems="FALSE"
                                 DebugInformationFormat="1"
                                 CompileAs="0"/>

Modified: branches/release/libs/serialization/vc7ide/test_mi.vcproj
==============================================================================
--- branches/release/libs/serialization/vc7ide/test_mi.vcproj (original)
+++ branches/release/libs/serialization/vc7ide/test_mi.vcproj 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -29,7 +29,7 @@
                                 TreatWChar_tAsBuiltInType="TRUE"
                                 ForceConformanceInForLoopScope="TRUE"
                                 RuntimeTypeInfo="TRUE"
- WarningLevel="3"
+ WarningLevel="4"
                                 Detect64BitPortabilityProblems="FALSE"
                                 DebugInformationFormat="1"
                                 CompileAs="0"/>

Modified: branches/release/libs/serialization/vc7ide/test_multiple_inheritance.vcproj
==============================================================================
--- branches/release/libs/serialization/vc7ide/test_multiple_inheritance.vcproj (original)
+++ branches/release/libs/serialization/vc7ide/test_multiple_inheritance.vcproj 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -29,7 +29,7 @@
                                 TreatWChar_tAsBuiltInType="TRUE"
                                 ForceConformanceInForLoopScope="TRUE"
                                 RuntimeTypeInfo="TRUE"
- WarningLevel="3"
+ WarningLevel="4"
                                 Detect64BitPortabilityProblems="FALSE"
                                 DebugInformationFormat="1"
                                 CompileAs="0"/>

Modified: branches/release/libs/serialization/vc7ide/test_new_operator.vcproj
==============================================================================
--- branches/release/libs/serialization/vc7ide/test_new_operator.vcproj (original)
+++ branches/release/libs/serialization/vc7ide/test_new_operator.vcproj 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -29,7 +29,7 @@
                                 TreatWChar_tAsBuiltInType="TRUE"
                                 ForceConformanceInForLoopScope="TRUE"
                                 RuntimeTypeInfo="TRUE"
- WarningLevel="3"
+ WarningLevel="4"
                                 Detect64BitPortabilityProblems="FALSE"
                                 DebugInformationFormat="1"
                                 CompileAs="0"/>

Modified: branches/release/libs/serialization/vc7ide/test_no_rtti.vcproj
==============================================================================
--- branches/release/libs/serialization/vc7ide/test_no_rtti.vcproj (original)
+++ branches/release/libs/serialization/vc7ide/test_no_rtti.vcproj 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -30,7 +30,7 @@
                                 TreatWChar_tAsBuiltInType="TRUE"
                                 ForceConformanceInForLoopScope="TRUE"
                                 RuntimeTypeInfo="TRUE"
- WarningLevel="3"
+ WarningLevel="4"
                                 Detect64BitPortabilityProblems="FALSE"
                                 DebugInformationFormat="1"
                                 CompileAs="0"/>

Modified: branches/release/libs/serialization/vc7ide/test_non_default_ctor.vcproj
==============================================================================
--- branches/release/libs/serialization/vc7ide/test_non_default_ctor.vcproj (original)
+++ branches/release/libs/serialization/vc7ide/test_non_default_ctor.vcproj 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -29,7 +29,7 @@
                                 TreatWChar_tAsBuiltInType="TRUE"
                                 ForceConformanceInForLoopScope="TRUE"
                                 RuntimeTypeInfo="TRUE"
- WarningLevel="3"
+ WarningLevel="4"
                                 Detect64BitPortabilityProblems="FALSE"
                                 DebugInformationFormat="1"
                                 CompileAs="0"/>

Modified: branches/release/libs/serialization/vc7ide/test_non_default_ctor2.vcproj
==============================================================================
--- branches/release/libs/serialization/vc7ide/test_non_default_ctor2.vcproj (original)
+++ branches/release/libs/serialization/vc7ide/test_non_default_ctor2.vcproj 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -29,7 +29,7 @@
                                 TreatWChar_tAsBuiltInType="TRUE"
                                 ForceConformanceInForLoopScope="TRUE"
                                 RuntimeTypeInfo="TRUE"
- WarningLevel="3"
+ WarningLevel="4"
                                 Detect64BitPortabilityProblems="FALSE"
                                 DebugInformationFormat="1"
                                 CompileAs="0"/>

Modified: branches/release/libs/serialization/vc7ide/test_non_intrusive.vcproj
==============================================================================
--- branches/release/libs/serialization/vc7ide/test_non_intrusive.vcproj (original)
+++ branches/release/libs/serialization/vc7ide/test_non_intrusive.vcproj 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -29,7 +29,7 @@
                                 TreatWChar_tAsBuiltInType="TRUE"
                                 ForceConformanceInForLoopScope="TRUE"
                                 RuntimeTypeInfo="TRUE"
- WarningLevel="3"
+ WarningLevel="4"
                                 Detect64BitPortabilityProblems="FALSE"
                                 DebugInformationFormat="1"
                                 CompileAs="0"/>

Modified: branches/release/libs/serialization/vc7ide/test_null_ptr.vcproj
==============================================================================
--- branches/release/libs/serialization/vc7ide/test_null_ptr.vcproj (original)
+++ branches/release/libs/serialization/vc7ide/test_null_ptr.vcproj 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -29,7 +29,7 @@
                                 TreatWChar_tAsBuiltInType="TRUE"
                                 ForceConformanceInForLoopScope="TRUE"
                                 RuntimeTypeInfo="TRUE"
- WarningLevel="3"
+ WarningLevel="4"
                                 Detect64BitPortabilityProblems="FALSE"
                                 DebugInformationFormat="1"
                                 CompileAs="0"/>

Modified: branches/release/libs/serialization/vc7ide/test_nvp.vcproj
==============================================================================
--- branches/release/libs/serialization/vc7ide/test_nvp.vcproj (original)
+++ branches/release/libs/serialization/vc7ide/test_nvp.vcproj 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -29,7 +29,7 @@
                                 TreatWChar_tAsBuiltInType="TRUE"
                                 ForceConformanceInForLoopScope="TRUE"
                                 RuntimeTypeInfo="TRUE"
- WarningLevel="3"
+ WarningLevel="4"
                                 Detect64BitPortabilityProblems="FALSE"
                                 DebugInformationFormat="1"
                                 CompileAs="0"/>

Modified: branches/release/libs/serialization/vc7ide/test_polymorphic.vcproj
==============================================================================
--- branches/release/libs/serialization/vc7ide/test_polymorphic.vcproj (original)
+++ branches/release/libs/serialization/vc7ide/test_polymorphic.vcproj 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -21,7 +21,7 @@
                                 Optimization="0"
                                 ImproveFloatingPointConsistency="TRUE"
                                 AdditionalIncludeDirectories="&quot;$(ProjectDir)..\..\..\&quot;"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_LIB_DIAGNOSTIC=1;BOOST_ALL_DYN_LINK=1;BOOST_ARCHIVE_TEST=polymorphic_text_archive.hpp"
                                 SmallerTypeCheck="TRUE"
                                 RuntimeLibrary="3"
                                 BufferSecurityCheck="TRUE"
@@ -29,7 +29,7 @@
                                 TreatWChar_tAsBuiltInType="TRUE"
                                 ForceConformanceInForLoopScope="TRUE"
                                 RuntimeTypeInfo="TRUE"
- WarningLevel="3"
+ WarningLevel="4"
                                 Detect64BitPortabilityProblems="FALSE"
                                 DebugInformationFormat="1"
                                 CompileAs="0"/>

Modified: branches/release/libs/serialization/vc7ide/test_private_ctor.vcproj
==============================================================================
--- branches/release/libs/serialization/vc7ide/test_private_ctor.vcproj (original)
+++ branches/release/libs/serialization/vc7ide/test_private_ctor.vcproj 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -29,7 +29,7 @@
                                 TreatWChar_tAsBuiltInType="TRUE"
                                 ForceConformanceInForLoopScope="TRUE"
                                 RuntimeTypeInfo="TRUE"
- WarningLevel="3"
+ WarningLevel="4"
                                 Detect64BitPortabilityProblems="FALSE"
                                 DebugInformationFormat="1"
                                 CompileAs="0"/>

Modified: branches/release/libs/serialization/vc7ide/test_registered.vcproj
==============================================================================
--- branches/release/libs/serialization/vc7ide/test_registered.vcproj (original)
+++ branches/release/libs/serialization/vc7ide/test_registered.vcproj 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -29,7 +29,7 @@
                                 TreatWChar_tAsBuiltInType="TRUE"
                                 ForceConformanceInForLoopScope="TRUE"
                                 RuntimeTypeInfo="TRUE"
- WarningLevel="3"
+ WarningLevel="4"
                                 Detect64BitPortabilityProblems="FALSE"
                                 DebugInformationFormat="1"
                                 CompileAs="0"/>

Modified: branches/release/libs/serialization/vc7ide/test_reset_object_addr.vcproj
==============================================================================
--- branches/release/libs/serialization/vc7ide/test_reset_object_addr.vcproj (original)
+++ branches/release/libs/serialization/vc7ide/test_reset_object_addr.vcproj 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -29,7 +29,7 @@
                                 TreatWChar_tAsBuiltInType="TRUE"
                                 ForceConformanceInForLoopScope="TRUE"
                                 RuntimeTypeInfo="TRUE"
- WarningLevel="3"
+ WarningLevel="4"
                                 Detect64BitPortabilityProblems="FALSE"
                                 DebugInformationFormat="1"
                                 CompileAs="0"/>

Modified: branches/release/libs/serialization/vc7ide/test_set.vcproj
==============================================================================
--- branches/release/libs/serialization/vc7ide/test_set.vcproj (original)
+++ branches/release/libs/serialization/vc7ide/test_set.vcproj 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -29,7 +29,7 @@
                                 TreatWChar_tAsBuiltInType="TRUE"
                                 ForceConformanceInForLoopScope="TRUE"
                                 RuntimeTypeInfo="TRUE"
- WarningLevel="3"
+ WarningLevel="4"
                                 Detect64BitPortabilityProblems="FALSE"
                                 DebugInformationFormat="1"
                                 CompileAs="0"/>
@@ -127,6 +127,9 @@
         </References>
         <Files>
                 <File
+ RelativePath="..\test\A.cpp">
+ </File>
+ <File
                         RelativePath="..\test\A.hpp">
                 </File>
                 <File

Modified: branches/release/libs/serialization/vc7ide/test_shared_ptr.vcproj
==============================================================================
--- branches/release/libs/serialization/vc7ide/test_shared_ptr.vcproj (original)
+++ branches/release/libs/serialization/vc7ide/test_shared_ptr.vcproj 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -18,6 +18,7 @@
                         ConfigurationType="1">
                         <Tool
                                 Name="VCCLCompilerTool"
+ AdditionalOptions="/wd4512 /wd4511"
                                 Optimization="0"
                                 ImproveFloatingPointConsistency="TRUE"
                                 AdditionalIncludeDirectories="&quot;$(ProjectDir)..\..\..\&quot;"
@@ -29,7 +30,7 @@
                                 TreatWChar_tAsBuiltInType="TRUE"
                                 ForceConformanceInForLoopScope="TRUE"
                                 RuntimeTypeInfo="TRUE"
- WarningLevel="3"
+ WarningLevel="4"
                                 Detect64BitPortabilityProblems="FALSE"
                                 DebugInformationFormat="1"
                                 CompileAs="0"/>

Modified: branches/release/libs/serialization/vc7ide/test_shared_ptr_132.vcproj
==============================================================================
--- branches/release/libs/serialization/vc7ide/test_shared_ptr_132.vcproj (original)
+++ branches/release/libs/serialization/vc7ide/test_shared_ptr_132.vcproj 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -29,7 +29,7 @@
                                 TreatWChar_tAsBuiltInType="TRUE"
                                 ForceConformanceInForLoopScope="TRUE"
                                 RuntimeTypeInfo="TRUE"
- WarningLevel="3"
+ WarningLevel="4"
                                 Detect64BitPortabilityProblems="FALSE"
                                 DebugInformationFormat="1"
                                 CompileAs="0"/>

Modified: branches/release/libs/serialization/vc7ide/test_shared_ptr_multi_base.vcproj
==============================================================================
--- branches/release/libs/serialization/vc7ide/test_shared_ptr_multi_base.vcproj (original)
+++ branches/release/libs/serialization/vc7ide/test_shared_ptr_multi_base.vcproj 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -29,7 +29,7 @@
                                 TreatWChar_tAsBuiltInType="TRUE"
                                 ForceConformanceInForLoopScope="TRUE"
                                 RuntimeTypeInfo="TRUE"
- WarningLevel="3"
+ WarningLevel="4"
                                 Detect64BitPortabilityProblems="FALSE"
                                 DebugInformationFormat="1"
                                 CompileAs="0"/>

Modified: branches/release/libs/serialization/vc7ide/test_simple_class.vcproj
==============================================================================
--- branches/release/libs/serialization/vc7ide/test_simple_class.vcproj (original)
+++ branches/release/libs/serialization/vc7ide/test_simple_class.vcproj 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -29,7 +29,7 @@
                                 TreatWChar_tAsBuiltInType="TRUE"
                                 ForceConformanceInForLoopScope="TRUE"
                                 RuntimeTypeInfo="TRUE"
- WarningLevel="3"
+ WarningLevel="4"
                                 Detect64BitPortabilityProblems="FALSE"
                                 DebugInformationFormat="1"
                                 CompileAs="0"/>

Modified: branches/release/libs/serialization/vc7ide/test_smart_cast.vcproj
==============================================================================
--- branches/release/libs/serialization/vc7ide/test_smart_cast.vcproj (original)
+++ branches/release/libs/serialization/vc7ide/test_smart_cast.vcproj 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -29,7 +29,7 @@
                                 TreatWChar_tAsBuiltInType="TRUE"
                                 ForceConformanceInForLoopScope="TRUE"
                                 RuntimeTypeInfo="TRUE"
- WarningLevel="3"
+ WarningLevel="4"
                                 Detect64BitPortabilityProblems="FALSE"
                                 DebugInformationFormat="1"
                                 CompileAs="0"/>

Modified: branches/release/libs/serialization/vc7ide/test_static_warning.vcproj
==============================================================================
--- branches/release/libs/serialization/vc7ide/test_static_warning.vcproj (original)
+++ branches/release/libs/serialization/vc7ide/test_static_warning.vcproj 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -29,7 +29,7 @@
                                 TreatWChar_tAsBuiltInType="TRUE"
                                 ForceConformanceInForLoopScope="TRUE"
                                 RuntimeTypeInfo="TRUE"
- WarningLevel="3"
+ WarningLevel="4"
                                 Detect64BitPortabilityProblems="FALSE"
                                 DebugInformationFormat="1"
                                 CompileAs="0"/>

Modified: branches/release/libs/serialization/vc7ide/test_tracking.vcproj
==============================================================================
--- branches/release/libs/serialization/vc7ide/test_tracking.vcproj (original)
+++ branches/release/libs/serialization/vc7ide/test_tracking.vcproj 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -29,7 +29,7 @@
                                 TreatWChar_tAsBuiltInType="TRUE"
                                 ForceConformanceInForLoopScope="TRUE"
                                 RuntimeTypeInfo="TRUE"
- WarningLevel="3"
+ WarningLevel="4"
                                 Detect64BitPortabilityProblems="FALSE"
                                 DebugInformationFormat="1"
                                 CompileAs="0"/>

Modified: branches/release/libs/serialization/vc7ide/test_unregistered.vcproj
==============================================================================
--- branches/release/libs/serialization/vc7ide/test_unregistered.vcproj (original)
+++ branches/release/libs/serialization/vc7ide/test_unregistered.vcproj 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -29,7 +29,7 @@
                                 TreatWChar_tAsBuiltInType="TRUE"
                                 ForceConformanceInForLoopScope="TRUE"
                                 RuntimeTypeInfo="TRUE"
- WarningLevel="3"
+ WarningLevel="4"
                                 Detect64BitPortabilityProblems="FALSE"
                                 DebugInformationFormat="1"
                                 CompileAs="0"/>

Modified: branches/release/libs/serialization/vc7ide/test_valarray.vcproj
==============================================================================
--- branches/release/libs/serialization/vc7ide/test_valarray.vcproj (original)
+++ branches/release/libs/serialization/vc7ide/test_valarray.vcproj 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -29,7 +29,7 @@
                                 TreatWChar_tAsBuiltInType="TRUE"
                                 ForceConformanceInForLoopScope="TRUE"
                                 RuntimeTypeInfo="TRUE"
- WarningLevel="3"
+ WarningLevel="4"
                                 Detect64BitPortabilityProblems="FALSE"
                                 DebugInformationFormat="1"
                                 CompileAs="0"/>

Modified: branches/release/libs/serialization/vc7ide/test_variant.vcproj
==============================================================================
--- branches/release/libs/serialization/vc7ide/test_variant.vcproj (original)
+++ branches/release/libs/serialization/vc7ide/test_variant.vcproj 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -29,7 +29,7 @@
                                 TreatWChar_tAsBuiltInType="TRUE"
                                 ForceConformanceInForLoopScope="TRUE"
                                 RuntimeTypeInfo="TRUE"
- WarningLevel="3"
+ WarningLevel="4"
                                 Detect64BitPortabilityProblems="FALSE"
                                 DebugInformationFormat="1"
                                 CompileAs="0"/>

Modified: branches/release/libs/serialization/vc7ide/test_vector.vcproj
==============================================================================
--- branches/release/libs/serialization/vc7ide/test_vector.vcproj (original)
+++ branches/release/libs/serialization/vc7ide/test_vector.vcproj 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -29,7 +29,7 @@
                                 TreatWChar_tAsBuiltInType="TRUE"
                                 ForceConformanceInForLoopScope="TRUE"
                                 RuntimeTypeInfo="TRUE"
- WarningLevel="3"
+ WarningLevel="4"
                                 Detect64BitPortabilityProblems="FALSE"
                                 DebugInformationFormat="1"
                                 CompileAs="0"/>

Modified: branches/release/libs/serialization/vc7ide/test_void_cast.vcproj
==============================================================================
--- branches/release/libs/serialization/vc7ide/test_void_cast.vcproj (original)
+++ branches/release/libs/serialization/vc7ide/test_void_cast.vcproj 2009-12-05 01:34:10 EST (Sat, 05 Dec 2009)
@@ -29,7 +29,7 @@
                                 TreatWChar_tAsBuiltInType="TRUE"
                                 ForceConformanceInForLoopScope="TRUE"
                                 RuntimeTypeInfo="TRUE"
- WarningLevel="3"
+ WarningLevel="4"
                                 Detect64BitPortabilityProblems="FALSE"
                                 DebugInformationFormat="1"
                                 CompileAs="0"/>


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