diff --git a/include/boost/archive/impl/text_iarchive_impl.ipp b/include/boost/archive/impl/text_iarchive_impl.ipp index 59056e48..4c4996b7 100644 --- a/include/boost/archive/impl/text_iarchive_impl.ipp +++ b/include/boost/archive/impl/text_iarchive_impl.ipp @@ -52,12 +52,9 @@ text_iarchive_impl::load(std::string &s) #if BOOST_WORKAROUND(_RWSTD_VER, BOOST_TESTED_AT(20101)) if(NULL != s.data()) #endif - #if __GNUC__ > 3 - s.clear(); - #endif s.resize(size); if(0 < size) - is.read(&(*s.begin()), size); + is.read(&(*s.begin()), size); } #ifndef BOOST_NO_CWCHAR @@ -86,9 +83,6 @@ text_iarchive_impl::load(std::wstring &ws) #if BOOST_WORKAROUND(_RWSTD_VER, BOOST_TESTED_AT(20101)) if(NULL != ws.data()) #endif - #if __GNUC__ > 3 - s.clear(); - #endif ws.resize(size); // skip separating space is.get(); diff --git a/include/boost/archive/impl/text_wiarchive_impl.ipp b/include/boost/archive/impl/text_wiarchive_impl.ipp index c47e384a..e838db04 100644 --- a/include/boost/archive/impl/text_wiarchive_impl.ipp +++ b/include/boost/archive/impl/text_wiarchive_impl.ipp @@ -90,9 +90,6 @@ text_wiarchive_impl::load(std::wstring &ws) #if BOOST_WORKAROUND(_RWSTD_VER, BOOST_TESTED_AT(20101)) if(NULL != ws.data()) #endif - #if __GNUC__ > 3 - ws.clear(); - #endif ws.resize(size); // note breaking a rule here - is this a problem on some platform is.read(const_cast(ws.data()), size);