Boost logo

Boost-Commit :

From: chris_at_[hidden]
Date: 2008-02-02 06:37:46


Author: chris_kohlhoff
Date: 2008-02-02 06:37:45 EST (Sat, 02 Feb 2008)
New Revision: 43054
URL: http://svn.boost.org/trac/boost/changeset/43054

Log:
Ensure that the workaround for the MSVC secure iterator problem is only
used when compiling with MSVC. The workaround causes g++'s library debug
mode to report errors due to the assignment from a singular iterator.

Text files modified:
   trunk/boost/asio/buffer.hpp | 5 +++++
   1 files changed, 5 insertions(+), 0 deletions(-)

Modified: trunk/boost/asio/buffer.hpp
==============================================================================
--- trunk/boost/asio/buffer.hpp (original)
+++ trunk/boost/asio/buffer.hpp 2008-02-02 06:37:45 EST (Sat, 02 Feb 2008)
@@ -393,7 +393,12 @@
 
   ~buffer_debug_check()
   {
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+ // MSVC's string iterator checking may crash in a std::string::iterator
+ // object's destructor when the iterator points to an already-destroyed
+ // std::string object, unless the iterator is cleared first.
     iter_ = Iterator();
+#endif // BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
   }
 
   void operator()()


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk