libstdc++/3150: revert 2001-11-30 commit.
authorPaolo Carlini <pcarlini@unitus.it>
Wed, 9 Jan 2002 20:39:27 +0000 (21:39 +0100)
committerPaolo Carlini <paolo@gcc.gnu.org>
Wed, 9 Jan 2002 20:39:27 +0000 (20:39 +0000)
2002-01-09  Paolo Carlini <pcarlini@unitus.it>

libstdc++/3150: revert 2001-11-30 commit. DR266 only means
that the destructors should be removed from the descriptions
in the standard: writing them explicitly allows the vtable
heuristic to work. For additional information see:
http://gcc.gnu.org/ml/libstdc++/2002-01/msg00090.html
http://gcc.gnu.org/ml/libstdc++/2002-01/msg00110.html
http://gcc.gnu.org/ml/libstdc++/2002-01/msg00155.html
* libsupc++/exception (bad_exception::~bad_exception()):
Reintroduce declaration.
* libsupc++/new (bad_alloc::~bad_alloc()): Same.
* libsupc++/typeinfo (bad_cast::~bad_cast()): Same.
(bad_typeid::~bad_typeid()): Same.
* libsupc++/eh_exception.cc (bad_exception::~bad_exception()):
Reintroduce definition.
* libsupc++/new_handler.cc (bad_alloc::~bad_alloc()): Same.
* libsupc++/tinfo.cc (bad_cast::~bad_cast()): Same.
(bad_typeid::~bad_typeid()): Same.

From-SVN: r48687

libstdc++-v3/ChangeLog
libstdc++-v3/libsupc++/eh_exception.cc
libstdc++-v3/libsupc++/exception
libstdc++-v3/libsupc++/new
libstdc++-v3/libsupc++/new_handler.cc
libstdc++-v3/libsupc++/tinfo.cc
libstdc++-v3/libsupc++/typeinfo

index b06d54e3f3ad73bb9af2fdbb31bbcb33be0478e4..da64dcb1c5ba1270c47c627401e6c3fde14fd995 100644 (file)
@@ -1,3 +1,23 @@
+2002-01-09  Paolo Carlini <pcarlini@unitus.it>
+
+       libstdc++/3150: revert 2001-11-30 commit. DR266 only means
+       that the destructors should be removed from the descriptions
+       in the standard: writing them explicitly allows the vtable
+       heuristic to work. For additional information see:
+       http://gcc.gnu.org/ml/libstdc++/2002-01/msg00090.html
+       http://gcc.gnu.org/ml/libstdc++/2002-01/msg00110.html
+       http://gcc.gnu.org/ml/libstdc++/2002-01/msg00155.html
+       * libsupc++/exception (bad_exception::~bad_exception()):
+       Reintroduce declaration.
+       * libsupc++/new (bad_alloc::~bad_alloc()): Same.
+       * libsupc++/typeinfo (bad_cast::~bad_cast()): Same.
+       (bad_typeid::~bad_typeid()): Same.
+       * libsupc++/eh_exception.cc (bad_exception::~bad_exception()):
+       Reintroduce definition.
+       * libsupc++/new_handler.cc (bad_alloc::~bad_alloc()): Same.
+       * libsupc++/tinfo.cc (bad_cast::~bad_cast()): Same.
+       (bad_typeid::~bad_typeid()): Same.
+
 2002-01-09  Benjamin Kosnik  <bkoz@redhat.com>
 
        * include/Makefile.am (c_base_srcdir): Remove duplicate '/'.
index 328a89e7f8916ed3a79dd699efd15df8fc20d77e..a581be70b9f5836e0a5cf9d089c9debdc1c79651 100644 (file)
@@ -1,5 +1,5 @@
 // -*- C++ -*- std::exception implementation.
-// Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 
+// Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 
 // Free Software Foundation
 //
 // This file is part of GNU CC.
