From f4107076e462abecf73c72cc53e31faff5420d5b Mon Sep 17 00:00:00 2001
From: Marshall Clow <mclow.lists@gmail.com>
Date: Thu, 12 Sep 2013 17:01:38 +0000
Subject: [PATCH] Test for 'bad_array_length'; got left out of initial commit

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@190614 91177308-0d34-0410-b5e6-96231b3b80d8
---
 .../new.badlength/bad_array_length.pass.cpp   | 29 +++++++++++++++++++
 1 file changed, 29 insertions(+)
 create mode 100644 test/language.support/support.dynamic/alloc.errors/new.badlength/bad_array_length.pass.cpp

diff --git a/test/language.support/support.dynamic/alloc.errors/new.badlength/bad_array_length.pass.cpp b/test/language.support/support.dynamic/alloc.errors/new.badlength/bad_array_length.pass.cpp
new file mode 100644
index 00000000..7de50330
--- /dev/null
+++ b/test/language.support/support.dynamic/alloc.errors/new.badlength/bad_array_length.pass.cpp
@@ -0,0 +1,29 @@
+//===----------------------------------------------------------------------===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is dual licensed under the MIT and the University of Illinois Open
+// Source Licenses. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+// test bad_array_length
+
+#include <new>
+#include <type_traits>
+#include <cassert>
+
+int main()
+{
+#if __LIBCPP_STD_VER > 11
+    static_assert((std::is_base_of<std::bad_alloc, std::bad_array_length>::value),
+                  "std::is_base_of<std::bad_alloc, std::bad_array_length>::value");
+    static_assert(std::is_polymorphic<std::bad_array_length>::value,
+                 "std::is_polymorphic<std::bad_array_length>::value");
+    std::bad_array_length b;
+    std::bad_array_length b2 = b;
+    b2 = b;
+    const char* w = b2.what();
+    assert(w);
+#endif
+}