mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-02-14 04:39:33 +08:00
del_op.cc (operator delete): Don't test for 0 before free.
2013-10-03 Marc Glisse <marc.glisse@inria.fr> * libsupc++/del_op.cc (operator delete): Don't test for 0 before free. * libsupc++/del_opnt.cc (free): Only declare if freestanding. (operator delete): Qualify free with std::. From-SVN: r203164
This commit is contained in:
parent
2284b03444
commit
fc7657bb38
@ -1,3 +1,9 @@
|
||||
2013-10-03 Marc Glisse <marc.glisse@inria.fr>
|
||||
|
||||
* libsupc++/del_op.cc (operator delete): Don't test for 0 before free.
|
||||
* libsupc++/del_opnt.cc (free): Only declare if freestanding.
|
||||
(operator delete): Qualify free with std::.
|
||||
|
||||
2013-10-02 Jonathan Wakely <jwakely.gcc@gmail.com>
|
||||
Daniel Krugler <daniel.kruegler@gmail.com>
|
||||
|
||||
|
@ -43,6 +43,5 @@ _GLIBCXX_END_NAMESPACE_VERSION
|
||||
_GLIBCXX_WEAK_DEFINITION void
|
||||
operator delete(void* ptr) _GLIBCXX_USE_NOEXCEPT
|
||||
{
|
||||
if (ptr)
|
||||
std::free(ptr);
|
||||
std::free(ptr);
|
||||
}
|
||||
|
@ -24,12 +24,24 @@
|
||||
// <http://www.gnu.org/licenses/>.
|
||||
|
||||
#include <bits/c++config.h>
|
||||
#include "new"
|
||||
|
||||
extern "C" void free (void *);
|
||||
#if !_GLIBCXX_HOSTED
|
||||
// A freestanding C runtime may not provide "free" -- but there is no
|
||||
// other reasonable way to implement "operator delete".
|
||||
namespace std
|
||||
{
|
||||
_GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
extern "C" void free(void*);
|
||||
_GLIBCXX_END_NAMESPACE_VERSION
|
||||
} // namespace
|
||||
#else
|
||||
# include <cstdlib>
|
||||
#endif
|
||||
|
||||
#include "new"
|
||||
|
||||
_GLIBCXX_WEAK_DEFINITION void
|
||||
operator delete (void *ptr, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT
|
||||
{
|
||||
free (ptr);
|
||||
std::free(ptr);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user