diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 7f6f583290a48a2ac7e4bafbf66b9ea1738ceadd..93e04d20cd370be315f3e32229cfdde80fa6d4d0 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,9 @@
+2002-07-16  Andreas Schwab  <schwab@suse.de>
+
+	* libsupc++/new (set_new_handler): Declare to not throw any
+	exceptions.
+	* libsupc++/new_handler.cc (set_new_handler): Likewise.
+
 2002-07-16  Gabriel Dos Reis  <gdr@nerim.net>
 
 	* include/Makefile.am (bits_headers): Remove slice.h
diff --git a/libstdc++-v3/libsupc++/new b/libstdc++-v3/libsupc++/new
index afa603a786d70b288156960e0458e97565523f07..74f14b5a4a25c67987cc803cc2176d9e44e53b71 100644
--- a/libstdc++-v3/libsupc++/new
+++ b/libstdc++-v3/libsupc++/new
@@ -62,7 +62,7 @@ namespace std
    *  be of this type.  */
   typedef void (*new_handler)();
   /// Takes a replacement handler as the argument, returns the previous handler.
-  new_handler set_new_handler(new_handler);
+  new_handler set_new_handler(new_handler) throw();
 } // namespace std
 
 //@{
diff --git a/libstdc++-v3/libsupc++/new_handler.cc b/libstdc++-v3/libsupc++/new_handler.cc
index ed34bc8865d40aee9fee21623874368bff936226..7c6aae08ec5ac45e12731e101c7f854f0a4b082e 100644
--- a/libstdc++-v3/libsupc++/new_handler.cc
+++ b/libstdc++-v3/libsupc++/new_handler.cc
@@ -37,7 +37,7 @@ using std::new_handler;
 new_handler __new_handler;
 
 new_handler
-std::set_new_handler (new_handler handler)
+std::set_new_handler (new_handler handler) throw()
 {
   new_handler prev_handler = __new_handler;
   __new_handler = handler;