aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeffrey D. Oldham <oldham@codesourcery.com>2003-09-10 15:41:48 +0000
committerJeffrey D. Oldham <oldham@gcc.gnu.org>2003-09-10 15:41:48 +0000
commit520abf693092a8244aa99ec41eaa76bafa0f9e20 (patch)
tree2cd4e8981152002d126ec5ae30a4016f1a9c063a
parent8c8dec01e2937c602d3badd86807658cce50d369 (diff)
downloadgcc-520abf693092a8244aa99ec41eaa76bafa0f9e20.zip
gcc-520abf693092a8244aa99ec41eaa76bafa0f9e20.tar.gz
gcc-520abf693092a8244aa99ec41eaa76bafa0f9e20.tar.bz2
vec.cc (__cxa_vec_new2): If the allocator returns NULL, return NULL.
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. From-SVN: r71273
-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 d99e42b..f046caa 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 d60ccce..e2c8f09 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)
{