/* * newdel.cpp. * * example of functions for new, delete and global constructors * for gnu c++ for the net yaroze * * 15-9-97 */ #include #include #include // prototypes void * __builtin_new(size_t size); void * __builtin_vec_new(size_t size); void __builtin_vec_delete(void *ptr); void __builtin_delete(void *ptr); void *__builtin_new(size_t size) { void *ptr; // Apparently malloc (0) can be a bit unpredictable if (size==0) { size = 1; } ptr = (void *)malloc(size); if (ptr==NULL) { printf("new failed - out of heap\n"); } return ptr; } void *__builtin_vec_new(size_t size) { return __builtin_new(size); } void __builtin_delete(void *ptr) { if (ptr!=NULL) { free(ptr); } } void __builtin_vec_delete(void *ptr) { __builtin_delete(ptr); }