Boost logo

Boost :

Subject: [boost] [Serialization] BOOST_CLASS_EXPORT regression on SunCC
From: Sohail Somani (sohail_at_[hidden])
Date: 2009-02-16 21:06:21


>From version 1.34 to 1.35, the export of classes was modified so that
all the archives did not need to be included before calls to
BOOST_CLASS_EXPORT. I don't know why this was a problem to begin with.

Anyway, this feature used to work on SunCC but with the new changes,
there is a regression. This is caused by the dependence on ADL to
instantiate the ptr_serialization_support members: SunCC just doesn't do
it. So the instantiations never occur and you get an assertion failure
when running the serialization tests under debug:

Assertion failed: it != boost::serialization::singleton<
oserializer_map<Archive> >::get_const_instance().end(), file
vendor/boost_1_37_0/boost/archive/impl/archive_pointer_oseri\
alizer.ipp, line 64

I know how to fix it (instantiating manually for each
Archive,Serializable pair, not a huge problem).

I would suggest that Boost Serialization should have a fallback
                                                        mechanism for
these compilers. Perhaps along the lines of the old export
functionality where the user would define the archives they are
interested in.

Thoughts?


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk