1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
|
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 */
}
}
|