summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4>2001-03-13 19:32:00 +0000
committerbkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4>2001-03-13 19:32:00 +0000
commit2dda89f55be2266686d16b8a780dbcdbbcb46f88 (patch)
treec7c801d8135b3204b36fcdb537f8ee2a0f57e31a
parentd059db043382924b9ee151d09175096035576d40 (diff)
downloadppe42-gcc-2dda89f55be2266686d16b8a780dbcdbbcb46f88.tar.gz
ppe42-gcc-2dda89f55be2266686d16b8a780dbcdbbcb46f88.zip
2001-03-13 Benjamin Kosnik <bkoz@redhat.com>
* libsupc++/new: Remove pragma interface. * libsupc++/typeinfo: Same. * libsupc++/exception: Same. * libsupc++/new_handler.cc: Remove pragma implementation. (bad_alloc::~bad_alloc()): Add. * libsupc++/exception_support.cc: Same. (exception::~exception): Add. (bad_exception::~bad_exception): Add. * libsupc++/tinfo.cc: Same. (bad_cast::~bad_cast): Add. (bad_typeid::~bad_typeid): Add. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@40442 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--libstdc++-v3/ChangeLog14
-rw-r--r--libstdc++-v3/libsupc++/exception6
-rw-r--r--libstdc++-v3/libsupc++/exception_support.cc10
-rw-r--r--libstdc++-v3/libsupc++/new4
-rw-r--r--libstdc++-v3/libsupc++/new_handler.cc3
-rw-r--r--libstdc++-v3/libsupc++/tinfo.cc5
-rw-r--r--libstdc++-v3/libsupc++/typeinfo6
7 files changed, 33 insertions, 15 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index fd8a5dacd98..fea829a5acb 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,17 @@
+2001-03-13 Benjamin Kosnik <bkoz@redhat.com>
+
+ * libsupc++/new: Remove pragma interface.
+ * libsupc++/typeinfo: Same.
+ * libsupc++/exception: Same.
+ * libsupc++/new_handler.cc: Remove pragma implementation.
+ (bad_alloc::~bad_alloc()): Add.
+ * libsupc++/exception_support.cc: Same.
+ (exception::~exception): Add.
+ (bad_exception::~bad_exception): Add.
+ * libsupc++/tinfo.cc: Same.
+ (bad_cast::~bad_cast): Add.
+ (bad_typeid::~bad_typeid): Add.
+
2001-03-13 Phil Edwards <pme@sources.redhat.com>
* mkcheck.in: Fix IFS regression for non-bash-2.01 hosts.
diff --git a/libstdc++-v3/libsupc++/exception b/libstdc++-v3/libsupc++/exception
index fac73fb0566..3676a731481 100644
--- a/libstdc++-v3/libsupc++/exception
+++ b/libstdc++-v3/libsupc++/exception
@@ -31,8 +31,6 @@
#ifndef __EXCEPTION__
#define __EXCEPTION__
-#pragma interface "exception"
-
extern "C++" {
namespace std
@@ -41,7 +39,7 @@ namespace std
{
public:
exception() throw() { }
- virtual ~exception() throw() { }
+ virtual ~exception() throw();
virtual const char* what() const throw();
};
@@ -49,7 +47,7 @@ namespace std
{
public:
bad_exception() throw() { }
- virtual ~bad_exception() throw() { }
+ virtual ~bad_exception() throw();
};
typedef void (*terminate_handler) ();
diff --git a/libstdc++-v3/libsupc++/exception_support.cc b/libstdc++-v3/libsupc++/exception_support.cc
index ae62e5321da..48adafa4ab9 100644
--- a/libstdc++-v3/libsupc++/exception_support.cc
+++ b/libstdc++-v3/libsupc++/exception_support.cc
@@ -29,8 +29,6 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
-#pragma implementation "exception"
-
#include "typeinfo"
#include "exception"
#include <cstddef>
@@ -377,6 +375,14 @@ std::uncaught_exception() throw()
return p && ! p->caught;
}
+std::exception::~exception() throw() { }
+
+std::bad_exception::~bad_exception() throw() { }
+
const char*
std::exception::what() const throw()
{ return typeid (*this).name (); }
+
+
+
+
diff --git a/libstdc++-v3/libsupc++/new b/libstdc++-v3/libsupc++/new
index 87c9d712f37..56cc1833fe8 100644
--- a/libstdc++-v3/libsupc++/new
+++ b/libstdc++-v3/libsupc++/new
@@ -31,7 +31,6 @@
#ifndef __NEW__
#define __NEW__
-#pragma interface "new"
#include <cstddef>
#include <exception>
@@ -42,7 +41,8 @@ namespace std
class bad_alloc : public exception
{
public:
- virtual const char* what() const throw() { return "bad_alloc"; }
+ bad_alloc() throw() { }
+ virtual ~bad_alloc() throw();
};
struct nothrow_t { };
diff --git a/libstdc++-v3/libsupc++/new_handler.cc b/libstdc++-v3/libsupc++/new_handler.cc
index a6cf2a2a3fb..8c1628f4f71 100644
--- a/libstdc++-v3/libsupc++/new_handler.cc
+++ b/libstdc++-v3/libsupc++/new_handler.cc
@@ -28,7 +28,6 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
-#pragma implementation "new"
#include "new"
const std::nothrow_t std::nothrow = { };
@@ -43,3 +42,5 @@ std::set_new_handler (new_handler handler)
__new_handler = handler;
return prev_handler;
}
+
+std::bad_alloc::~bad_alloc() throw() { }
diff --git a/libstdc++-v3/libsupc++/tinfo.cc b/libstdc++-v3/libsupc++/tinfo.cc
index 1d0c5058939..732609cf048 100644
--- a/libstdc++-v3/libsupc++/tinfo.cc
+++ b/libstdc++-v3/libsupc++/tinfo.cc
@@ -27,8 +27,6 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
-#pragma implementation "typeinfo"
-
#include <cstddef>
#include "tinfo.h"
#include "new" // for placement new
@@ -41,6 +39,9 @@ std::type_info::
~type_info ()
{ }
+std::bad_cast::~bad_cast() throw() { }
+std::bad_typeid::~bad_typeid() throw() { }
+
#if !__GXX_MERGED_TYPEINFO_NAMES
// We can't rely on common symbols being shared between shared objects.
diff --git a/libstdc++-v3/libsupc++/typeinfo b/libstdc++-v3/libsupc++/typeinfo
index bffe042a73a..8d8133b6a5c 100644
--- a/libstdc++-v3/libsupc++/typeinfo
+++ b/libstdc++-v3/libsupc++/typeinfo
@@ -30,8 +30,6 @@
#ifndef __TYPEINFO__
#define __TYPEINFO__
-#pragma interface "typeinfo"
-
#include <exception>
extern "C++" {
@@ -118,14 +116,14 @@ namespace std
{
public:
bad_cast() throw() { }
- virtual ~bad_cast() throw() { }
+ virtual ~bad_cast() throw();
};
class bad_typeid : public exception
{
public:
bad_typeid () throw() { }
- virtual ~bad_typeid () throw() { }
+ virtual ~bad_typeid () throw();
};
} // namespace std
OpenPOWER on IntegriCloud