Commit f68147f7 by Benjamin Kosnik Committed by Benjamin Kosnik

new: Remove pragma interface.


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.

From-SVN: r40442
parent 65aac28a
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.
......
......@@ -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) ();
......
......@@ -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 (); }
......@@ -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 { };
......
......@@ -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() { }
......@@ -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.
......
......@@ -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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment