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<T>::fill(T* arr, HeapIndex n) {
   HeapIndex i;
   //heap must be empty
   assert(this->size()==0);
   for (i = 0; !full() && i<n; i++) {
-    insert(arr[i]);
+    this->insert(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 */
   }
 
 }
 
 
