+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.
#ifndef __EXCEPTION__
#define __EXCEPTION__
-#pragma interface "exception"
-
extern "C++" {
namespace std
{
public:
exception() throw() { }
- virtual ~exception() throw() { }
+ virtual ~exception() throw();
virtual const char* what() const throw();
};
{
public:
bad_exception() throw() { }
- virtual ~bad_exception() throw() { }
+ virtual ~bad_exception() throw();
};
typedef void (*terminate_handler) ();
// 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>
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 (); }
+
+
+
+
#ifndef __NEW__
#define __NEW__
-#pragma interface "new"
#include <cstddef>
#include <exception>
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 { };
// 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 = { };
__new_handler = handler;
return prev_handler;
}
+
+std::bad_alloc::~bad_alloc() throw() { }
// 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
~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.
#ifndef __TYPEINFO__
#define __TYPEINFO__
-#pragma interface "typeinfo"
-
#include <exception>
extern "C++" {
{
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