Index: libcxx/trunk/test/std/input.output/iostreams.base/ios/basic.ios.members/copyfmt.pass.cpp =================================================================== --- libcxx/trunk/test/std/input.output/iostreams.base/ios/basic.ios.members/copyfmt.pass.cpp +++ libcxx/trunk/test/std/input.output/iostreams.base/ios/basic.ios.members/copyfmt.pass.cpp @@ -7,7 +7,6 @@ // //===----------------------------------------------------------------------===// -// XFAIL: libcpp-no-exceptions // REQUIRES: locale.en_US.UTF-8 // REQUIRES: locale.fr_FR.UTF-8 @@ -23,6 +22,8 @@ #include "platform_support.h" // locale name macros +#include "test_macros.h" + struct testbuf : public std::streambuf { @@ -158,6 +159,7 @@ ios1.copyfmt(ios1); assert(!f1_called); +#ifndef TEST_HAS_NO_EXCEPTIONS try { ios1.copyfmt(ios2); @@ -166,6 +168,9 @@ catch (std::ios_base::failure&) { } +#else + ios1.copyfmt(ios2); +#endif assert(ios1.rdstate() == std::ios::eofbit); assert(ios1.rdbuf() == &sb1); assert(ios1.flags() == (std::ios::showpoint | std::ios::uppercase)); Index: libcxx/trunk/test/std/input.output/iostreams.base/ios/basic.ios.members/set_rdbuf.pass.cpp =================================================================== --- libcxx/trunk/test/std/input.output/iostreams.base/ios/basic.ios.members/set_rdbuf.pass.cpp +++ libcxx/trunk/test/std/input.output/iostreams.base/ios/basic.ios.members/set_rdbuf.pass.cpp @@ -7,7 +7,6 @@ // //===----------------------------------------------------------------------===// -// XFAIL: libcpp-no-exceptions // // template class basic_ios @@ -18,6 +17,8 @@ #include #include +#include "test_macros.h" + struct testbuf : public std::streambuf { @@ -35,16 +36,20 @@ testbuf sb1; testbuf sb2; testios ios(&sb1); +#ifndef TEST_HAS_NO_EXCEPTIONS try { ios.setstate(std::ios::badbit); ios.exceptions(std::ios::badbit); + assert(false); } catch (...) { } +#endif ios.set_rdbuf(&sb2); assert(ios.rdbuf() == &sb2); +#ifndef TEST_HAS_NO_EXCEPTIONS try { ios.setstate(std::ios::badbit); @@ -53,6 +58,7 @@ catch (...) { } +#endif ios.set_rdbuf(0); assert(ios.rdbuf() == 0); } Index: libcxx/trunk/test/std/input.output/iostreams.base/ios/iostate.flags/clear.pass.cpp =================================================================== --- libcxx/trunk/test/std/input.output/iostreams.base/ios/iostate.flags/clear.pass.cpp +++ libcxx/trunk/test/std/input.output/iostreams.base/ios/iostate.flags/clear.pass.cpp @@ -7,7 +7,6 @@ // //===----------------------------------------------------------------------===// -// XFAIL: libcpp-no-exceptions // // template class basic_ios @@ -18,6 +17,8 @@ #include #include +#include "test_macros.h" + struct testbuf : public std::streambuf {}; int main() @@ -26,9 +27,11 @@ std::ios ios(0); ios.clear(); assert(ios.rdstate() == std::ios::badbit); +#ifndef TEST_HAS_NO_EXCEPTIONS try { ios.exceptions(std::ios::badbit); + assert(false); } catch (...) { @@ -51,6 +54,7 @@ { assert(ios.rdstate() == (std::ios::eofbit | std::ios::badbit)); } +#endif } { testbuf sb; Index: libcxx/trunk/test/std/input.output/iostreams.base/ios/iostate.flags/exceptions_iostate.pass.cpp =================================================================== --- libcxx/trunk/test/std/input.output/iostreams.base/ios/iostate.flags/exceptions_iostate.pass.cpp +++ libcxx/trunk/test/std/input.output/iostreams.base/ios/iostate.flags/exceptions_iostate.pass.cpp @@ -7,7 +7,6 @@ // //===----------------------------------------------------------------------===// -// XFAIL: libcpp-no-exceptions // // template class basic_ios @@ -18,6 +17,8 @@ #include #include +#include "test_macros.h" + struct testbuf : public std::streambuf {}; int main() @@ -27,6 +28,7 @@ assert(ios.exceptions() == std::ios::goodbit); ios.exceptions(std::ios::eofbit); assert(ios.exceptions() == std::ios::eofbit); +#ifndef TEST_HAS_NO_EXCEPTIONS try { ios.exceptions(std::ios::badbit); @@ -36,6 +38,7 @@ { } assert(ios.exceptions() == std::ios::badbit); +#endif } { testbuf sb; Index: libcxx/trunk/test/std/input.output/iostreams.base/ios/iostate.flags/setstate.pass.cpp =================================================================== --- libcxx/trunk/test/std/input.output/iostreams.base/ios/iostate.flags/setstate.pass.cpp +++ libcxx/trunk/test/std/input.output/iostreams.base/ios/iostate.flags/setstate.pass.cpp @@ -7,7 +7,6 @@ // //===----------------------------------------------------------------------===// -// XFAIL: libcpp-no-exceptions // // template class basic_ios @@ -18,6 +17,8 @@ #include #include +#include "test_macros.h" + struct testbuf : public std::streambuf {}; int main() @@ -26,9 +27,11 @@ std::ios ios(0); ios.setstate(std::ios::goodbit); assert(ios.rdstate() == std::ios::badbit); +#ifndef TEST_HAS_NO_EXCEPTIONS try { ios.exceptions(std::ios::badbit); + assert(false); } catch (...) { @@ -51,6 +54,7 @@ { assert(ios.rdstate() == (std::ios::eofbit | std::ios::badbit)); } +#endif } { testbuf sb;