diff options
author | kan <kan@FreeBSD.org> | 2007-05-19 01:25:07 +0000 |
---|---|---|
committer | kan <kan@FreeBSD.org> | 2007-05-19 01:25:07 +0000 |
commit | 7865836f4b0f698454c31b4593effcb032c22c1e (patch) | |
tree | ea6c2718dc1e45ed535d194df808ef31f0ebac92 /contrib/libstdc++/libsupc++/new_op.cc | |
parent | 1f9ea4d0a40cca64d60cf4dab152349da7b9dddf (diff) | |
download | FreeBSD-src-7865836f4b0f698454c31b4593effcb032c22c1e.zip FreeBSD-src-7865836f4b0f698454c31b4593effcb032c22c1e.tar.gz |
GCC 4.2.0 release C++ standard library and runtime support code.
Diffstat (limited to 'contrib/libstdc++/libsupc++/new_op.cc')
-rw-r--r-- | contrib/libstdc++/libsupc++/new_op.cc | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/contrib/libstdc++/libsupc++/new_op.cc b/contrib/libstdc++/libsupc++/new_op.cc index 29eac93..8059d1d 100644 --- a/contrib/libstdc++/libsupc++/new_op.cc +++ b/contrib/libstdc++/libsupc++/new_op.cc @@ -1,5 +1,7 @@ // Support routines for the -*- C++ -*- dynamic memory management. -// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation + +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2004 +// Free Software Foundation // // This file is part of GCC. // @@ -15,8 +17,8 @@ // // You should have received a copy of the GNU General Public License // along with GCC; see the file COPYING. If not, write to -// the Free Software Foundation, 59 Temple Place - Suite 330, -// Boston, MA 02111-1307, USA. +// the Free Software Foundation, 51 Franklin Street, Fifth Floor, +// Boston, MA 02110-1301, USA. // // As a special exception, you may use this file as part of a free software // library without restriction. Specifically, if other files instantiate @@ -27,17 +29,24 @@ // invalidate any other reasons why the executable file might be covered by // the GNU General Public License. -#include "new" +#include <bits/c++config.h> #include <cstdlib> #include <exception_defines.h> +#include "new" using std::new_handler; using std::bad_alloc; +#if _GLIBCXX_HOSTED using std::malloc; +#else +// A freestanding C runtime may not provide "malloc" -- but there is no +// other reasonable way to implement "operator new". +extern "C" void *malloc (std::size_t); +#endif extern new_handler __new_handler; -void * +_GLIBCXX_WEAK_DEFINITION void * operator new (std::size_t sz) throw (std::bad_alloc) { void *p; |