--- libs\serialization\src\basic_iarchive.cpp 2010-11-12 04:56:29.000000000 +0100 +++ libs\serialization\src\basic_iarchive.cpp 2012-06-21 16:44:54.000000000 +0100 @@ -339,13 +339,13 @@ void * & t ){ object_id_type oid; load(ar, oid); // if its a reference to a old object - if(object_id_type(object_id_vector.size()) > oid){ + if(object_id_type(static_cast(object_id_vector.size())) > oid){ // we're done t = object_id_vector[oid].address; return false; } return true; } @@ -374,24 +374,24 @@ // note: extra line used to evade borland issue const bool tracking = co.tracking_level; object_id_type this_id; moveable_objects_start = - this_id = object_id_type(object_id_vector.size()); + this_id = object_id_type(static_cast(object_id_vector.size())); // if we tracked this object when the archive was saved if(tracking){ // if it was already read if(!track(ar, t)) // we're done return; // add a new enty into the tracking list object_id_vector.push_back(aobject(t, cid)); // and add an entry for this object - moveable_objects_end = object_id_type(object_id_vector.size()); + moveable_objects_end = object_id_type(static_cast(object_id_vector.size())); } // read data (bis.load_object_data)(ar, t, co.file_version); moveable_objects_recent = this_id; } @@ -464,13 +464,13 @@ serialization::state_saver z(pending_version); pending_bis = & bpis_ptr->get_basic_serializer(); pending_version = co.file_version; // predict next object id to be created - const unsigned int ui = object_id_vector.size(); + const unsigned int ui = static_cast(object_id_vector.size()); serialization::state_saver w_end(moveable_objects_end); // because the following operation could move the items // don't use co after this // add to list of serialized objects so that we can properly handle --- libs\serialization\src\basic_oarchive.cpp 2010-11-12 04:56:29.000000000 +0100 +++ libs\serialization\src\basic_oarchive.cpp 2012-06-21 16:45:04.000000000 +0100 @@ -273,13 +273,13 @@ // and save the data (bos.save_object_data)(ar, t); return; } // look for an existing object id - object_id_type oid(object_set.size()); + object_id_type oid(static_cast(object_set.size())); // lookup to see if this object has already been written to the archive basic_oarchive_impl::aobject ao(t, co.m_class_id, oid); std::pair aresult = object_set.insert(ao); oid = aresult.first->object_id; @@ -361,13 +361,13 @@ pending_object = t; pending_bos = & bpos_ptr->get_basic_serializer(); bpos_ptr->save_object_ptr(ar, t); return; } - object_id_type oid(object_set.size()); + object_id_type oid(static_cast(object_set.size())); // lookup to see if this object has already been written to the archive basic_oarchive_impl::aobject ao(t, co.m_class_id, oid); std::pair aresult = object_set.insert(ao); oid = aresult.first->object_id; // if the saved object already exists