summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLouis Dionne <ldionne@apple.com>2019-02-05 20:11:58 +0000
committerLouis Dionne <ldionne@apple.com>2019-02-05 20:11:58 +0000
commit4806bce5a826d48990a3f14a1f3a058826082f68 (patch)
treeefd72113b4e82e671d645eb4eba2062eaeed5493
parentfbc4ec4cc59e4eb9e8786b7e0e4ef25217903050 (diff)
downloadlibcxx-4806bce5a826d48990a3f14a1f3a058826082f68.tar.gz
[libc++] Fix XFAILs on macOS when exceptions are disabled
Some tests are marked as failing on platforms where the dylib does not provide the required exception classes. However, when testing with exceptions disabled, those tests shouldn't be marked as failing. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@353210 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--test/std/utilities/any/any.class/any.assign/copy.pass.cpp2
-rw-r--r--test/std/utilities/any/any.class/any.assign/move.pass.cpp2
-rw-r--r--test/std/utilities/any/any.class/any.assign/value.pass.cpp2
-rw-r--r--test/std/utilities/any/any.class/any.cons/copy.pass.cpp2
-rw-r--r--test/std/utilities/any/any.class/any.cons/in_place_type.pass.cpp2
-rw-r--r--test/std/utilities/any/any.class/any.cons/move.pass.cpp2
-rw-r--r--test/std/utilities/any/any.class/any.cons/value.pass.cpp2
-rw-r--r--test/std/utilities/any/any.class/any.modifiers/emplace.pass.cpp2
-rw-r--r--test/std/utilities/any/any.class/any.modifiers/reset.pass.cpp2
-rw-r--r--test/std/utilities/any/any.class/any.modifiers/swap.pass.cpp2
-rw-r--r--test/std/utilities/any/any.nonmembers/any.cast/any_cast_pointer.pass.cpp2
-rw-r--r--test/std/utilities/any/any.nonmembers/any.cast/any_cast_reference.pass.cpp2
-rw-r--r--test/std/utilities/any/any.nonmembers/make_any.pass.cpp2
-rw-r--r--test/std/utilities/any/any.nonmembers/swap.pass.cpp2
-rw-r--r--test/std/utilities/optional/optional.bad_optional_access/default.pass.cpp2
-rw-r--r--test/std/utilities/optional/optional.bad_optional_access/derive.pass.cpp2
-rw-r--r--test/std/utilities/optional/optional.object/optional.object.ctor/U.pass.cpp2
-rw-r--r--test/std/utilities/optional/optional.object/optional.object.ctor/const_T.pass.cpp2
-rw-r--r--test/std/utilities/optional/optional.object/optional.object.ctor/move.pass.cpp2
-rw-r--r--test/std/utilities/optional/optional.object/optional.object.ctor/rvalue_T.pass.cpp2
-rw-r--r--test/std/utilities/optional/optional.object/optional.object.observe/value.pass.cpp2
-rw-r--r--test/std/utilities/optional/optional.object/optional.object.observe/value_const.pass.cpp2
-rw-r--r--test/std/utilities/optional/optional.object/optional.object.observe/value_const_rvalue.pass.cpp2
-rw-r--r--test/std/utilities/optional/optional.object/optional.object.observe/value_rvalue.pass.cpp2
-rw-r--r--test/std/utilities/optional/optional.specalg/make_optional.pass.cpp2
-rw-r--r--test/std/utilities/variant/variant.bad_variant_access/bad_variant_access.pass.cpp2
-rw-r--r--test/std/utilities/variant/variant.get/get_index.pass.cpp2
-rw-r--r--test/std/utilities/variant/variant.get/get_type.pass.cpp2
-rw-r--r--test/std/utilities/variant/variant.variant/variant.assign/T.pass.cpp2
-rw-r--r--test/std/utilities/variant/variant.variant/variant.assign/copy.pass.cpp2
-rw-r--r--test/std/utilities/variant/variant.variant/variant.assign/move.pass.cpp2
-rw-r--r--test/std/utilities/variant/variant.variant/variant.ctor/T.pass.cpp2
-rw-r--r--test/std/utilities/variant/variant.variant/variant.ctor/copy.pass.cpp2
-rw-r--r--test/std/utilities/variant/variant.variant/variant.ctor/default.pass.cpp2
-rw-r--r--test/std/utilities/variant/variant.variant/variant.ctor/in_place_index_args.pass.cpp2
-rw-r--r--test/std/utilities/variant/variant.variant/variant.ctor/in_place_index_init_list_args.pass.cpp2
-rw-r--r--test/std/utilities/variant/variant.variant/variant.ctor/in_place_type_args.pass.cpp2
-rw-r--r--test/std/utilities/variant/variant.variant/variant.ctor/in_place_type_init_list_args.pass.cpp2
-rw-r--r--test/std/utilities/variant/variant.variant/variant.ctor/move.pass.cpp2
-rw-r--r--test/std/utilities/variant/variant.variant/variant.mod/emplace_index_args.pass.cpp2
-rw-r--r--test/std/utilities/variant/variant.variant/variant.mod/emplace_index_init_list_args.pass.cpp2
-rw-r--r--test/std/utilities/variant/variant.variant/variant.mod/emplace_type_args.pass.cpp2
-rw-r--r--test/std/utilities/variant/variant.variant/variant.mod/emplace_type_init_list_args.pass.cpp2
-rw-r--r--test/std/utilities/variant/variant.variant/variant.swap/swap.pass.cpp2
-rw-r--r--test/std/utilities/variant/variant.visit/visit.pass.cpp2
45 files changed, 45 insertions, 45 deletions
diff --git a/test/std/utilities/any/any.class/any.assign/copy.pass.cpp b/test/std/utilities/any/any.class/any.assign/copy.pass.cpp
index 68dae19b5..d818400c5 100644
--- a/test/std/utilities/any/any.class/any.assign/copy.pass.cpp
+++ b/test/std/utilities/any/any.class/any.assign/copy.pass.cpp
@@ -8,7 +8,7 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
-// XFAIL: dylib-has-no-bad_any_cast
+// XFAIL: dylib-has-no-bad_any_cast && !libcpp-no-exceptions
// <any>
diff --git a/test/std/utilities/any/any.class/any.assign/move.pass.cpp b/test/std/utilities/any/any.class/any.assign/move.pass.cpp
index ffcfd1740..165cc0096 100644
--- a/test/std/utilities/any/any.class/any.assign/move.pass.cpp
+++ b/test/std/utilities/any/any.class/any.assign/move.pass.cpp
@@ -8,7 +8,7 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
-// XFAIL: dylib-has-no-bad_any_cast
+// XFAIL: dylib-has-no-bad_any_cast && !libcpp-no-exceptions
// <any>
diff --git a/test/std/utilities/any/any.class/any.assign/value.pass.cpp b/test/std/utilities/any/any.class/any.assign/value.pass.cpp
index 9cf1c90d2..8ca93df34 100644
--- a/test/std/utilities/any/any.class/any.assign/value.pass.cpp
+++ b/test/std/utilities/any/any.class/any.assign/value.pass.cpp
@@ -8,7 +8,7 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
-// XFAIL: dylib-has-no-bad_any_cast
+// XFAIL: dylib-has-no-bad_any_cast && !libcpp-no-exceptions
// <any>
diff --git a/test/std/utilities/any/any.class/any.cons/copy.pass.cpp b/test/std/utilities/any/any.class/any.cons/copy.pass.cpp
index 9d856942a..fbb5f181a 100644
--- a/test/std/utilities/any/any.class/any.cons/copy.pass.cpp
+++ b/test/std/utilities/any/any.class/any.cons/copy.pass.cpp
@@ -8,7 +8,7 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
-// XFAIL: dylib-has-no-bad_any_cast
+// XFAIL: dylib-has-no-bad_any_cast && !libcpp-no-exceptions
// <any>
diff --git a/test/std/utilities/any/any.class/any.cons/in_place_type.pass.cpp b/test/std/utilities/any/any.class/any.cons/in_place_type.pass.cpp
index 87cc255e9..bfe86e800 100644
--- a/test/std/utilities/any/any.class/any.cons/in_place_type.pass.cpp
+++ b/test/std/utilities/any/any.class/any.cons/in_place_type.pass.cpp
@@ -8,7 +8,7 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
-// XFAIL: dylib-has-no-bad_any_cast
+// XFAIL: dylib-has-no-bad_any_cast && !libcpp-no-exceptions
// <any>
diff --git a/test/std/utilities/any/any.class/any.cons/move.pass.cpp b/test/std/utilities/any/any.class/any.cons/move.pass.cpp
index 725308835..3c0780c0a 100644
--- a/test/std/utilities/any/any.class/any.cons/move.pass.cpp
+++ b/test/std/utilities/any/any.class/any.cons/move.pass.cpp
@@ -8,7 +8,7 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
-// XFAIL: dylib-has-no-bad_any_cast
+// XFAIL: dylib-has-no-bad_any_cast && !libcpp-no-exceptions
// <any>
diff --git a/test/std/utilities/any/any.class/any.cons/value.pass.cpp b/test/std/utilities/any/any.class/any.cons/value.pass.cpp
index afc80635d..e39c7307e 100644
--- a/test/std/utilities/any/any.class/any.cons/value.pass.cpp
+++ b/test/std/utilities/any/any.class/any.cons/value.pass.cpp
@@ -8,7 +8,7 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
-// XFAIL: dylib-has-no-bad_any_cast
+// XFAIL: dylib-has-no-bad_any_cast && !libcpp-no-exceptions
// <any>
diff --git a/test/std/utilities/any/any.class/any.modifiers/emplace.pass.cpp b/test/std/utilities/any/any.class/any.modifiers/emplace.pass.cpp
index cbe7f63e3..8a5e43378 100644
--- a/test/std/utilities/any/any.class/any.modifiers/emplace.pass.cpp
+++ b/test/std/utilities/any/any.class/any.modifiers/emplace.pass.cpp
@@ -8,7 +8,7 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
-// XFAIL: dylib-has-no-bad_any_cast
+// XFAIL: dylib-has-no-bad_any_cast && !libcpp-no-exceptions
// <any>
diff --git a/test/std/utilities/any/any.class/any.modifiers/reset.pass.cpp b/test/std/utilities/any/any.class/any.modifiers/reset.pass.cpp
index 185d23823..a8ac0d601 100644
--- a/test/std/utilities/any/any.class/any.modifiers/reset.pass.cpp
+++ b/test/std/utilities/any/any.class/any.modifiers/reset.pass.cpp
@@ -8,7 +8,7 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
-// XFAIL: dylib-has-no-bad_any_cast
+// XFAIL: dylib-has-no-bad_any_cast && !libcpp-no-exceptions
// <any>
diff --git a/test/std/utilities/any/any.class/any.modifiers/swap.pass.cpp b/test/std/utilities/any/any.class/any.modifiers/swap.pass.cpp
index 9986cc379..f49511138 100644
--- a/test/std/utilities/any/any.class/any.modifiers/swap.pass.cpp
+++ b/test/std/utilities/any/any.class/any.modifiers/swap.pass.cpp
@@ -8,7 +8,7 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
-// XFAIL: dylib-has-no-bad_any_cast
+// XFAIL: dylib-has-no-bad_any_cast && !libcpp-no-exceptions
// <any>
diff --git a/test/std/utilities/any/any.nonmembers/any.cast/any_cast_pointer.pass.cpp b/test/std/utilities/any/any.nonmembers/any.cast/any_cast_pointer.pass.cpp
index 31ff1998f..58f58afa9 100644
--- a/test/std/utilities/any/any.nonmembers/any.cast/any_cast_pointer.pass.cpp
+++ b/test/std/utilities/any/any.nonmembers/any.cast/any_cast_pointer.pass.cpp
@@ -8,7 +8,7 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
-// XFAIL: dylib-has-no-bad_any_cast
+// XFAIL: dylib-has-no-bad_any_cast && !libcpp-no-exceptions
// <any>
diff --git a/test/std/utilities/any/any.nonmembers/any.cast/any_cast_reference.pass.cpp b/test/std/utilities/any/any.nonmembers/any.cast/any_cast_reference.pass.cpp
index b0c87c6ff..121644480 100644
--- a/test/std/utilities/any/any.nonmembers/any.cast/any_cast_reference.pass.cpp
+++ b/test/std/utilities/any/any.nonmembers/any.cast/any_cast_reference.pass.cpp
@@ -8,7 +8,7 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
-// XFAIL: dylib-has-no-bad_any_cast
+// XFAIL: dylib-has-no-bad_any_cast && !libcpp-no-exceptions
// <any>
diff --git a/test/std/utilities/any/any.nonmembers/make_any.pass.cpp b/test/std/utilities/any/any.nonmembers/make_any.pass.cpp
index b9701a82e..9c5dda206 100644
--- a/test/std/utilities/any/any.nonmembers/make_any.pass.cpp
+++ b/test/std/utilities/any/any.nonmembers/make_any.pass.cpp
@@ -8,7 +8,7 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
-// XFAIL: dylib-has-no-bad_any_cast
+// XFAIL: dylib-has-no-bad_any_cast && !libcpp-no-exceptions
// <any>
diff --git a/test/std/utilities/any/any.nonmembers/swap.pass.cpp b/test/std/utilities/any/any.nonmembers/swap.pass.cpp
index bc420ee61..5461a4d0c 100644
--- a/test/std/utilities/any/any.nonmembers/swap.pass.cpp
+++ b/test/std/utilities/any/any.nonmembers/swap.pass.cpp
@@ -8,7 +8,7 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
-// XFAIL: dylib-has-no-bad_any_cast
+// XFAIL: dylib-has-no-bad_any_cast && !libcpp-no-exceptions
// <any>
diff --git a/test/std/utilities/optional/optional.bad_optional_access/default.pass.cpp b/test/std/utilities/optional/optional.bad_optional_access/default.pass.cpp
index 6f119b274..244d4617b 100644
--- a/test/std/utilities/optional/optional.bad_optional_access/default.pass.cpp
+++ b/test/std/utilities/optional/optional.bad_optional_access/default.pass.cpp
@@ -8,7 +8,7 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
-// XFAIL: dylib-has-no-bad_optional_access
+// XFAIL: dylib-has-no-bad_optional_access && !libcpp-no-exceptions
// <optional>
diff --git a/test/std/utilities/optional/optional.bad_optional_access/derive.pass.cpp b/test/std/utilities/optional/optional.bad_optional_access/derive.pass.cpp
index 975d8678b..708d1c882 100644
--- a/test/std/utilities/optional/optional.bad_optional_access/derive.pass.cpp
+++ b/test/std/utilities/optional/optional.bad_optional_access/derive.pass.cpp
@@ -7,7 +7,7 @@
//===----------------------------------------------------------------------===//
// UNSUPPORTED: c++98, c++03, c++11, c++14
-// XFAIL: dylib-has-no-bad_optional_access
+// XFAIL: dylib-has-no-bad_optional_access && !libcpp-no-exceptions
// <optional>
diff --git a/test/std/utilities/optional/optional.object/optional.object.ctor/U.pass.cpp b/test/std/utilities/optional/optional.object/optional.object.ctor/U.pass.cpp
index 56f388258..b5966dfa5 100644
--- a/test/std/utilities/optional/optional.object/optional.object.ctor/U.pass.cpp
+++ b/test/std/utilities/optional/optional.object/optional.object.ctor/U.pass.cpp
@@ -8,7 +8,7 @@
//
// UNSUPPORTED: c++98, c++03, c++11, c++14
-// XFAIL: dylib-has-no-bad_optional_access
+// XFAIL: dylib-has-no-bad_optional_access && !libcpp-no-exceptions
// <optional>
diff --git a/test/std/utilities/optional/optional.object/optional.object.ctor/const_T.pass.cpp b/test/std/utilities/optional/optional.object/optional.object.ctor/const_T.pass.cpp
index 841d6124a..f20a840b0 100644
--- a/test/std/utilities/optional/optional.object/optional.object.ctor/const_T.pass.cpp
+++ b/test/std/utilities/optional/optional.object/optional.object.ctor/const_T.pass.cpp
@@ -8,7 +8,7 @@
//
// UNSUPPORTED: c++98, c++03, c++11, c++14
-// XFAIL: dylib-has-no-bad_optional_access
+// XFAIL: dylib-has-no-bad_optional_access && !libcpp-no-exceptions
// <optional>
diff --git a/test/std/utilities/optional/optional.object/optional.object.ctor/move.pass.cpp b/test/std/utilities/optional/optional.object/optional.object.ctor/move.pass.cpp
index 0d3147e55..4c58d45b5 100644
--- a/test/std/utilities/optional/optional.object/optional.object.ctor/move.pass.cpp
+++ b/test/std/utilities/optional/optional.object/optional.object.ctor/move.pass.cpp
@@ -8,7 +8,7 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
-// XFAIL: dylib-has-no-bad_optional_access
+// XFAIL: dylib-has-no-bad_optional_access && !libcpp-no-exceptions
// <optional>
diff --git a/test/std/utilities/optional/optional.object/optional.object.ctor/rvalue_T.pass.cpp b/test/std/utilities/optional/optional.object/optional.object.ctor/rvalue_T.pass.cpp
index 56b02b505..f2e7882e8 100644
--- a/test/std/utilities/optional/optional.object/optional.object.ctor/rvalue_T.pass.cpp
+++ b/test/std/utilities/optional/optional.object/optional.object.ctor/rvalue_T.pass.cpp
@@ -8,7 +8,7 @@
//
// UNSUPPORTED: c++98, c++03, c++11, c++14
-// XFAIL: dylib-has-no-bad_optional_access
+// XFAIL: dylib-has-no-bad_optional_access && !libcpp-no-exceptions
// <optional>
diff --git a/test/std/utilities/optional/optional.object/optional.object.observe/value.pass.cpp b/test/std/utilities/optional/optional.object/optional.object.observe/value.pass.cpp
index 1fe00ce45..a37d0f34e 100644
--- a/test/std/utilities/optional/optional.object/optional.object.observe/value.pass.cpp
+++ b/test/std/utilities/optional/optional.object/optional.object.observe/value.pass.cpp
@@ -8,7 +8,7 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
-// XFAIL: dylib-has-no-bad_optional_access
+// XFAIL: dylib-has-no-bad_optional_access && !libcpp-no-exceptions
// <optional>
diff --git a/test/std/utilities/optional/optional.object/optional.object.observe/value_const.pass.cpp b/test/std/utilities/optional/optional.object/optional.object.observe/value_const.pass.cpp
index b827e5e37..4533208d6 100644
--- a/test/std/utilities/optional/optional.object/optional.object.observe/value_const.pass.cpp
+++ b/test/std/utilities/optional/optional.object/optional.object.observe/value_const.pass.cpp
@@ -8,7 +8,7 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
-// XFAIL: dylib-has-no-bad_optional_access
+// XFAIL: dylib-has-no-bad_optional_access && !libcpp-no-exceptions
// <optional>
diff --git a/test/std/utilities/optional/optional.object/optional.object.observe/value_const_rvalue.pass.cpp b/test/std/utilities/optional/optional.object/optional.object.observe/value_const_rvalue.pass.cpp
index 39db68ad4..9719a1ebd 100644
--- a/test/std/utilities/optional/optional.object/optional.object.observe/value_const_rvalue.pass.cpp
+++ b/test/std/utilities/optional/optional.object/optional.object.observe/value_const_rvalue.pass.cpp
@@ -8,7 +8,7 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
-// XFAIL: dylib-has-no-bad_optional_access
+// XFAIL: dylib-has-no-bad_optional_access && !libcpp-no-exceptions
// <optional>
diff --git a/test/std/utilities/optional/optional.object/optional.object.observe/value_rvalue.pass.cpp b/test/std/utilities/optional/optional.object/optional.object.observe/value_rvalue.pass.cpp
index 3778e9c69..215db7f1b 100644
--- a/test/std/utilities/optional/optional.object/optional.object.observe/value_rvalue.pass.cpp
+++ b/test/std/utilities/optional/optional.object/optional.object.observe/value_rvalue.pass.cpp
@@ -9,7 +9,7 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
// <optional>
-// XFAIL: dylib-has-no-bad_optional_access
+// XFAIL: dylib-has-no-bad_optional_access && !libcpp-no-exceptions
// constexpr T& optional<T>::value() &&;
diff --git a/test/std/utilities/optional/optional.specalg/make_optional.pass.cpp b/test/std/utilities/optional/optional.specalg/make_optional.pass.cpp
index 3d407053f..f93913e5b 100644
--- a/test/std/utilities/optional/optional.specalg/make_optional.pass.cpp
+++ b/test/std/utilities/optional/optional.specalg/make_optional.pass.cpp
@@ -7,7 +7,7 @@
//===----------------------------------------------------------------------===//
// UNSUPPORTED: c++98, c++03, c++11, c++14
-// XFAIL: dylib-has-no-bad_optional_access
+// XFAIL: dylib-has-no-bad_optional_access && !libcpp-no-exceptions
// <optional>
//
diff --git a/test/std/utilities/variant/variant.bad_variant_access/bad_variant_access.pass.cpp b/test/std/utilities/variant/variant.bad_variant_access/bad_variant_access.pass.cpp
index 4cb79a22c..ab2a9c429 100644
--- a/test/std/utilities/variant/variant.bad_variant_access/bad_variant_access.pass.cpp
+++ b/test/std/utilities/variant/variant.bad_variant_access/bad_variant_access.pass.cpp
@@ -9,7 +9,7 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
-// XFAIL: dylib-has-no-bad_variant_access
+// XFAIL: dylib-has-no-bad_variant_access && !libcpp-no-exceptions
// <variant>
diff --git a/test/std/utilities/variant/variant.get/get_index.pass.cpp b/test/std/utilities/variant/variant.get/get_index.pass.cpp
index 44a637ab3..4b04929a6 100644
--- a/test/std/utilities/variant/variant.get/get_index.pass.cpp
+++ b/test/std/utilities/variant/variant.get/get_index.pass.cpp
@@ -9,7 +9,7 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
-// XFAIL: dylib-has-no-bad_variant_access
+// XFAIL: dylib-has-no-bad_variant_access && !libcpp-no-exceptions
// <variant>
diff --git a/test/std/utilities/variant/variant.get/get_type.pass.cpp b/test/std/utilities/variant/variant.get/get_type.pass.cpp
index 6ca827994..316213ed2 100644
--- a/test/std/utilities/variant/variant.get/get_type.pass.cpp
+++ b/test/std/utilities/variant/variant.get/get_type.pass.cpp
@@ -9,7 +9,7 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
-// XFAIL: dylib-has-no-bad_variant_access
+// XFAIL: dylib-has-no-bad_variant_access && !libcpp-no-exceptions
// <variant>
diff --git a/test/std/utilities/variant/variant.variant/variant.assign/T.pass.cpp b/test/std/utilities/variant/variant.variant/variant.assign/T.pass.cpp
index c7dc6d6e3..02498b1ac 100644
--- a/test/std/utilities/variant/variant.variant/variant.assign/T.pass.cpp
+++ b/test/std/utilities/variant/variant.variant/variant.assign/T.pass.cpp
@@ -9,7 +9,7 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
-// XFAIL: dylib-has-no-bad_variant_access
+// XFAIL: dylib-has-no-bad_variant_access && !libcpp-no-exceptions
// <variant>
diff --git a/test/std/utilities/variant/variant.variant/variant.assign/copy.pass.cpp b/test/std/utilities/variant/variant.variant/variant.assign/copy.pass.cpp
index 45b27fbd3..820d81e71 100644
--- a/test/std/utilities/variant/variant.variant/variant.assign/copy.pass.cpp
+++ b/test/std/utilities/variant/variant.variant/variant.assign/copy.pass.cpp
@@ -13,7 +13,7 @@
// XFAIL: clang-3.5, clang-3.6, clang-3.7, clang-3.8
// XFAIL: apple-clang-6, apple-clang-7, apple-clang-8.0
-// XFAIL: dylib-has-no-bad_variant_access
+// XFAIL: dylib-has-no-bad_variant_access && !libcpp-no-exceptions
// <variant>
diff --git a/test/std/utilities/variant/variant.variant/variant.assign/move.pass.cpp b/test/std/utilities/variant/variant.variant/variant.assign/move.pass.cpp
index fe9244830..990e10c0f 100644
--- a/test/std/utilities/variant/variant.variant/variant.assign/move.pass.cpp
+++ b/test/std/utilities/variant/variant.variant/variant.assign/move.pass.cpp
@@ -13,7 +13,7 @@
// XFAIL: clang-3.5, clang-3.6, clang-3.7, clang-3.8
// XFAIL: apple-clang-6, apple-clang-7, apple-clang-8.0
-// XFAIL: dylib-has-no-bad_variant_access
+// XFAIL: dylib-has-no-bad_variant_access && !libcpp-no-exceptions
// <variant>
diff --git a/test/std/utilities/variant/variant.variant/variant.ctor/T.pass.cpp b/test/std/utilities/variant/variant.variant/variant.ctor/T.pass.cpp
index 61b877cdc..73bd2c628 100644
--- a/test/std/utilities/variant/variant.variant/variant.ctor/T.pass.cpp
+++ b/test/std/utilities/variant/variant.variant/variant.ctor/T.pass.cpp
@@ -8,7 +8,7 @@
//===----------------------------------------------------------------------===//
// UNSUPPORTED: c++98, c++03, c++11, c++14
-// XFAIL: dylib-has-no-bad_variant_access
+// XFAIL: dylib-has-no-bad_variant_access && !libcpp-no-exceptions
// <variant>
diff --git a/test/std/utilities/variant/variant.variant/variant.ctor/copy.pass.cpp b/test/std/utilities/variant/variant.variant/variant.ctor/copy.pass.cpp
index b8cc7b148..4cd210d3d 100644
--- a/test/std/utilities/variant/variant.variant/variant.ctor/copy.pass.cpp
+++ b/test/std/utilities/variant/variant.variant/variant.ctor/copy.pass.cpp
@@ -9,7 +9,7 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
-// XFAIL: dylib-has-no-bad_variant_access
+// XFAIL: dylib-has-no-bad_variant_access && !libcpp-no-exceptions
// <variant>
diff --git a/test/std/utilities/variant/variant.variant/variant.ctor/default.pass.cpp b/test/std/utilities/variant/variant.variant/variant.ctor/default.pass.cpp
index 582068dbb..579ae4d9f 100644
--- a/test/std/utilities/variant/variant.variant/variant.ctor/default.pass.cpp
+++ b/test/std/utilities/variant/variant.variant/variant.ctor/default.pass.cpp
@@ -9,7 +9,7 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
-// XFAIL: dylib-has-no-bad_variant_access
+// XFAIL: dylib-has-no-bad_variant_access && !libcpp-no-exceptions
// <variant>
diff --git a/test/std/utilities/variant/variant.variant/variant.ctor/in_place_index_args.pass.cpp b/test/std/utilities/variant/variant.variant/variant.ctor/in_place_index_args.pass.cpp
index eea03c6a0..ac736fb3a 100644
--- a/test/std/utilities/variant/variant.variant/variant.ctor/in_place_index_args.pass.cpp
+++ b/test/std/utilities/variant/variant.variant/variant.ctor/in_place_index_args.pass.cpp
@@ -9,7 +9,7 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
-// XFAIL: dylib-has-no-bad_variant_access
+// XFAIL: dylib-has-no-bad_variant_access && !libcpp-no-exceptions
// <variant>
diff --git a/test/std/utilities/variant/variant.variant/variant.ctor/in_place_index_init_list_args.pass.cpp b/test/std/utilities/variant/variant.variant/variant.ctor/in_place_index_init_list_args.pass.cpp
index 6521c0c52..179b66353 100644
--- a/test/std/utilities/variant/variant.variant/variant.ctor/in_place_index_init_list_args.pass.cpp
+++ b/test/std/utilities/variant/variant.variant/variant.ctor/in_place_index_init_list_args.pass.cpp
@@ -8,7 +8,7 @@
//===----------------------------------------------------------------------===//
// UNSUPPORTED: c++98, c++03, c++11, c++14
-// XFAIL: dylib-has-no-bad_variant_access
+// XFAIL: dylib-has-no-bad_variant_access && !libcpp-no-exceptions
// <variant>
diff --git a/test/std/utilities/variant/variant.variant/variant.ctor/in_place_type_args.pass.cpp b/test/std/utilities/variant/variant.variant/variant.ctor/in_place_type_args.pass.cpp
index b2e6782d6..430ddca3c 100644
--- a/test/std/utilities/variant/variant.variant/variant.ctor/in_place_type_args.pass.cpp
+++ b/test/std/utilities/variant/variant.variant/variant.ctor/in_place_type_args.pass.cpp
@@ -9,7 +9,7 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
-// XFAIL: dylib-has-no-bad_variant_access
+// XFAIL: dylib-has-no-bad_variant_access && !libcpp-no-exceptions
// <variant>
diff --git a/test/std/utilities/variant/variant.variant/variant.ctor/in_place_type_init_list_args.pass.cpp b/test/std/utilities/variant/variant.variant/variant.ctor/in_place_type_init_list_args.pass.cpp
index dd7a81749..46dab74e8 100644
--- a/test/std/utilities/variant/variant.variant/variant.ctor/in_place_type_init_list_args.pass.cpp
+++ b/test/std/utilities/variant/variant.variant/variant.ctor/in_place_type_init_list_args.pass.cpp
@@ -8,7 +8,7 @@
//===----------------------------------------------------------------------===//
// UNSUPPORTED: c++98, c++03, c++11, c++14
-// XFAIL: dylib-has-no-bad_variant_access
+// XFAIL: dylib-has-no-bad_variant_access && !libcpp-no-exceptions
// <variant>
diff --git a/test/std/utilities/variant/variant.variant/variant.ctor/move.pass.cpp b/test/std/utilities/variant/variant.variant/variant.ctor/move.pass.cpp
index 4f962fdbc..d06b638e6 100644
--- a/test/std/utilities/variant/variant.variant/variant.ctor/move.pass.cpp
+++ b/test/std/utilities/variant/variant.variant/variant.ctor/move.pass.cpp
@@ -9,7 +9,7 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
-// XFAIL: dylib-has-no-bad_variant_access
+// XFAIL: dylib-has-no-bad_variant_access && !libcpp-no-exceptions
// <variant>
diff --git a/test/std/utilities/variant/variant.variant/variant.mod/emplace_index_args.pass.cpp b/test/std/utilities/variant/variant.variant/variant.mod/emplace_index_args.pass.cpp
index b745ee5bd..95f16ac2d 100644
--- a/test/std/utilities/variant/variant.variant/variant.mod/emplace_index_args.pass.cpp
+++ b/test/std/utilities/variant/variant.variant/variant.mod/emplace_index_args.pass.cpp
@@ -9,7 +9,7 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
-// XFAIL: dylib-has-no-bad_variant_access
+// XFAIL: dylib-has-no-bad_variant_access && !libcpp-no-exceptions
// <variant>
diff --git a/test/std/utilities/variant/variant.variant/variant.mod/emplace_index_init_list_args.pass.cpp b/test/std/utilities/variant/variant.variant/variant.mod/emplace_index_init_list_args.pass.cpp
index 8c826d3a0..aee3c3fa1 100644
--- a/test/std/utilities/variant/variant.variant/variant.mod/emplace_index_init_list_args.pass.cpp
+++ b/test/std/utilities/variant/variant.variant/variant.mod/emplace_index_init_list_args.pass.cpp
@@ -9,7 +9,7 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
-// XFAIL: dylib-has-no-bad_variant_access
+// XFAIL: dylib-has-no-bad_variant_access && !libcpp-no-exceptions
// <variant>
diff --git a/test/std/utilities/variant/variant.variant/variant.mod/emplace_type_args.pass.cpp b/test/std/utilities/variant/variant.variant/variant.mod/emplace_type_args.pass.cpp
index faac06b81..929806a09 100644
--- a/test/std/utilities/variant/variant.variant/variant.mod/emplace_type_args.pass.cpp
+++ b/test/std/utilities/variant/variant.variant/variant.mod/emplace_type_args.pass.cpp
@@ -9,7 +9,7 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
-// XFAIL: dylib-has-no-bad_variant_access
+// XFAIL: dylib-has-no-bad_variant_access && !libcpp-no-exceptions
// <variant>
diff --git a/test/std/utilities/variant/variant.variant/variant.mod/emplace_type_init_list_args.pass.cpp b/test/std/utilities/variant/variant.variant/variant.mod/emplace_type_init_list_args.pass.cpp
index 00c15d79f..9cb9674f4 100644
--- a/test/std/utilities/variant/variant.variant/variant.mod/emplace_type_init_list_args.pass.cpp
+++ b/test/std/utilities/variant/variant.variant/variant.mod/emplace_type_init_list_args.pass.cpp
@@ -9,7 +9,7 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
-// XFAIL: dylib-has-no-bad_variant_access
+// XFAIL: dylib-has-no-bad_variant_access && !libcpp-no-exceptions
// <variant>
diff --git a/test/std/utilities/variant/variant.variant/variant.swap/swap.pass.cpp b/test/std/utilities/variant/variant.variant/variant.swap/swap.pass.cpp
index 1418cda44..8443f1e8e 100644
--- a/test/std/utilities/variant/variant.variant/variant.swap/swap.pass.cpp
+++ b/test/std/utilities/variant/variant.variant/variant.swap/swap.pass.cpp
@@ -9,7 +9,7 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
-// XFAIL: dylib-has-no-bad_variant_access
+// XFAIL: dylib-has-no-bad_variant_access && !libcpp-no-exceptions
// <variant>
diff --git a/test/std/utilities/variant/variant.visit/visit.pass.cpp b/test/std/utilities/variant/variant.visit/visit.pass.cpp
index b1fc8baea..11e26d097 100644
--- a/test/std/utilities/variant/variant.visit/visit.pass.cpp
+++ b/test/std/utilities/variant/variant.visit/visit.pass.cpp
@@ -9,7 +9,7 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
-// XFAIL: dylib-has-no-bad_variant_access
+// XFAIL: dylib-has-no-bad_variant_access && !libcpp-no-exceptions
// <variant>
// template <class Visitor, class... Variants>