Index: test/std/utilities/template.bitset/bitset.members/flip_one.pass.cpp =================================================================== --- test/std/utilities/template.bitset/bitset.members/flip_one.pass.cpp +++ test/std/utilities/template.bitset/bitset.members/flip_one.pass.cpp @@ -7,13 +7,14 @@ // //===----------------------------------------------------------------------===// -// XFAIL: libcpp-no-exceptions // test bitset& flip(size_t pos); #include #include #include +#include "test_macros.h" + template std::bitset make_bitset() @@ -28,8 +29,10 @@ void test_flip_one() { std::bitset v = make_bitset(); +#ifndef TEST_HAS_NO_EXCEPTIONS try { +#endif v.flip(50); bool b = v[50]; if (50 >= v.size()) @@ -39,19 +42,23 @@ assert(v[50] != b); v.flip(50); assert(v[50] == b); +#ifndef TEST_HAS_NO_EXCEPTIONS } catch (std::out_of_range&) { } +#endif } int main() { +#ifndef TEST_HAS_NO_EXCEPTIONS test_flip_one<0>(); test_flip_one<1>(); test_flip_one<31>(); test_flip_one<32>(); test_flip_one<33>(); +#endif test_flip_one<63>(); test_flip_one<64>(); test_flip_one<65>(); Index: test/std/utilities/template.bitset/bitset.members/reset_one.pass.cpp =================================================================== --- test/std/utilities/template.bitset/bitset.members/reset_one.pass.cpp +++ test/std/utilities/template.bitset/bitset.members/reset_one.pass.cpp @@ -7,18 +7,21 @@ // //===----------------------------------------------------------------------===// -// XFAIL: libcpp-no-exceptions // test bitset& reset(size_t pos); #include #include +#include "test_macros.h" + template void test_reset_one() { std::bitset v; +#ifndef TEST_HAS_NO_EXCEPTIONS try { +#endif v.set(); v.reset(50); if (50 >= v.size()) @@ -28,19 +31,23 @@ assert(!v[i]); else assert(v[i]); +#ifndef TEST_HAS_NO_EXCEPTIONS } catch (std::out_of_range&) { } +#endif } int main() { +#ifndef TEST_HAS_NO_EXCEPTIONS test_reset_one<0>(); test_reset_one<1>(); test_reset_one<31>(); test_reset_one<32>(); test_reset_one<33>(); +#endif test_reset_one<63>(); test_reset_one<64>(); test_reset_one<65>(); Index: test/std/utilities/template.bitset/bitset.members/set_one.pass.cpp =================================================================== --- test/std/utilities/template.bitset/bitset.members/set_one.pass.cpp +++ test/std/utilities/template.bitset/bitset.members/set_one.pass.cpp @@ -7,45 +7,54 @@ // //===----------------------------------------------------------------------===// -// XFAIL: libcpp-no-exceptions // test bitset& set(size_t pos, bool val = true); #include #include +#include "test_macros.h" + template void test_set_one() { std::bitset v; +#ifndef TEST_HAS_NO_EXCEPTIONS try +#endif { v.set(50); if (50 >= v.size()) assert(false); assert(v[50]); } +#ifndef TEST_HAS_NO_EXCEPTIONS catch (std::out_of_range&) { } try +#endif { v.set(50, false); if (50 >= v.size()) assert(false); assert(!v[50]); } +#ifndef TEST_HAS_NO_EXCEPTIONS catch (std::out_of_range&) { } +#endif } int main() { +#ifndef TEST_HAS_NO_EXCEPTIONS test_set_one<0>(); test_set_one<1>(); test_set_one<31>(); test_set_one<32>(); test_set_one<33>(); +#endif test_set_one<63>(); test_set_one<64>(); test_set_one<65>(); Index: test/std/utilities/template.bitset/bitset.members/test.pass.cpp =================================================================== --- test/std/utilities/template.bitset/bitset.members/test.pass.cpp +++ test/std/utilities/template.bitset/bitset.members/test.pass.cpp @@ -7,13 +7,14 @@ // //===----------------------------------------------------------------------===// -// XFAIL: libcpp-no-exceptions // test constexpr bool test(size_t pos) const; #include #include #include +#include "test_macros.h" + template std::bitset make_bitset() @@ -28,25 +29,31 @@ void test_test() { const std::bitset v1 = make_bitset(); +#ifndef TEST_HAS_NO_EXCEPTIONS try { +#endif bool b = v1.test(50); if (50 >= v1.size()) assert(false); assert(b == v1[50]); +#ifndef TEST_HAS_NO_EXCEPTIONS } catch (std::out_of_range&) { } +#endif } int main() { +#ifndef TEST_HAS_NO_EXCEPTIONS test_test<0>(); test_test<1>(); test_test<31>(); test_test<32>(); test_test<33>(); +#endif test_test<63>(); test_test<64>(); test_test<65>();