summaryrefslogtreecommitdiffstats
path: root/libcxx/test/std/language.support/support.exception
diff options
context:
space:
mode:
Diffstat (limited to 'libcxx/test/std/language.support/support.exception')
-rw-r--r--libcxx/test/std/language.support/support.exception/except.nested/assign.pass.cpp3
-rw-r--r--libcxx/test/std/language.support/support.exception/except.nested/ctor_copy.pass.cpp3
-rw-r--r--libcxx/test/std/language.support/support.exception/except.nested/ctor_default.pass.cpp3
-rw-r--r--libcxx/test/std/language.support/support.exception/except.nested/rethrow_if_nested.pass.cpp5
-rw-r--r--libcxx/test/std/language.support/support.exception/except.nested/rethrow_nested.pass.cpp3
-rw-r--r--libcxx/test/std/language.support/support.exception/except.nested/throw_with_nested.pass.cpp3
-rw-r--r--libcxx/test/std/language.support/support.exception/propagation/current_exception.pass.cpp3
-rw-r--r--libcxx/test/std/language.support/support.exception/propagation/exception_ptr.pass.cpp3
-rw-r--r--libcxx/test/std/language.support/support.exception/propagation/make_exception_ptr.pass.cpp9
-rw-r--r--libcxx/test/std/language.support/support.exception/propagation/rethrow_exception.pass.cpp9
10 files changed, 17 insertions, 27 deletions
diff --git a/libcxx/test/std/language.support/support.exception/except.nested/assign.pass.cpp b/libcxx/test/std/language.support/support.exception/except.nested/assign.pass.cpp
index ec5575d072c..6338c8aaa26 100644
--- a/libcxx/test/std/language.support/support.exception/except.nested/assign.pass.cpp
+++ b/libcxx/test/std/language.support/support.exception/except.nested/assign.pass.cpp
@@ -7,9 +7,6 @@
//
//===----------------------------------------------------------------------===//
-// exception_ptr has not been implemented on Windows
-// XFAIL: LIBCXX-WINDOWS-FIXME
-
// <exception>
// class nested_exception;
diff --git a/libcxx/test/std/language.support/support.exception/except.nested/ctor_copy.pass.cpp b/libcxx/test/std/language.support/support.exception/except.nested/ctor_copy.pass.cpp
index 92134c993af..4cbdbb2ec89 100644
--- a/libcxx/test/std/language.support/support.exception/except.nested/ctor_copy.pass.cpp
+++ b/libcxx/test/std/language.support/support.exception/except.nested/ctor_copy.pass.cpp
@@ -7,9 +7,6 @@
//
//===----------------------------------------------------------------------===//
-// exception_ptr has not been implemented on Windows
-// XFAIL: LIBCXX-WINDOWS-FIXME
-
// <exception>
// class nested_exception;
diff --git a/libcxx/test/std/language.support/support.exception/except.nested/ctor_default.pass.cpp b/libcxx/test/std/language.support/support.exception/except.nested/ctor_default.pass.cpp
index 8f8503b254d..18ca9968ff5 100644
--- a/libcxx/test/std/language.support/support.exception/except.nested/ctor_default.pass.cpp
+++ b/libcxx/test/std/language.support/support.exception/except.nested/ctor_default.pass.cpp
@@ -7,9 +7,6 @@
//
//===----------------------------------------------------------------------===//
-// exception_ptr has not been implemented on Windows
-// XFAIL: LIBCXX-WINDOWS-FIXME
-
// <exception>
// class nested_exception;
diff --git a/libcxx/test/std/language.support/support.exception/except.nested/rethrow_if_nested.pass.cpp b/libcxx/test/std/language.support/support.exception/except.nested/rethrow_if_nested.pass.cpp
index fe9cd6042ba..88e2253d08c 100644
--- a/libcxx/test/std/language.support/support.exception/except.nested/rethrow_if_nested.pass.cpp
+++ b/libcxx/test/std/language.support/support.exception/except.nested/rethrow_if_nested.pass.cpp
@@ -7,10 +7,11 @@
//
//===----------------------------------------------------------------------===//
-// exception_ptr has not been implemented on Windows
+// UNSUPPORTED: libcpp-no-exceptions
+
+// This test fails due to a stack overflow
// XFAIL: LIBCXX-WINDOWS-FIXME
-// UNSUPPORTED: libcpp-no-exceptions
// <exception>
// class nested_exception;
diff --git a/libcxx/test/std/language.support/support.exception/except.nested/rethrow_nested.pass.cpp b/libcxx/test/std/language.support/support.exception/except.nested/rethrow_nested.pass.cpp
index 73d02da3933..d511a72f9f5 100644
--- a/libcxx/test/std/language.support/support.exception/except.nested/rethrow_nested.pass.cpp
+++ b/libcxx/test/std/language.support/support.exception/except.nested/rethrow_nested.pass.cpp
@@ -7,9 +7,6 @@
//
//===----------------------------------------------------------------------===//
-// exception_ptr has not been implemented on Windows
-// XFAIL: LIBCXX-WINDOWS-FIXME
-
// UNSUPPORTED: libcpp-no-exceptions
// <exception>
diff --git a/libcxx/test/std/language.support/support.exception/except.nested/throw_with_nested.pass.cpp b/libcxx/test/std/language.support/support.exception/except.nested/throw_with_nested.pass.cpp
index 6353afcb239..6a9f25cd085 100644
--- a/libcxx/test/std/language.support/support.exception/except.nested/throw_with_nested.pass.cpp
+++ b/libcxx/test/std/language.support/support.exception/except.nested/throw_with_nested.pass.cpp
@@ -7,9 +7,6 @@
//
//===----------------------------------------------------------------------===//
-// exception_ptr has not been implemented on Windows
-// XFAIL: LIBCXX-WINDOWS-FIXME
-
// UNSUPPORTED: libcpp-no-exceptions
// <exception>
diff --git a/libcxx/test/std/language.support/support.exception/propagation/current_exception.pass.cpp b/libcxx/test/std/language.support/support.exception/propagation/current_exception.pass.cpp
index 2046997774a..c33d64d06f0 100644
--- a/libcxx/test/std/language.support/support.exception/propagation/current_exception.pass.cpp
+++ b/libcxx/test/std/language.support/support.exception/propagation/current_exception.pass.cpp
@@ -7,7 +7,8 @@
//
//===----------------------------------------------------------------------===//
-// exception_ptr has not been implemented on Windows
+// This test needs to be rewritten for the Windows exception_ptr semantics
+// which copy the exception each time the exception_ptr is copied.
// XFAIL: LIBCXX-WINDOWS-FIXME
// UNSUPPORTED: libcpp-no-exceptions
diff --git a/libcxx/test/std/language.support/support.exception/propagation/exception_ptr.pass.cpp b/libcxx/test/std/language.support/support.exception/propagation/exception_ptr.pass.cpp
index 9621a736036..3aa8dcf55bb 100644
--- a/libcxx/test/std/language.support/support.exception/propagation/exception_ptr.pass.cpp
+++ b/libcxx/test/std/language.support/support.exception/propagation/exception_ptr.pass.cpp
@@ -7,9 +7,6 @@
//
//===----------------------------------------------------------------------===//
-// exception_ptr has not been implemented on Windows
-// XFAIL: LIBCXX-WINDOWS-FIXME
-
// <exception>
// typedef unspecified exception_ptr;
diff --git a/libcxx/test/std/language.support/support.exception/propagation/make_exception_ptr.pass.cpp b/libcxx/test/std/language.support/support.exception/propagation/make_exception_ptr.pass.cpp
index 4980c656b2b..35821d9bd1b 100644
--- a/libcxx/test/std/language.support/support.exception/propagation/make_exception_ptr.pass.cpp
+++ b/libcxx/test/std/language.support/support.exception/propagation/make_exception_ptr.pass.cpp
@@ -7,9 +7,6 @@
//
//===----------------------------------------------------------------------===//
-// exception_ptr has not been implemented on Windows
-// XFAIL: LIBCXX-WINDOWS-FIXME
-
// UNSUPPORTED: libcpp-no-exceptions
// <exception>
@@ -41,7 +38,12 @@ int main()
}
catch (const A& a)
{
+#ifndef _LIBCPP_ABI_MICROSOFT
assert(A::constructed == 1);
+#else
+ // On Windows exception_ptr copies the exception
+ assert(A::constructed == 2);
+#endif
assert(p != nullptr);
p = nullptr;
assert(p == nullptr);
@@ -50,4 +52,5 @@ int main()
}
assert(A::constructed == 0);
}
+ assert(A::constructed == 0);
}
diff --git a/libcxx/test/std/language.support/support.exception/propagation/rethrow_exception.pass.cpp b/libcxx/test/std/language.support/support.exception/propagation/rethrow_exception.pass.cpp
index 7d27eee6689..37ffb5be506 100644
--- a/libcxx/test/std/language.support/support.exception/propagation/rethrow_exception.pass.cpp
+++ b/libcxx/test/std/language.support/support.exception/propagation/rethrow_exception.pass.cpp
@@ -7,9 +7,6 @@
//
//===----------------------------------------------------------------------===//
-// exception_ptr has not been implemented on Windows
-// XFAIL: LIBCXX-WINDOWS-FIXME
-
// UNSUPPORTED: libcpp-no-exceptions
// <exception>
@@ -49,7 +46,12 @@ int main()
}
catch (const A& a)
{
+#ifndef _LIBCPP_ABI_MICROSOFT
assert(A::constructed == 1);
+#else
+ // On Windows the exception_ptr copies the exception
+ assert(A::constructed == 2);
+#endif
assert(p != nullptr);
p = nullptr;
assert(p == nullptr);
@@ -58,4 +60,5 @@ int main()
}
assert(A::constructed == 0);
}
+ assert(A::constructed == 0);
}
OpenPOWER on IntegriCloud