Commit aa7df52e by Jonathan Wakely Committed by Jonathan Wakely

PR libstdc++/86954 use non-placement operator delete

As explained in the PR, there's no reason to call the nothrow delete,
we can just use the normal one.

	PR libstdc++/86954
	* include/bits/stl_tempbuf.h (return_temporary_buffer): Use
	non-placement delete.

From-SVN: r263542
parent 2b1aedf3
2018-08-14 Jonathan Wakely <jwakely@redhat.com> 2018-08-14 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/86954
* include/bits/stl_tempbuf.h (return_temporary_buffer): Use
non-placement delete.
* include/std/chrono (__check_overflow): Simplify definition. * include/std/chrono (__check_overflow): Simplify definition.
(_Checked_integral_constant): Remove. (_Checked_integral_constant): Remove.
......
...@@ -88,10 +88,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -88,10 +88,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
__gnu_cxx::__numeric_traits<ptrdiff_t>::__max / sizeof(_Tp); __gnu_cxx::__numeric_traits<ptrdiff_t>::__max / sizeof(_Tp);
if (__len > __max) if (__len > __max)
__len = __max; __len = __max;
while (__len > 0) while (__len > 0)
{ {
_Tp* __tmp = static_cast<_Tp*>(::operator new(__len * sizeof(_Tp), _Tp* __tmp = static_cast<_Tp*>(::operator new(__len * sizeof(_Tp),
std::nothrow)); std::nothrow));
if (__tmp != 0) if (__tmp != 0)
return std::pair<_Tp*, ptrdiff_t>(__tmp, __len); return std::pair<_Tp*, ptrdiff_t>(__tmp, __len);
...@@ -110,7 +110,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -110,7 +110,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
template<typename _Tp> template<typename _Tp>
inline void inline void
return_temporary_buffer(_Tp* __p) return_temporary_buffer(_Tp* __p)
{ ::operator delete(__p, std::nothrow); } { ::operator delete(__p); }
/** /**
......
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