Index: libcxx/trunk/test/std/numerics/rand/rand.device/ctor.pass.cpp =================================================================== --- libcxx/trunk/test/std/numerics/rand/rand.device/ctor.pass.cpp +++ libcxx/trunk/test/std/numerics/rand/rand.device/ctor.pass.cpp @@ -7,7 +7,6 @@ // //===----------------------------------------------------------------------===// -// XFAIL: libcpp-no-exceptions // // class random_device; @@ -44,11 +43,13 @@ } void check_random_device_invalid(const std::string &token) { +#ifndef TEST_HAS_NO_EXCEPTIONS try { std::random_device r(token); LIBCPP_ASSERT(false); } catch (const std::system_error&) { } +#endif } Index: libcxx/trunk/test/std/numerics/rand/rand.device/eval.pass.cpp =================================================================== --- libcxx/trunk/test/std/numerics/rand/rand.device/eval.pass.cpp +++ libcxx/trunk/test/std/numerics/rand/rand.device/eval.pass.cpp @@ -7,7 +7,6 @@ // //===----------------------------------------------------------------------===// -// XFAIL: libcpp-no-exceptions // // class random_device; @@ -26,6 +25,7 @@ std::random_device::result_type e = r(); } +#ifndef TEST_HAS_NO_EXCEPTIONS try { std::random_device r("/dev/null"); @@ -35,4 +35,5 @@ catch (const std::system_error&) { } +#endif }