@@ -35,6 +35,8 @@
 
 std::exception::~exception() throw() { }
 
+std::bad_exception::~bad_exception() throw() { }
+
 const char* 
 std::exception::what() const throw()
 {
index 55dd872cc62d95fea01547f2457363be53d6f036..aea61ffa412e73d5a1a965cab024024b3c37c31b 100644 (file)
@@ -1,6 +1,7 @@
 // Exception Handling support header for -*- C++ -*-
 
-// Copyright (C) 1995, 1996, 1997, 1998, 2000, 2001 Free Software Foundation
+// Copyright (C) 1995, 1996, 1997, 1998, 2000, 2001, 2002
+// Free Software Foundation
 //
 // This file is part of GNU CC.
 //
@@ -62,6 +63,7 @@ namespace std
   {
   public:
     bad_exception() throw() { }
+    virtual ~bad_exception() throw();
   };
 
   /// If you write a replacement %terminate handler, it must be of this type.
index 0669f6d071659d659d543b560b10632803849b72..358aa1d12c12ff84ee6d8bbcb1c0bede0ce51858 100644 (file)
@@ -1,6 +1,7 @@
 // The -*- C++ -*- dynamic memory management header.
 
-// Copyright (C) 1994, 1996, 1997, 1998, 2000, 2001 Free Software Foundation
+// Copyright (C) 1994, 1996, 1997, 1998, 2000, 2001, 2002
+// Free Software Foundation
 
 // This file is part of GNU CC.
 //
@@ -50,6 +51,7 @@ namespace std
   {
   public:
     bad_alloc() throw() { }
+    virtual ~bad_alloc() throw();
   };
 
   struct nothrow_t { };
index 2d3937ecce908b0653a48d7080e90ae65080d169..ed34bc8865d40aee9fee21623874368bff936226 100644 (file)
@@ -1,6 +1,7 @@
 // Implementation file for the -*- C++ -*- dynamic memory management header.
 
-// Copyright (C) 1996, 1997, 1998, 2000 Free Software Foundation
+// Copyright (C) 1996, 1997, 1998, 2000, 2001, 2002
+// Free Software Foundation
 //
 // This file is part of GNU CC.
 //
@@ -42,3 +43,5 @@ std::set_new_handler (new_handler handler)
   __new_handler = handler;
   return prev_handler;
 }
+
+std::bad_alloc::~bad_alloc() throw() { }
index 34b0060b4e9906560f3548efee7009e3edb73666..1eecdeb41a15feab2437883c2e8df5703e6026ad 100644 (file)
@@ -1,5 +1,6 @@
 // Methods for type_info for -*- C++ -*- Run Time Type Identification.
-// Copyright (C) 1994, 1996, 1998, 1999, 2000, 2001 Free Software Foundation
+// Copyright (C) 1994, 1996, 1998, 1999, 2000, 2001, 2002
+// Free Software Foundation
 //
 // This file is part of GNU CC.
 //
@@ -39,6 +40,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.
index c45f54431fe61a36d96c6a94cd60a50c2c9f2ca7..336fcc058d980979fd31cc6e8396d70ca70326b1 100644 (file)
@@ -1,5 +1,6 @@
 // RTTI support for -*- C++ -*-
-// Copyright (C) 1994, 1995, 1996, 1997, 1998, 2000, 2001 Free Software Foundation
+// Copyright (C) 1994, 1995, 1996, 1997, 1998, 2000, 2001, 2002
+// Free Software Foundation
 //
 // This file is part of GNU CC.
 //
@@ -129,6 +130,7 @@ namespace std
   {
   public:
     bad_cast() throw() { }
+    virtual ~bad_cast() throw();
   };
   
   /** If you use a NULL pointer in a @c typeid expression, this is thrown.  */
@@ -136,6 +138,7 @@ namespace std
   {
   public:
     bad_typeid () throw() { }
+    virtual ~bad_typeid() throw();
   };
 } // namespace std