Boost logo

Boost :

From: Robert Ramey (ramey_at_[hidden])
Date: 2006-06-02 15:47:51


Nicola,

I've checked in changes to RC_1_34_0 last 30 may. I believe these changes
should fix the issue you detected. But now I'm not sure as
I don't remember the results of the previous tests.

Note that I made a change in basic_text_oarchive.hpp
in lieu of your suggestion for basic_text_oprmitive.hpp. I believe
that this is in the correct place. We're still geting errors however
so could you please take another look at this?

Robert Ramey

Nicola Musatti wrote:
>> Robert Ramey wrote:
>>> There are a couple of places which might be good to look at here.
>>>
>>> a) iserializer.hpp line # 190
>>> b) iserializer.hpp line # 326
>>>
>>> These two areas have borland specific code related to ensure
>>> that pointer de-serialization is instantiated. Perhaps borland
>>> has been improved so that it works more like other compilers
>>> in this regard. You might try tweaking these areas - using
>>> workaround borland version ... etc so that the more modern
>>> version uses the standard way. Let me know how this
>>> works.
>>
>> Thanks for your suggestion, it did prove helpful! I enclose a couple
>> of
>> patches which cause some 30 tests to pass which previously failed.
>> Let
>> me know what you think and if you want me to apply them.
>>
>> Cheers,
>> Nicola Musatti
>>
>>
>
>
>
>> ******Index: basic_text_oprimitive.hpp
>> ===================================================================
>> RCS file:
>> /cvsroot/boost/boost/boost/archive/basic_text_oprimitive.hpp,v
>> retrieving revision 1.12
>> diff -d -u -r1.12 basic_text_oprimitive.hpp
>> --- basic_text_oprimitive.hpp 4 Feb 2006 20:35:35 -0000 1.12
>> +++ basic_text_oprimitive.hpp 24 May 2006 20:53:36 -0000
>> @@ -58,6 +58,10 @@
>>
>> class save_access;
>>
>> +#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x582)) &&
>> __BORLANDC__ >= 0x580 +class version_type;
>> +#endif
>> +
>> /////////////////////////////////////////////////////////////////////////
>> // class basic_text_oprimitive - output of prmitives to stream
>> template<class OStream>
>> @@ -84,6 +88,14 @@
>> os << t;
>> }
>>
>> + #if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x582)) &&
>> __BORLANDC__ >= 0x580 + void save(const version_type t){
>> + if(os.fail())
>> +
>> boost::throw_exception(archive_exception(archive_exception::stream_error));
>> + os << t.t; + }
>> + #endif
>> +
>> /////////////////////////////////////////////////////////
>> // fundamental types that need special treatment
>> void save(const bool t){
>>
>
>
>
>> ******Index: iserializer.hpp
>> ===================================================================
>> RCS file: /cvsroot/boost/boost/boost/archive/detail/iserializer.hpp,v
>> retrieving revision 1.30
>> diff -d -u -r1.30 iserializer.hpp
>> --- iserializer.hpp 12 Feb 2006 05:45:16 -0000 1.30
>> +++ iserializer.hpp 24 May 2006 21:42:57 -0000
>> @@ -187,7 +187,7 @@
>> public:
>> // at least one compiler (CW) seems to require that serialize_adl
>> // be explicitly instantiated. Still under investigation.
>> - #if !defined(__BORLANDC__)
>> + #if ! BOOST_WORKAROUND(__BORLANDC__, < 0x582)
>> void (* const m)(Archive &, T &, const unsigned);
>> boost::serialization::extended_type_info * (* e)();
>> #endif
>>
>
>
>
>> _______________________________________________
>> Unsubscribe & other changes:
>> http://lists.boost.org/mailman/listinfo.cgi/boost


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