[Boost-bugs] [Boost C++ Libraries] #3934: serialization assertion failure on windows using DLLs

Subject: [Boost-bugs] [Boost C++ Libraries] #3934: serialization assertion failure on windows using DLLs
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2010-02-16 10:35:46


#3934: serialization assertion failure on windows using DLLs
--------------------------------+-------------------------------------------
 Reporter: cris@… | Owner: ramey
     Type: Bugs | Status: new
Milestone: Boost 1.43.0 | Component: serialization
  Version: Boost 1.42.0 | Severity: Regression
 Keywords: |
--------------------------------+-------------------------------------------
 On Windows I get an assertion failure in void_cast.cpp line 225 with the
 following scenario:

 DLL 1 has concrete class C which inherits from virtual B, which inherits
 from virtual A. BOOST_CLASS_EXPORT(C) is used.

 a static C exists.

 DLL 2 has concrete class D which inherits from virtual B.
 BOOST_CLASS_EXPORT(D) is used.

 a static D exists and will be instantiated when the library is loaded.

 main.cpp - contains an instantiation of D to make main.exe depend on both
 DLL 1 and DLL 2.

 this same test passes on UNIX. It's as if on windows it is trying to
 register B twice. Taking out the assert (as was the case in all previous
 boost versions) makes things work ok.

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/3934>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:02 UTC