@@ -119,6 +119,14 @@ void idris_gc(VM* vm) {
119 char* newheap = malloc(vm->heap.size);
119 char* newheap = malloc(vm->heap.size);
120 char* oldheap = vm->heap.heap;
120 char* oldheap = vm->heap.heap;
122+ if (newheap == NULL) {
124+ "GC ERROR: Unable to allocate new heap. Requested %zd bytes.\n",
122 vm->heap.heap = newheap;
130 vm->heap.heap = newheap;
123#ifdef FORCE_ALIGNMENT
131#ifdef FORCE_ALIGNMENT
124 if (((i_int)(vm->heap.heap)&1) == 1) {
132 if (((i_int)(vm->heap.heap)&1) == 1) {