Revert r342936 "Remove redundant null pointer check in operator delete"
authorLouis Dionne <ldionne@apple.com>
Tue, 25 Sep 2018 04:13:08 +0000 (04:13 +0000)
committerLouis Dionne <ldionne@apple.com>
Tue, 25 Sep 2018 04:13:08 +0000 (04:13 +0000)
A review for the change was opened in https://reviews.llvm.org/D52401
but the change was committed before being approved by any of the code
owners for libc++.

llvm-svn: 342938

libcxx/src/new.cpp

index 35f481d..8013d89 100644 (file)
@@ -135,7 +135,8 @@ _LIBCPP_WEAK
 void
 operator delete(void* ptr) _NOEXCEPT
 {
-    ::free(ptr);
+    if (ptr)
+        ::free(ptr);
 }
 
 _LIBCPP_WEAK
@@ -256,10 +257,11 @@ _LIBCPP_WEAK
 void
 operator delete(void* ptr, std::align_val_t) _NOEXCEPT
 {
+    if (ptr)
 #if defined(_LIBCPP_MSVCRT_LIKE)
-    ::_aligned_free(ptr);
+        ::_aligned_free(ptr);
 #else
-    ::free(ptr);
+        ::free(ptr);
 #endif
 }