Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r52944 - branches/release/boost/detail
From: joaquin_at_[hidden]
Date: 2009-05-12 16:01:46


Author: joaquin
Date: 2009-05-12 16:01:46 EDT (Tue, 12 May 2009)
New Revision: 52944
URL: http://svn.boost.org/trac/boost/changeset/52944

Log:
merged [49289] and [52371] from trunk
Text files modified:
   branches/release/boost/detail/allocator_utilities.hpp | 21 ++++++++++++++++++++-
   1 files changed, 20 insertions(+), 1 deletions(-)

Modified: branches/release/boost/detail/allocator_utilities.hpp
==============================================================================
--- branches/release/boost/detail/allocator_utilities.hpp (original)
+++ branches/release/boost/detail/allocator_utilities.hpp 2009-05-12 16:01:46 EDT (Tue, 12 May 2009)
@@ -1,4 +1,4 @@
-/* Copyright 2003-2008 Joaquin M Lopez Munoz.
+/* Copyright 2003-2009 Joaquin M Lopez Munoz.
  * Distributed under the Boost Software License, Version 1.0.
  * (See accompanying file LICENSE_1_0.txt or copy at
  * http://www.boost.org/LICENSE_1_0.txt)
@@ -178,12 +178,31 @@
   new (p) Type(t);
 }
 
+#if BOOST_WORKAROUND(BOOST_MSVC,BOOST_TESTED_AT(1500))
+/* MSVC++ issues spurious warnings about unreferencend formal parameters
+ * in destroy<Type> when Type is a class with trivial dtor.
+ */
+
+#pragma warning(push)
+#pragma warning(disable:4100)
+#endif
+
 template<typename Type>
 void destroy(const Type* p)
 {
+
+#if BOOST_WORKAROUND(__SUNPRO_CC,BOOST_TESTED_AT(0x590))
+ const_cast<Type*>(p)->~Type();
+#else
   p->~Type();
+#endif
+
 }
 
+#if BOOST_WORKAROUND(BOOST_MSVC,BOOST_TESTED_AT(1500))
+#pragma warning(pop)
+#endif
+
 } /* namespace boost::detail::allocator */
 
 } /* namespace boost::detail */


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