[svn:parrot] r49373 - in trunk: include/parrot src/gc

plobsing at svn.parrot.org plobsing at svn.parrot.org
Wed Sep 29 00:45:34 UTC 2010


Author: plobsing
Date: Wed Sep 29 00:42:18 2010
New Revision: 49373
URL: https://trac.parrot.org/parrot/changeset/49373

Log:
calloc can return null
rtfm: malloc(3)

Modified:
   trunk/include/parrot/memory.h
   trunk/src/gc/alloc_memory.c
   trunk/src/gc/gc_inf.c
   trunk/src/gc/gc_ms.c
   trunk/src/gc/gc_ms2.c

Modified: trunk/include/parrot/memory.h
==============================================================================
--- trunk/include/parrot/memory.h	Tue Sep 28 23:18:03 2010	(r49372)
+++ trunk/include/parrot/memory.h	Wed Sep 29 00:42:18 2010	(r49373)
@@ -81,7 +81,7 @@
 
 PARROT_EXPORT
 PARROT_MALLOC
-PARROT_CANNOT_RETURN_NULL
+PARROT_CAN_RETURN_NULL
 void * mem_sys_allocate_zeroed(size_t size);
 
 PARROT_EXPORT
@@ -89,7 +89,7 @@
 
 PARROT_EXPORT
 PARROT_MALLOC
-PARROT_CANNOT_RETURN_NULL
+PARROT_CAN_RETURN_NULL
 void * mem_sys_realloc(ARGFREE(void *from), size_t size);
 
 PARROT_EXPORT

Modified: trunk/src/gc/alloc_memory.c
==============================================================================
--- trunk/src/gc/alloc_memory.c	Tue Sep 28 23:18:03 2010	(r49372)
+++ trunk/src/gc/alloc_memory.c	Wed Sep 29 00:42:18 2010	(r49373)
@@ -75,7 +75,7 @@
 
 PARROT_EXPORT
 PARROT_MALLOC
-PARROT_CANNOT_RETURN_NULL
+PARROT_CAN_RETURN_NULL
 void *
 mem_sys_allocate_zeroed(size_t size)
 {
@@ -84,7 +84,7 @@
 #ifdef DETAIL_MEMORY_DEBUG
     fprintf(stderr, "Allocated %i at %p\n", size, ptr);
 #endif
-    if (!ptr)
+    if (!ptr && size)
         PANIC_OUT_OF_MEM(size);
     return ptr;
 }
@@ -103,7 +103,7 @@
 
 PARROT_EXPORT
 PARROT_MALLOC
-PARROT_CANNOT_RETURN_NULL
+PARROT_CAN_RETURN_NULL
 void *
 mem_sys_realloc(ARGFREE(void *from), size_t size)
 {
@@ -119,7 +119,7 @@
 #ifdef DETAIL_MEMORY_DEBUG
     fprintf(stderr, "Allocated %i at %p\n", size, ptr);
 #endif
-    if (!ptr)
+    if (!ptr && size)
         PANIC_OUT_OF_MEM(size);
     return ptr;
 }

Modified: trunk/src/gc/gc_inf.c
==============================================================================
--- trunk/src/gc/gc_inf.c	Tue Sep 28 23:18:03 2010	(r49372)
+++ trunk/src/gc/gc_inf.c	Wed Sep 29 00:42:18 2010	(r49373)
@@ -61,7 +61,7 @@
 static void * gc_inf_allocate_memory_chunk(SHIM_INTERP, size_t size);
 
 PARROT_MALLOC
-PARROT_CANNOT_RETURN_NULL
+PARROT_CAN_RETURN_NULL
 static void * gc_inf_allocate_memory_chunk_zeroed(SHIM_INTERP, size_t size);
 
 PARROT_MALLOC
@@ -112,7 +112,7 @@
         FUNC_MODIFIES(*buffer);
 
 PARROT_MALLOC
-PARROT_CANNOT_RETURN_NULL
+PARROT_CAN_RETURN_NULL
 static void * gc_inf_reallocate_memory_chunk(SHIM_INTERP,
     ARGFREE(void *from),
     size_t size);
@@ -524,7 +524,7 @@
 }
 
 PARROT_MALLOC
-PARROT_CANNOT_RETURN_NULL
+PARROT_CAN_RETURN_NULL
 static void *
 gc_inf_reallocate_memory_chunk(SHIM_INTERP, ARGFREE(void *from), size_t size)
 {
@@ -540,13 +540,13 @@
 #ifdef DETAIL_MEMORY_DEBUG
     fprintf(stderr, "Allocated %i at %p\n", size, ptr);
 #endif
-    if (!ptr)
+    if (!ptr && size)
         PANIC_OUT_OF_MEM(size);
     return ptr;
 }
 
 PARROT_MALLOC
