aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/libsupc++/del_opa.cc
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2018-08-10 21:20:27 +0100
committerJonathan Wakely <redi@gcc.gnu.org>2018-08-10 21:20:27 +0100
commitb66e5a95c0065fda3569a1bfd3766963a848a00d (patch)
tree53e48d628c8491683df2c3f5157fe66602679234 /libstdc++-v3/libsupc++/del_opa.cc
parent6894c57b1e2c9068471f26f3d8d4f3f374126f52 (diff)
downloadgcc-b66e5a95c0065fda3569a1bfd3766963a848a00d.zip
gcc-b66e5a95c0065fda3569a1bfd3766963a848a00d.tar.gz
gcc-b66e5a95c0065fda3569a1bfd3766963a848a00d.tar.bz2
PR libstdc++/68210 adjust operator new and delete for LWG 206
Ensure that nothrow versions of new and delete call the ordinary versions of new or delete, instead of calling malloc or free directly. These files are all compiled with -std=gnu++14 so can use noexcept and nullptr to make the code more readable. PR libstdc++/68210 * doc/xml/manual/intro.xml: Document LWG 206 change. * libsupc++/del_op.cc: Replace _GLIBCXX_USE_NOEXCEPT with noexcept. * libsupc++/del_opa.cc: Likewise. * libsupc++/del_opant.cc: Likewise. * libsupc++/del_opnt.cc: Likewise. Call operator delete(ptr) instead of free(ptr). * libsupc++/del_ops.cc: Replace _GLIBCXX_USE_NOEXCEPT with noexcept. * libsupc++/del_opsa.cc: Likewise. * libsupc++/del_opva.cc: Likewise. * libsupc++/del_opvant.cc: Likewise. * libsupc++/del_opvnt.cc: Likewise. Call operator delete[](ptr) instead of operator delete(ptr). * libsupc++/del_opvs.cc: Replace _GLIBCXX_USE_NOEXCEPT with noexcept. * libsupc++/del_opvsa.cc: Likewise. * libsupc++/new_op.cc: Use __builtin_expect in check for zero size. * libsupc++/new_opa.cc: Use nullptr instead of literal 0. * libsupc++/new_opant.cc: Likewise. Replace _GLIBCXX_USE_NOEXCEPT with noexcept. * libsupc++/new_opnt.cc: Likewise. Call operator new(sz) instead of malloc(sz). * libsupc++/new_opvant.cc: Use nullptr and noexcept. * libsupc++/new_opvnt.cc: Likewise. Call operator new[](sz) instead of operator new(sz, nothrow). * testsuite/18_support/new_nothrow.cc: New test. From-SVN: r263478
Diffstat (limited to 'libstdc++-v3/libsupc++/del_opa.cc')
-rw-r--r--libstdc++-v3/libsupc++/del_opa.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/libstdc++-v3/libsupc++/del_opa.cc b/libstdc++-v3/libsupc++/del_opa.cc
index 71f384d..2a1f0ab 100644
--- a/libstdc++-v3/libsupc++/del_opa.cc
+++ b/libstdc++-v3/libsupc++/del_opa.cc
@@ -44,7 +44,7 @@ _GLIBCXX_END_NAMESPACE_VERSION
#pragma GCC diagnostic ignored "-Wsized-deallocation"
_GLIBCXX_WEAK_DEFINITION void
-operator delete(void* ptr, std::align_val_t) _GLIBCXX_USE_NOEXCEPT
+operator delete(void* ptr, std::align_val_t) noexcept
{
#if _GLIBCXX_HAVE_ALIGNED_ALLOC || _GLIBCXX_HAVE_POSIX_MEMALIGN \
|| _GLIBCXX_HAVE_MEMALIGN