Opened 14 years ago

Closed 14 years ago

#2770 closed Bugs (fixed)

SunCC: base_object does not work anymore when serializing by base class pointer

Reported by: boost@… Owned by: Robert Ramey
Milestone: Boost 1.39.0 Component: serialization
Version: Boost 1.35.0 Severity: Regression
Keywords: Cc:

Description

unregistered void cast in function '(unknown)'

http://www.boost.org/development/tests/trunk/developer/output/Sandia-sun-boost-bin-v2-libs-serialization-test-test_exported_binary_archive-test-sun-5-9-debug-stdlib-sun-stlport.html

The reason for this seems to be due to the new changes to force certain code to execute before main.

It may be possible to use attribute((constructor)) on the latest versions of SunCC to make this work however I am not sure if it works with templates.

The portable thing to do is to use void_cast_register<Derived,Base>()

Change History (2)

comment:1 by anonymous, 14 years ago

This might be due to ptr_serialization_support::instantiate not being instantiated. Once I call ptr_serialization_support<A,S>::instantiate() in the main module, this problem disappears.

comment:2 by Robert Ramey, 14 years ago

Resolution: fixed
Status: newclosed

I've checked in changes to the trunk in the hope of addressing this. If in fact they do, the test failures for SUNCC on the trunk tests should be eliminated. Let me know if this does not occur.

Robert Ramey

Note: See TracTickets for help on using tickets.