
I've looked at this a little and there are a couple of issues. The majority of these are easily fixable and I expect I will do so soon. However A number of places I use size_t in file write operations and I get a warning for invalid conversion from size_to to streamsize ! streamsize is a signed integer and size_t is not. I'm not really sure whether they are the same size or not. So its unclear to me what the warning is suggesting that I do. In some cases, e.g. collections, I used unsigned integer rather than size_t on the theory that 4 g objects is one hell of a large number of objects to be found in main memory. I was concerned about archives such as the native binary archives having to right out a lot of zeros that would never be needed. In retrospect this was probably a mistake given the current prospects for 64bit machines. Also, there is the issue that changing these at this point will require a considering backward compatibility. Not such a big problem as it was anticipated - but one more thing to encourage procrastination - not that its needed. To do this, I compiled the libraries with vc 7.1 with 64 bit portability turned on. I really only got a few messages - maybe a score - certainly not thousands. So I may be missing something. I would be curious to know if you are getting messages I'm not - perhaps by suppressing 64 bit portability checking just to see what happens. Robert Ramey Tobias Schwinger wrote:
Hi,
when using the Boost.Serialization library with MSVC8 I get flooded by (about thousand lines of) warning messages due to the fact that size_t has been widened (and there are just very few small classes in my project that use serialization).
It's especially annoying because warnings about truncating conversions are quite useful, in general (I wouldn't want to disable them permanently, that is).
Boost.Serialization:
[ collections_save_impl.hpp:36 ] "possible loss of data converting...". unsigned int <var> = <size_t expression>
[ detail/oserializer.hpp:479 ] "possible loss of data converting..". int <var> = <size_t expression>
- I guess there are some more but these are the ones the compiler gets to see in my project (that's also why I didn't post a patch).
Boost.TypeTraits (used by Boost.Serialization):
[ is_abstract.hpp:81 ] BOOST_STATIC_ASSERT(sizeof(expression))" "forcing value to bool"
Just in case it isn't on anyone's todo-list, yet...
Greetings,
Tobias
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost