summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoroldham <oldham@138bc75d-0d04-0410-961f-82ee72b054a4>2003-09-10 15:41:48 +0000
committeroldham <oldham@138bc75d-0d04-0410-961f-82ee72b054a4>2003-09-10 15:41:48 +0000
commit6dd0bb13fd869051b22776a1bd2f628aa90a429f (patch)
tree2cd4e8981152002d126ec5ae30a4016f1a9c063a
parent44ac8daf48b341134197b728290867e499ef0455 (diff)
downloadppe42-gcc-6dd0bb13fd869051b22776a1bd2f628aa90a429f.tar.gz
ppe42-gcc-6dd0bb13fd869051b22776a1bd2f628aa90a429f.zip
2003-09-10 Jeffrey D. Oldham <oldham@codesourcery.com>
* libsupc++/vec.cc (__cxa_vec_new2): If the allocator returns NULL, return NULL. This reflects a C++ ABI change 2003 Sep 05. (__cxa_vec_new3): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71273 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--libstdc++-v3/ChangeLog6
-rw-r--r--libstdc++-v3/libsupc++/vec.cc8
2 files changed, 12 insertions, 2 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index d99e42b4845..f046caac3cc 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,9 @@
+2003-09-10 Jeffrey D. Oldham <oldham@codesourcery.com>
+
+ * libsupc++/vec.cc (__cxa_vec_new2): If the allocator returns
+ NULL, return NULL. This reflects a C++ ABI change 2003 Sep 05.
+ (__cxa_vec_new3): Likewise.
+
2003-09-10 Petur Runolfsson <peturr02@ru.is>
* include/bits/fstream.tcc (basic_filebuf::seekoff):
diff --git a/libstdc++-v3/libsupc++/vec.cc b/libstdc++-v3/libsupc++/vec.cc
index d60cccee8c7..e2c8f09df4b 100644
--- a/libstdc++-v3/libsupc++/vec.cc
+++ b/libstdc++-v3/libsupc++/vec.cc
@@ -1,6 +1,6 @@
// New abi Support -*- C++ -*-
-// Copyright (C) 2000, 2001 Free Software Foundation, Inc.
+// Copyright (C) 2000, 2001, 2003 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -83,7 +83,9 @@ namespace __cxxabiv1
{
std::size_t size = element_count * element_size + padding_size;
char *base = static_cast <char *> (alloc (size));
-
+ if (!base)
+ return base;
+
if (padding_size)
{
base += padding_size;
@@ -116,6 +118,8 @@ namespace __cxxabiv1
{
std::size_t size = element_count * element_size + padding_size;
char *base = static_cast<char *>(alloc (size));
+ if (!base)
+ return base;
if (padding_size)
{
OpenPOWER on IntegriCloud