-PARROT_CANNOT_RETURN_NULL
+PARROT_CAN_RETURN_NULL
 static void *
 gc_inf_allocate_memory_chunk_zeroed(SHIM_INTERP, size_t size)
 {
@@ -555,7 +555,7 @@
 #ifdef DETAIL_MEMORY_DEBUG
     fprintf(stderr, "Allocated %i at %p\n", size, ptr);
 #endif
-    if (!ptr)
+    if (!ptr && size)
         PANIC_OUT_OF_MEM(size);
     return ptr;
 }

Modified: trunk/src/gc/gc_ms.c
==============================================================================
--- trunk/src/gc/gc_ms.c	Tue Sep 28 23:18:03 2010	(r49372)
+++ trunk/src/gc/gc_ms.c	Wed Sep 29 00:42:18 2010	(r49373)
@@ -73,7 +73,7 @@
 static void * gc_ms_allocate_memory_chunk(SHIM_INTERP, size_t size);
 
 PARROT_MALLOC
-PARROT_CANNOT_RETURN_NULL
+PARROT_CAN_RETURN_NULL
 static void * gc_ms_allocate_memory_chunk_zeroed(SHIM_INTERP, size_t size);
 
 PARROT_CANNOT_RETURN_NULL
@@ -192,7 +192,7 @@
         FUNC_MODIFIES(*pool);
 
 PARROT_MALLOC
-PARROT_CANNOT_RETURN_NULL
+PARROT_CAN_RETURN_NULL
 static void * gc_ms_reallocate_memory_chunk(SHIM_INTERP,
     ARGFREE(void *from),
     size_t size);
@@ -1351,7 +1351,7 @@
 }
 
 PARROT_MALLOC
-PARROT_CANNOT_RETURN_NULL
+PARROT_CAN_RETURN_NULL
 static void *
 gc_ms_reallocate_memory_chunk(SHIM_INTERP, ARGFREE(void *from), size_t size)
 {
@@ -1367,13 +1367,13 @@
 #ifdef DETAIL_MEMORY_DEBUG
     fprintf(stderr, "Allocated %i at %p\n", size, ptr);
 #endif
-    if (!ptr)
+    if (!ptr && size)
         PANIC_OUT_OF_MEM(size);
     return ptr;
 }
 
 PARROT_MALLOC
-PARROT_CANNOT_RETURN_NULL
+PARROT_CAN_RETURN_NULL
 static void *
 gc_ms_allocate_memory_chunk_zeroed(SHIM_INTERP, size_t size)
 {
@@ -1382,7 +1382,7 @@
 #ifdef DETAIL_MEMORY_DEBUG
     fprintf(stderr, "Allocated %i at %p\n", size, ptr);
 #endif
-    if (!ptr)
+    if (!ptr && size)
         PANIC_OUT_OF_MEM(size);
     return ptr;
 }

Modified: trunk/src/gc/gc_ms2.c
==============================================================================
--- trunk/src/gc/gc_ms2.c	Tue Sep 28 23:18:03 2010	(r49372)
+++ trunk/src/gc/gc_ms2.c	Wed Sep 29 00:42:18 2010	(r49373)
@@ -84,7 +84,7 @@
 static void * gc_ms2_allocate_memory_chunk(SHIM_INTERP, size_t size);
 
 PARROT_MALLOC
-PARROT_CANNOT_RETURN_NULL
+PARROT_CAN_RETURN_NULL
 static void * gc_ms2_allocate_memory_chunk_zeroed(SHIM_INTERP, size_t size);
 
 PARROT_MALLOC
@@ -211,7 +211,7 @@
         __attribute__nonnull__(2);
 
 PARROT_MALLOC
-PARROT_CANNOT_RETURN_NULL
+PARROT_CAN_RETURN_NULL
 static void * gc_ms2_reallocate_memory_chunk(SHIM_INTERP,
     ARGFREE(void *from),
     size_t size);
@@ -1264,7 +1264,7 @@
 }
 
 PARROT_MALLOC
-PARROT_CANNOT_RETURN_NULL
+PARROT_CAN_RETURN_NULL
 static void *
 gc_ms2_reallocate_memory_chunk(SHIM_INTERP, ARGFREE(void *from), size_t size)
 {
@@ -1280,13 +1280,13 @@
 #ifdef DETAIL_MEMORY_DEBUG
     fprintf(stderr, "Allocated %i at %p\n", size, ptr);
 #endif
-    if (!ptr)
+    if (!ptr && size)
         PANIC_OUT_OF_MEM(size);
     return ptr;
 }
 
 PARROT_MALLOC
-PARROT_CANNOT_RETURN_NULL
+PARROT_CAN_RETURN_NULL
 static void *
 gc_ms2_allocate_memory_chunk_zeroed(SHIM_INTERP, size_t size)
 {
@@ -1295,7 +1295,7 @@
 #ifdef DETAIL_MEMORY_DEBUG
     fprintf(stderr, "Allocated %i at %p\n", size, ptr);
 #endif
-    if (!ptr)
+    if (!ptr && size)
         PANIC_OUT_OF_MEM(size);
     return ptr;
 }


More information about the parrot-commits mailing list