mirror of
https://github.com/boostorg/smart_ptr.git
synced 2025-07-31 21:24:40 +02:00
Revert "Revert "Fix warnings on gcc 4.4""
This reverts commit d28b0d07fc
.
This commit is contained in:
@@ -25,6 +25,17 @@ namespace detail
|
|||||||
|
|
||||||
#if !defined( BOOST_NO_CXX11_RVALUE_REFERENCES )
|
#if !defined( BOOST_NO_CXX11_RVALUE_REFERENCES )
|
||||||
|
|
||||||
|
#if defined( __GNUC__ ) && __GNUC__ * 100 + __GNUC_MINOR__ <= 404
|
||||||
|
|
||||||
|
// GCC 4.4 supports an outdated version of rvalue references and creates a copy of the forwarded object.
|
||||||
|
// This results in warnings 'returning reference to temporary'. Therefore we use a special version similar to std::forward.
|
||||||
|
template< class T > T&& sp_forward( T && t ) BOOST_NOEXCEPT
|
||||||
|
{
|
||||||
|
return t;
|
||||||
|
}
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
template< class T > T&& sp_forward( T & t ) BOOST_NOEXCEPT
|
template< class T > T&& sp_forward( T & t ) BOOST_NOEXCEPT
|
||||||
{
|
{
|
||||||
return static_cast< T&& >( t );
|
return static_cast< T&& >( t );
|
||||||
@@ -32,6 +43,8 @@ template< class T > T&& sp_forward( T & t ) BOOST_NOEXCEPT
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
} // namespace detail
|
} // namespace detail
|
||||||
|
|
||||||
} // namespace boost
|
} // namespace boost
|
||||||
|
Reference in New Issue
Block a user