mirror of
https://github.com/boostorg/detail.git
synced 2025-07-30 04:17:14 +02:00
merged [49289] and [52371] from trunk
[SVN r52944]
This commit is contained in:
@ -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.
|
* Distributed under the Boost Software License, Version 1.0.
|
||||||
* (See accompanying file LICENSE_1_0.txt or copy at
|
* (See accompanying file LICENSE_1_0.txt or copy at
|
||||||
* http://www.boost.org/LICENSE_1_0.txt)
|
* http://www.boost.org/LICENSE_1_0.txt)
|
||||||
@ -178,12 +178,31 @@ void construct(void* p,const Type& t)
|
|||||||
new (p) Type(t);
|
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>
|
template<typename Type>
|
||||||
void destroy(const Type* p)
|
void destroy(const Type* p)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
#if BOOST_WORKAROUND(__SUNPRO_CC,BOOST_TESTED_AT(0x590))
|
||||||
|
const_cast<Type*>(p)->~Type();
|
||||||
|
#else
|
||||||
p->~Type();
|
p->~Type();
|
||||||
|
#endif
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if BOOST_WORKAROUND(BOOST_MSVC,BOOST_TESTED_AT(1500))
|
||||||
|
#pragma warning(pop)
|
||||||
|
#endif
|
||||||
|
|
||||||
} /* namespace boost::detail::allocator */
|
} /* namespace boost::detail::allocator */
|
||||||
|
|
||||||
} /* namespace boost::detail */
|
} /* namespace boost::detail */
|
||||||
|
Reference in New Issue
Block a user