new(nothrow) is malloc-like
authorMarc Glisse <marc.glisse@inria.fr>
Fri, 24 Aug 2018 18:24:42 +0000 (20:24 +0200)
committerMarc Glisse <glisse@gcc.gnu.org>
Fri, 24 Aug 2018 18:24:42 +0000 (18:24 +0000)
2018-08-24  Marc Glisse  <marc.glisse@inria.fr>

PR libstdc++/86822
* libsupc++/new (operator new(size_t, nothrow_t), operator
new[](size_t, nothrow_t), operator new(size_t, align_val_t, nothrow_t),
operator new[](size_t, align_val_t, nothrow_t)): Add malloc attribute.

From-SVN: r263841

libstdc++-v3/ChangeLog
libstdc++-v3/libsupc++/new

index 48a63667430279c280e6e12161fa533f1d79005f..9f9be6c552ce45b7350f42cb1587c48a68cc8b62 100644 (file)
@@ -1,3 +1,10 @@
+2018-08-24  Marc Glisse  <marc.glisse@inria.fr>
+
+       PR libstdc++/86822
+       * libsupc++/new (operator new(size_t, nothrow_t), operator
+       new[](size_t, nothrow_t), operator new(size_t, align_val_t, nothrow_t),
+       operator new[](size_t, align_val_t, nothrow_t)): Add malloc attribute.
+
 2018-08-24  Jonathan Wakely  <jwakely@redhat.com>
 
        * include/debug/deque (std::__debug::deque): Declare.
index 82d884d95d378f4b2b03df04ef11e52648bdc64e..19bc1832541c0210141a5dc88b03333e11c5f0f7 100644 (file)
@@ -137,9 +137,9 @@ void operator delete[](void*, std::size_t) _GLIBCXX_USE_NOEXCEPT
   __attribute__((__externally_visible__));
 #endif
 void* operator new(std::size_t, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT
-  __attribute__((__externally_visible__));
+  __attribute__((__externally_visible__, __malloc__));
 void* operator new[](std::size_t, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT
-  __attribute__((__externally_visible__));
+  __attribute__((__externally_visible__, __malloc__));
 void operator delete(void*, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT
   __attribute__((__externally_visible__));
 void operator delete[](void*, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT
@@ -148,7 +148,7 @@ void operator delete[](void*, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT
 void* operator new(std::size_t, std::align_val_t)
   __attribute__((__externally_visible__));
 void* operator new(std::size_t, std::align_val_t, const std::nothrow_t&)
-  _GLIBCXX_USE_NOEXCEPT __attribute__((__externally_visible__));
+  _GLIBCXX_USE_NOEXCEPT __attribute__((__externally_visible__, __malloc__));
 void operator delete(void*, std::align_val_t)
   _GLIBCXX_USE_NOEXCEPT __attribute__((__externally_visible__));
 void operator delete(void*, std::align_val_t, const std::nothrow_t&)
@@ -156,7 +156,7 @@ void operator delete(void*, std::align_val_t, const std::nothrow_t&)
 void* operator new[](std::size_t, std::align_val_t)
   __attribute__((__externally_visible__));
 void* operator new[](std::size_t, std::align_val_t, const std::nothrow_t&)
-  _GLIBCXX_USE_NOEXCEPT __attribute__((__externally_visible__));
+  _GLIBCXX_USE_NOEXCEPT __attribute__((__externally_visible__, __malloc__));
 void operator delete[](void*, std::align_val_t)
   _GLIBCXX_USE_NOEXCEPT __attribute__((__externally_visible__));
 void operator delete[](void*, std::align_val_t, const std::nothrow_t&)