mirror of git://gcc.gnu.org/git/gcc.git
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
This commit is contained in:
parent
2b1aedf3ac
commit
aa7df52e4f
|
|
@ -1,5 +1,9 @@
|
||||||
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
|
||||||
__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
|
||||||
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); }
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue