From 1dc58c21d79fbb08a1d2210ad324cc65f921ffdf Mon Sep 17 00:00:00 2001 From: oldham <oldham@138bc75d-0d04-0410-961f-82ee72b054a4> Date: Wed, 5 Nov 2003 04:37:03 +0000 Subject: [PATCH] 2003-11-04 Jeffrey D. Oldham <oldham@codesourcery.com> * libsupc++/vec.cc (__cxa_vec_delete2): If given a NULL pointer, immediately return. This reflects a C++ ABI change 2003 Nov 03. (__cxa_vec_delete3): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@73263 138bc75d-0d04-0410-961f-82ee72b054a4 --- libstdc++-v3/ChangeLog | 7 +++++++ libstdc++-v3/libsupc++/vec.cc | 17 ++++++++++++++--- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 9124c8d0ed32..9066d6096bfa 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,9 @@ +2003-11-04 Jeffrey D. Oldham <oldham@codesourcery.com> + + * libsupc++/vec.cc (__cxa_vec_delete2): If given a NULL pointer, + immediately return. This reflects a C++ ABI change 2003 Nov 03. + (__cxa_vec_delete3): Likewise. + 2003-11-03 Petur Runolfsson <peturr02@ru.is> PR libstdc++/12790 @@ -103,6 +109,7 @@ * include/bits/istream.tcc: Same. * include/bits/ostream.tcc: Same. +>>>>>>> 1.2063 2003-10-30 Paolo Carlini <pcarlini@suse.de> * include/bits/locale_facets.tcc (time_get::_M_extract_via_format): diff --git a/libstdc++-v3/libsupc++/vec.cc b/libstdc++-v3/libsupc++/vec.cc index e2c8f09df4bd..2725593ff530 100644 --- a/libstdc++-v3/libsupc++/vec.cc +++ b/libstdc++-v3/libsupc++/vec.cc @@ -282,7 +282,12 @@ namespace __cxxabiv1 void (*destructor) (void *), void (*dealloc) (void *)) { - char *base = static_cast<char *>(array_address); + char *base; + + if (!array_address) + return; + + base = static_cast<char *>(array_address); if (padding_size) { @@ -312,8 +317,14 @@ namespace __cxxabiv1 void (*destructor) (void *), void (*dealloc) (void *, std::size_t)) { - char *base = static_cast <char *> (array_address); - std::size_t size = 0; + char *base; + std::size_t size; + + if (!array_address) + return; + + base = static_cast <char *> (array_address); + size = 0; if (padding_size) { -- GitLab