__attribute__(malloc) magic
authorbdemsky <bdemsky>
Fri, 6 Feb 2009 01:54:26 +0000 (01:54 +0000)
committerbdemsky <bdemsky>
Fri, 6 Feb 2009 01:54:26 +0000 (01:54 +0000)
Robust/src/Runtime/runtime.c
Robust/src/Runtime/runtime.h

index 52036b4ea54095a88526652a2853d779106e8f62..43db3b57ab2c40fe7504e4248ea2ba1f7ac8ffe6 100644 (file)
@@ -200,7 +200,7 @@ struct ArrayObject * allocate_newarray(void * ptr, int type, int length) {
 }
 
 #else
-void * allocate_new(int type) {
+__attribute__(malloc) void * allocate_new(int type) {
   struct ___Object___ * v=FREEMALLOC(classsize[type]);
   v->type=type;
 #ifdef OPTIONAL
@@ -211,7 +211,7 @@ void * allocate_new(int type) {
 
 /* Array allocation function */
 
-struct ArrayObject * allocate_newarray(int type, int length) {
+__attribute__(malloc) struct ArrayObject * allocate_newarray(int type, int length) {
   struct ArrayObject * v=FREEMALLOC(sizeof(struct ArrayObject)+length*classsize[type]);
   v->type=type;
   v->___length___=length;
@@ -227,7 +227,7 @@ struct ArrayObject * allocate_newarray(int type, int length) {
 #ifdef PRECISE_GC
 struct ___String___ * NewString(void * ptr, const char *str,int length) {
 #else
-struct ___String___ * NewString(const char *str,int length) {
+  __attribute__(malloc) struct ___String___ * NewString(const char *str,int length) {
 #endif
   int i;
 #ifdef PRECISE_GC
index 68692e8029dc04c83f868c61b9b043d6c92451b5..13b5fac53324003838ef7e8ceb0f0f4b9ffe073c 100644 (file)
@@ -38,9 +38,9 @@ struct ArrayObject * allocate_newarray(void *, int type, int length);
 struct ___String___ * NewString(void *, const char *str,int length);
 struct ___TagDescriptor___ * allocate_tag(void *ptr, int index);
 #else
-void * allocate_new(int type);
-struct ArrayObject * allocate_newarray(int type, int length);
-struct ___String___ * NewString(const char *str,int length);
+__attribute__((malloc)) void * allocate_new(int type);
+__attribute__((malloc)) struct ArrayObject * allocate_newarray(int type, int length);
+__attribute__((malloc)) struct ___String___ * NewString(const char *str,int length);
 struct ___TagDescriptor___ * allocate_tag(int index);
 #endif