Index: grass/lib/iostream/mm.cc =================================================================== --- grass.orig/lib/iostream/mm.cc (revision 48704) +++ grass/lib/iostream/mm.cc (revision 51638) @@ -254,11 +254,11 @@ } /* ************************************************************ */ -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 " << sz+SIZE_SPACE << "B ,"; @@ -305,11 +305,11 @@ } /* ************************************************************ */ -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 " << sz+SIZE_SPACE << "B ,"; @@ -357,11 +357,11 @@ /* ---------------------------------------------------------------------- */ -void operator delete (void *ptr) { +void operator delete (void *ptr) throw() { size_t sz; void *p; MM_DEBUG cout << "delete: ptr=" << ptr << ","; @@ -397,11 +397,11 @@ /* ---------------------------------------------------------------------- */ -void operator delete[] (void *ptr) { +void operator delete[] (void *ptr) throw() { size_t sz; void *p; MM_DEBUG cout << "delete[]: ptr=" << ptr << ","; Index: grass/include/iostream/mm.h =================================================================== --- grass.orig/include/iostream/mm.h (revision 32629) +++ grass/include/iostream/mm.h (revision 51638) @@ -108,14 +108,14 @@ int space_overhead (); 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(); }; Index: grass/include/iostream/minmaxheap.h =================================================================== --- grass.orig/include/iostream/minmaxheap.h (revision 41531) +++ grass/include/iostream/minmaxheap.h (revision 51638) @@ -742,11 +742,11 @@ HeapIndex MinMaxHeap::fill(T* arr, HeapIndex n) { HeapIndex i; //heap must be empty assert(this->size()==0); for (i = 0; !full() && iinsert(arr[i]); } if (i < n) { assert(i == this->maxsize); return n - i; } else { @@ -775,17 +775,17 @@ assert(this->maxsize > 0); if(old) { HeapIndex n = this->size(); - this->A = allocateHeap(this->maxsize); /* allocate a new array */ + this->A = this->allocateHeap(this->maxsize); /* allocate a new array */ /* copy over the old values */ assert(this->maxsize > n); for(HeapIndex i=0; i<=n; i++) { /* why extra value? -RW */ this->A[i] = old[i]; } - freeHeap(old); /* free up old storage */ + this->freeHeap(old); /* free up old storage */ } }