Sfoglia il codice sorgente

Fix exception specifications for new/delete operators

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@50130 15284696-431f-4ddb-bdfa-cd5b030d7da7
Glynn Clements 13 anni fa
parent
commit
24238a03e3
2 ha cambiato i file con 8 aggiunte e 8 eliminazioni
  1. 4 4
      include/iostream/mm.h
  2. 4 4
      lib/iostream/mm.cpp

+ 4 - 4
include/iostream/mm.h

@@ -128,10 +128,10 @@ public:
   void print();
 
   friend class mm_register_init;
-  friend void * operator new(size_t);
-  friend void * operator new[](size_t);
-  friend void operator delete(void *);
-  friend void operator delete[](void *);
+  friend void * operator new(size_t) throw(std::bad_alloc);
+  friend void * operator new[](size_t) throw(std::bad_alloc);
+  friend void operator delete(void *) throw();
+  friend void operator delete[](void *) throw();
 };
 
 

+ 4 - 4
lib/iostream/mm.cpp

@@ -274,7 +274,7 @@ MM_err MM_register::register_deallocation(size_t sz) {
 
  
 /* ************************************************************ */
-void* operator new[] (size_t sz) {
+void* operator new[] (size_t sz) throw(std::bad_alloc) {
   void *p;
   
   MM_DEBUG cout << "new: sz=" << sz << ", register " 
@@ -325,7 +325,7 @@ void* operator new[] (size_t sz) {
 
  
 /* ************************************************************ */
-void* operator new (size_t sz) {
+void* operator new (size_t sz) throw(std::bad_alloc) {
   void *p;
   
   MM_DEBUG cout << "new: sz=" << sz << ", register " 
@@ -377,7 +377,7 @@ void* operator new (size_t sz) {
 
 
 /* ---------------------------------------------------------------------- */
-void operator delete (void *ptr)  {
+void operator delete (void *ptr) throw() {
   size_t sz;
   void *p;
   
@@ -417,7 +417,7 @@ void operator delete (void *ptr)  {
 
 
 /* ---------------------------------------------------------------------- */
-void operator delete[] (void *ptr) {
+void operator delete[] (void *ptr) throw() {
   size_t sz;
   void *p;