diff options
Diffstat (limited to 'test/libcxx/experimental/containers/sequences/dynarray/dynarray.cons/default.pass.cpp')
| -rw-r--r-- | test/libcxx/experimental/containers/sequences/dynarray/dynarray.cons/default.pass.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/test/libcxx/experimental/containers/sequences/dynarray/dynarray.cons/default.pass.cpp b/test/libcxx/experimental/containers/sequences/dynarray/dynarray.cons/default.pass.cpp index cd5c56c7ac51..14f5c4ed8596 100644 --- a/test/libcxx/experimental/containers/sequences/dynarray/dynarray.cons/default.pass.cpp +++ b/test/libcxx/experimental/containers/sequences/dynarray/dynarray.cons/default.pass.cpp @@ -7,7 +7,6 @@ // //===----------------------------------------------------------------------===// -// XFAIL: libcpp-no-exceptions // UNSUPPORTED: c++98, c++03, c++11 // dynarray.cons @@ -29,6 +28,8 @@ #include <new> #include <string> +#include "test_macros.h" + using std::experimental::dynarray; @@ -61,12 +62,14 @@ void test ( const T &val, bool DefaultValueIsIndeterminate = false) { assert ( std::all_of ( d3.begin (), d3.end (), [&val]( const T &item ){ return item == val; } )); } +#ifndef TEST_HAS_NO_EXCEPTIONS void test_bad_length () { try { dynarray<int> ( std::numeric_limits<size_t>::max() / sizeof ( int ) + 1 ); } catch ( std::bad_array_length & ) { return ; } catch (...) { assert(false); } assert ( false ); } +#endif int main() @@ -87,5 +90,7 @@ int main() assert ( d1.size() == 20 ); assert ( std::all_of ( d1.begin (), d1.end (), []( long item ){ return item == 3L; } )); +#ifndef TEST_HAS_NO_EXCEPTIONS test_bad_length (); +#endif } |
