summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libcxx/src/new.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/libcxx/src/new.cpp b/libcxx/src/new.cpp
index d629185e085..1e8ed88dc4c 100644
--- a/libcxx/src/new.cpp
+++ b/libcxx/src/new.cpp
@@ -28,6 +28,9 @@
__attribute__((__weak__, __visibility__("default")))
void *
operator new(std::size_t size)
+#if !__has_feature(cxx_noexcept)
+ throw(std::bad_alloc)
+#endif
{
if (size == 0)
size = 1;
@@ -71,6 +74,9 @@ operator new(size_t size, const std::nothrow_t&) _NOEXCEPT
__attribute__((__weak__, __visibility__("default")))
void*
operator new[](size_t size)
+#if !__has_feature(cxx_noexcept)
+ throw(std::bad_alloc)
+#endif
{
return ::operator new(size);
}
OpenPOWER on IntegriCloud