OSDN Git Service

optimize delete/delete[] operators by removing unneeded branch
authorAndré Goddard Rosa <andre.goddard@gmail.com>
Sun, 31 Jan 2010 00:26:30 +0000 (22:26 -0200)
committerAndré Goddard Rosa <andre.goddard@gmail.com>
Sun, 31 Jan 2010 00:26:30 +0000 (22:26 -0200)
Remove redundant not NULL check already done in free().

Signed-off-by: André Goddard Rosa <andre.goddard@gmail.com>
libstdc++/src/new.cpp

index 8189159..a9c92d4 100644 (file)
@@ -23,16 +23,12 @@ void* operator new[](std::size_t size)
 
 void  operator delete(void* ptr)
 {
-    if (ptr) {
-        free(ptr);
-    }
+    free(ptr);
 }
 
 void  operator delete[](void* ptr)
 {
-    if (ptr) {
-        free(ptr);
-    }
+    free(ptr);
 }
 
 void* operator new(std::size_t size, const std::nothrow_t&)
@@ -47,16 +43,12 @@ void* operator new[](std::size_t size, const std::nothrow_t&)
 
 void  operator delete(void* ptr, const std::nothrow_t&)
 {
-    if (ptr) {
-        free(ptr);
-    }
+    free(ptr);
 }
 
 void  operator delete[](void* ptr, const std::nothrow_t&)
 {
-    if (ptr) {
-        free(ptr);
-    }
+    free(ptr);
 }