Commit ca086dda by Jonathan Wakely Committed by Jonathan Wakely

PR libstdc++/45093 avoid warnings for _M_destroy_node

	PR libstdc++/45093
	* include/bits/stl_tree.h (_Rb_tree::_M_destroy_node(_Link_type)):
	Combine definitions to avoid --detect-odr-violations warning.

From-SVN: r263516
parent 2383ed02
2018-08-13 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/45093
* include/bits/stl_tree.h (_Rb_tree::_M_destroy_node(_Link_type)):
Combine definitions to avoid --detect-odr-violations warning.
* libsupc++/new_opa.cc (operator new(size_t, align_val_t)): Use
__is_pow2 to check for valid alignment. Avoid branching when rounding
size to multiple of alignment.
......
......@@ -626,10 +626,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
_M_construct_node(__tmp, __x);
return __tmp;
}
void
_M_destroy_node(_Link_type __p)
{ get_allocator().destroy(__p->_M_valptr()); }
#else
template<typename... _Args>
void
......@@ -658,14 +654,18 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
_M_construct_node(__tmp, std::forward<_Args>(__args)...);
return __tmp;
}
#endif
void
_M_destroy_node(_Link_type __p) noexcept
_M_destroy_node(_Link_type __p) _GLIBCXX_NOEXCEPT
{
#if __cplusplus < 201103L
get_allocator().destroy(__p->_M_valptr());
#else
_Alloc_traits::destroy(_M_get_Node_allocator(), __p->_M_valptr());
__p->~_Rb_tree_node<_Val>();
}
#endif
}
void
_M_drop_node(_Link_type __p) _GLIBCXX_NOEXCEPT
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment