summaryrefslogtreecommitdiffstats
path: root/libcxx/test/std/strings
diff options
context:
space:
mode:
authorLouis Dionne <ldionne@apple.com>2019-02-27 00:57:57 +0000
committerLouis Dionne <ldionne@apple.com>2019-02-27 00:57:57 +0000
commit25838c6dacca8203b4478ac2c16e563b51c3708b (patch)
tree567b029c88ce0f8677340c7618697b95de0f86e4 /libcxx/test/std/strings
parentcf699b4534e6e0285d1a6899b5237c5fd9100ab7 (diff)
downloadbcm5719-llvm-25838c6dacca8203b4478ac2c16e563b51c3708b.tar.gz
bcm5719-llvm-25838c6dacca8203b4478ac2c16e563b51c3708b.zip
[libc++] Mark several tests as XFAIL on macosx10.7
Those tests fail when linking against a new dylib but running against macosx10.7. I believe this is caused by a duplicate definition of the RTTI for exception classes in libc++.dylib and libc++abi.dylib, but this matter still needs some investigation. This issue was not caught previously because all the tests always linked against the same dylib used for running (because LIT made it impossible to do otherwise before r349171). rdar://problem/46809586 llvm-svn: 354940
Diffstat (limited to 'libcxx/test/std/strings')
-rw-r--r--libcxx/test/std/strings/basic.string/string.access/at.pass.cpp5
-rw-r--r--libcxx/test/std/strings/basic.string/string.capacity/reserve.pass.cpp5
-rw-r--r--libcxx/test/std/strings/basic.string/string.capacity/resize_size.pass.cpp5
-rw-r--r--libcxx/test/std/strings/basic.string/string.capacity/resize_size_char.pass.cpp5
-rw-r--r--libcxx/test/std/strings/basic.string/string.cons/substr.pass.cpp5
-rw-r--r--libcxx/test/std/strings/basic.string/string.modifiers/string_append/T_size_size.pass.cpp5
-rw-r--r--libcxx/test/std/strings/basic.string/string.modifiers/string_append/string_size_size.pass.cpp5
-rw-r--r--libcxx/test/std/strings/basic.string/string.modifiers/string_assign/T_size_size.pass.cpp5
-rw-r--r--libcxx/test/std/strings/basic.string/string.modifiers/string_assign/string_size_size.pass.cpp5
-rw-r--r--libcxx/test/std/strings/basic.string/string.modifiers/string_copy/copy.pass.cpp5
-rw-r--r--libcxx/test/std/strings/basic.string/string.modifiers/string_erase/size_size.pass.cpp5
-rw-r--r--libcxx/test/std/strings/basic.string/string.modifiers/string_insert/size_T_size_size.pass.cpp5
-rw-r--r--libcxx/test/std/strings/basic.string/string.modifiers/string_insert/size_pointer.pass.cpp5
-rw-r--r--libcxx/test/std/strings/basic.string/string.modifiers/string_insert/size_pointer_size.pass.cpp5
-rw-r--r--libcxx/test/std/strings/basic.string/string.modifiers/string_insert/size_size_char.pass.cpp5
-rw-r--r--libcxx/test/std/strings/basic.string/string.modifiers/string_insert/size_string.pass.cpp5
-rw-r--r--libcxx/test/std/strings/basic.string/string.modifiers/string_insert/size_string_size_size.pass.cpp5
-rw-r--r--libcxx/test/std/strings/basic.string/string.modifiers/string_insert/string_view.pass.cpp5
-rw-r--r--libcxx/test/std/strings/basic.string/string.modifiers/string_replace/size_size_T_size_size.pass.cpp5
-rw-r--r--libcxx/test/std/strings/basic.string/string.modifiers/string_replace/size_size_pointer.pass.cpp5
-rw-r--r--libcxx/test/std/strings/basic.string/string.modifiers/string_replace/size_size_pointer_size.pass.cpp5
-rw-r--r--libcxx/test/std/strings/basic.string/string.modifiers/string_replace/size_size_size_char.pass.cpp5
-rw-r--r--libcxx/test/std/strings/basic.string/string.modifiers/string_replace/size_size_string.pass.cpp5
-rw-r--r--libcxx/test/std/strings/basic.string/string.modifiers/string_replace/size_size_string_size_size.pass.cpp5
-rw-r--r--libcxx/test/std/strings/basic.string/string.modifiers/string_replace/size_size_string_view.pass.cpp5
-rw-r--r--libcxx/test/std/strings/basic.string/string.ops/string_compare/size_size_pointer.pass.cpp5
-rw-r--r--libcxx/test/std/strings/basic.string/string.ops/string_compare/size_size_pointer_size.pass.cpp5
-rw-r--r--libcxx/test/std/strings/basic.string/string.ops/string_compare/size_size_string.pass.cpp5
-rw-r--r--libcxx/test/std/strings/basic.string/string.ops/string_compare/size_size_string_size_size.pass.cpp5
-rw-r--r--libcxx/test/std/strings/basic.string/string.ops/string_compare/size_size_string_view.pass.cpp5
-rw-r--r--libcxx/test/std/strings/basic.string/string.ops/string_substr/substr.pass.cpp5
-rw-r--r--libcxx/test/std/strings/string.conversions/stod.pass.cpp5
-rw-r--r--libcxx/test/std/strings/string.conversions/stoi.pass.cpp5
-rw-r--r--libcxx/test/std/strings/string.conversions/stold.pass.cpp5
34 files changed, 170 insertions, 0 deletions
diff --git a/libcxx/test/std/strings/basic.string/string.access/at.pass.cpp b/libcxx/test/std/strings/basic.string/string.access/at.pass.cpp
index 514d1a894ce..2105a1504f4 100644
--- a/libcxx/test/std/strings/basic.string/string.access/at.pass.cpp
+++ b/libcxx/test/std/strings/basic.string/string.access/at.pass.cpp
@@ -11,6 +11,11 @@
// const_reference at(size_type pos) const;
// reference at(size_type pos);
+// When back-deploying to macosx10.7, the RTTI for exception classes
+// incorrectly provided by libc++.dylib is mixed with the one in
+// libc++abi.dylib and exceptions are not caught properly.
+// XFAIL: with_system_cxx_lib=macosx10.7
+
#include <string>
#include <stdexcept>
#include <cassert>
diff --git a/libcxx/test/std/strings/basic.string/string.capacity/reserve.pass.cpp b/libcxx/test/std/strings/basic.string/string.capacity/reserve.pass.cpp
index f49125cec98..34582a40dda 100644
--- a/libcxx/test/std/strings/basic.string/string.capacity/reserve.pass.cpp
+++ b/libcxx/test/std/strings/basic.string/string.capacity/reserve.pass.cpp
@@ -12,6 +12,11 @@
// void reserve();
// void reserve(size_type res_arg);
+// When back-deploying to macosx10.7, the RTTI for exception classes
+// incorrectly provided by libc++.dylib is mixed with the one in
+// libc++abi.dylib and exceptions are not caught properly.
+// XFAIL: with_system_cxx_lib=macosx10.7
+
#include <string>
#include <stdexcept>
#include <cassert>
diff --git a/libcxx/test/std/strings/basic.string/string.capacity/resize_size.pass.cpp b/libcxx/test/std/strings/basic.string/string.capacity/resize_size.pass.cpp
index 8b545939e3d..da692633ae7 100644
--- a/libcxx/test/std/strings/basic.string/string.capacity/resize_size.pass.cpp
+++ b/libcxx/test/std/strings/basic.string/string.capacity/resize_size.pass.cpp
@@ -10,6 +10,11 @@
// void resize(size_type n);
+// When back-deploying to macosx10.7, the RTTI for exception classes
+// incorrectly provided by libc++.dylib is mixed with the one in
+// libc++abi.dylib and exceptions are not caught properly.
+// XFAIL: with_system_cxx_lib=macosx10.7
+
#include <string>
#include <stdexcept>
#include <cassert>
diff --git a/libcxx/test/std/strings/basic.string/string.capacity/resize_size_char.pass.cpp b/libcxx/test/std/strings/basic.string/string.capacity/resize_size_char.pass.cpp
index b5e5aff8424..c52bd992276 100644
--- a/libcxx/test/std/strings/basic.string/string.capacity/resize_size_char.pass.cpp
+++ b/libcxx/test/std/strings/basic.string/string.capacity/resize_size_char.pass.cpp
@@ -10,6 +10,11 @@
// void resize(size_type n, charT c);
+// When back-deploying to macosx10.7, the RTTI for exception classes
+// incorrectly provided by libc++.dylib is mixed with the one in
+// libc++abi.dylib and exceptions are not caught properly.
+// XFAIL: with_system_cxx_lib=macosx10.7
+
#include <string>
#include <stdexcept>
#include <cassert>
diff --git a/libcxx/test/std/strings/basic.string/string.cons/substr.pass.cpp b/libcxx/test/std/strings/basic.string/string.cons/substr.pass.cpp
index 44f29beec92..585b684f3fb 100644
--- a/libcxx/test/std/strings/basic.string/string.cons/substr.pass.cpp
+++ b/libcxx/test/std/strings/basic.string/string.cons/substr.pass.cpp
@@ -16,6 +16,11 @@
// size_type pos,
// const Allocator& a = Allocator());
+// When back-deploying to macosx10.7, the RTTI for exception classes
+// incorrectly provided by libc++.dylib is mixed with the one in
+// libc++abi.dylib and exceptions are not caught properly.
+// XFAIL: with_system_cxx_lib=macosx10.7
+
#include <string>
#include <stdexcept>
#include <algorithm>
diff --git a/libcxx/test/std/strings/basic.string/string.modifiers/string_append/T_size_size.pass.cpp b/libcxx/test/std/strings/basic.string/string.modifiers/string_append/T_size_size.pass.cpp
index 43752406362..a165d92fffc 100644
--- a/libcxx/test/std/strings/basic.string/string.modifiers/string_append/T_size_size.pass.cpp
+++ b/libcxx/test/std/strings/basic.string/string.modifiers/string_append/T_size_size.pass.cpp
@@ -11,6 +11,11 @@
// template <class T>
// basic_string& append(const T& t, size_type pos, size_type n=npos); // C++17
+// When back-deploying to macosx10.7, the RTTI for exception classes
+// incorrectly provided by libc++.dylib is mixed with the one in
+// libc++abi.dylib and exceptions are not caught properly.
+// XFAIL: with_system_cxx_lib=macosx10.7
+
#include <string>
#include <string>
#include <stdexcept>
diff --git a/libcxx/test/std/strings/basic.string/string.modifiers/string_append/string_size_size.pass.cpp b/libcxx/test/std/strings/basic.string/string.modifiers/string_append/string_size_size.pass.cpp
index 37985d00115..84bd37a320d 100644
--- a/libcxx/test/std/strings/basic.string/string.modifiers/string_append/string_size_size.pass.cpp
+++ b/libcxx/test/std/strings/basic.string/string.modifiers/string_append/string_size_size.pass.cpp
@@ -12,6 +12,11 @@
// append(const basic_string<charT,traits>& str, size_type pos, size_type n = npos);
// the "= npos" was added for C++14
+// When back-deploying to macosx10.7, the RTTI for exception classes
+// incorrectly provided by libc++.dylib is mixed with the one in
+// libc++abi.dylib and exceptions are not caught properly.
+// XFAIL: with_system_cxx_lib=macosx10.7
+
#include <string>
#include <stdexcept>
#include <cassert>
diff --git a/libcxx/test/std/strings/basic.string/string.modifiers/string_assign/T_size_size.pass.cpp b/libcxx/test/std/strings/basic.string/string.modifiers/string_assign/T_size_size.pass.cpp
index 044b3724041..0bb8a3f3a49 100644
--- a/libcxx/test/std/strings/basic.string/string.modifiers/string_assign/T_size_size.pass.cpp
+++ b/libcxx/test/std/strings/basic.string/string.modifiers/string_assign/T_size_size.pass.cpp
@@ -11,6 +11,11 @@
// template <class T>
// basic_string& assign(const T& t, size_type pos, size_type n=npos); // C++17
+// When back-deploying to macosx10.7, the RTTI for exception classes
+// incorrectly provided by libc++.dylib is mixed with the one in
+// libc++abi.dylib and exceptions are not caught properly.
+// XFAIL: with_system_cxx_lib=macosx10.7
+
#include <string>
#include <stdexcept>
#include <cassert>
diff --git a/libcxx/test/std/strings/basic.string/string.modifiers/string_assign/string_size_size.pass.cpp b/libcxx/test/std/strings/basic.string/string.modifiers/string_assign/string_size_size.pass.cpp
index 8e11b150e91..b1b3bdc249a 100644
--- a/libcxx/test/std/strings/basic.string/string.modifiers/string_assign/string_size_size.pass.cpp
+++ b/libcxx/test/std/strings/basic.string/string.modifiers/string_assign/string_size_size.pass.cpp
@@ -12,6 +12,11 @@
// assign(const basic_string<charT,traits>& str, size_type pos, size_type n=npos);
// the =npos was added for C++14
+// When back-deploying to macosx10.7, the RTTI for exception classes
+// incorrectly provided by libc++.dylib is mixed with the one in
+// libc++abi.dylib and exceptions are not caught properly.
+// XFAIL: with_system_cxx_lib=macosx10.7
+
#include <string>
#include <stdexcept>
#include <cassert>
diff --git a/libcxx/test/std/strings/basic.string/string.modifiers/string_copy/copy.pass.cpp b/libcxx/test/std/strings/basic.string/string.modifiers/string_copy/copy.pass.cpp
index 778fb70c069..7f9c758998d 100644
--- a/libcxx/test/std/strings/basic.string/string.modifiers/string_copy/copy.pass.cpp
+++ b/libcxx/test/std/strings/basic.string/string.modifiers/string_copy/copy.pass.cpp
@@ -10,6 +10,11 @@
// size_type copy(charT* s, size_type n, size_type pos = 0) const;
+// When back-deploying to macosx10.7, the RTTI for exception classes
+// incorrectly provided by libc++.dylib is mixed with the one in
+// libc++abi.dylib and exceptions are not caught properly.
+// XFAIL: with_system_cxx_lib=macosx10.7
+
#include <string>
#include <stdexcept>
#include <algorithm>
diff --git a/libcxx/test/std/strings/basic.string/string.modifiers/string_erase/size_size.pass.cpp b/libcxx/test/std/strings/basic.string/string.modifiers/string_erase/size_size.pass.cpp
index 88dace52f8a..ee5380edab1 100644
--- a/libcxx/test/std/strings/basic.string/string.modifiers/string_erase/size_size.pass.cpp
+++ b/libcxx/test/std/strings/basic.string/string.modifiers/string_erase/size_size.pass.cpp
@@ -11,6 +11,11 @@
// basic_string<charT,traits,Allocator>&
// erase(size_type pos = 0, size_type n = npos);
+// When back-deploying to macosx10.7, the RTTI for exception classes
+// incorrectly provided by libc++.dylib is mixed with the one in
+// libc++abi.dylib and exceptions are not caught properly.
+// XFAIL: with_system_cxx_lib=macosx10.7
+
#include <string>
#include <stdexcept>
#include <cassert>
diff --git a/libcxx/test/std/strings/basic.string/string.modifiers/string_insert/size_T_size_size.pass.cpp b/libcxx/test/std/strings/basic.string/string.modifiers/string_insert/size_T_size_size.pass.cpp
index 2b54b67202b..49e0f920e7b 100644
--- a/libcxx/test/std/strings/basic.string/string.modifiers/string_insert/size_T_size_size.pass.cpp
+++ b/libcxx/test/std/strings/basic.string/string.modifiers/string_insert/size_T_size_size.pass.cpp
@@ -13,6 +13,11 @@
//
// Mostly we're testing string_view here
+// When back-deploying to macosx10.7, the RTTI for exception classes
+// incorrectly provided by libc++.dylib is mixed with the one in
+// libc++abi.dylib and exceptions are not caught properly.
+// XFAIL: with_system_cxx_lib=macosx10.7
+
#include <string>
#include <stdexcept>
#include <cassert>
diff --git a/libcxx/test/std/strings/basic.string/string.modifiers/string_insert/size_pointer.pass.cpp b/libcxx/test/std/strings/basic.string/string.modifiers/string_insert/size_pointer.pass.cpp
index 24859fa8be2..dca1fb6a53e 100644
--- a/libcxx/test/std/strings/basic.string/string.modifiers/string_insert/size_pointer.pass.cpp
+++ b/libcxx/test/std/strings/basic.string/string.modifiers/string_insert/size_pointer.pass.cpp
@@ -11,6 +11,11 @@
// basic_string<charT,traits,Allocator>&
// insert(size_type pos, const charT* s);
+// When back-deploying to macosx10.7, the RTTI for exception classes
+// incorrectly provided by libc++.dylib is mixed with the one in
+// libc++abi.dylib and exceptions are not caught properly.
+// XFAIL: with_system_cxx_lib=macosx10.7
+
#include <string>
#include <stdexcept>
#include <cassert>
diff --git a/libcxx/test/std/strings/basic.string/string.modifiers/string_insert/size_pointer_size.pass.cpp b/libcxx/test/std/strings/basic.string/string.modifiers/string_insert/size_pointer_size.pass.cpp
index 3dbd93f1df5..b34340c3f15 100644
--- a/libcxx/test/std/strings/basic.string/string.modifiers/string_insert/size_pointer_size.pass.cpp
+++ b/libcxx/test/std/strings/basic.string/string.modifiers/string_insert/size_pointer_size.pass.cpp
@@ -11,6 +11,11 @@
// basic_string<charT,traits,Allocator>&
// insert(size_type pos, const charT* s, size_type n);
+// When back-deploying to macosx10.7, the RTTI for exception classes
+// incorrectly provided by libc++.dylib is mixed with the one in
+// libc++abi.dylib and exceptions are not caught properly.
+// XFAIL: with_system_cxx_lib=macosx10.7
+
#include <string>
#include <stdexcept>
#include <cassert>
diff --git a/libcxx/test/std/strings/basic.string/string.modifiers/string_insert/size_size_char.pass.cpp b/libcxx/test/std/strings/basic.string/string.modifiers/string_insert/size_size_char.pass.cpp
index dce8b7d7edb..411f936433a 100644
--- a/libcxx/test/std/strings/basic.string/string.modifiers/string_insert/size_size_char.pass.cpp
+++ b/libcxx/test/std/strings/basic.string/string.modifiers/string_insert/size_size_char.pass.cpp
@@ -11,6 +11,11 @@
// basic_string<charT,traits,Allocator>&
// insert(size_type pos, size_type n, charT c);
+// When back-deploying to macosx10.7, the RTTI for exception classes
+// incorrectly provided by libc++.dylib is mixed with the one in
+// libc++abi.dylib and exceptions are not caught properly.
+// XFAIL: with_system_cxx_lib=macosx10.7
+
#include <string>
#include <stdexcept>
#include <cassert>
diff --git a/libcxx/test/std/strings/basic.string/string.modifiers/string_insert/size_string.pass.cpp b/libcxx/test/std/strings/basic.string/string.modifiers/string_insert/size_string.pass.cpp
index 93bc3f6d961..65f19f1f9e8 100644
--- a/libcxx/test/std/strings/basic.string/string.modifiers/string_insert/size_string.pass.cpp
+++ b/libcxx/test/std/strings/basic.string/string.modifiers/string_insert/size_string.pass.cpp
@@ -11,6 +11,11 @@
// basic_string<charT,traits,Allocator>&
// insert(size_type pos1, const basic_string& str);
+// When back-deploying to macosx10.7, the RTTI for exception classes
+// incorrectly provided by libc++.dylib is mixed with the one in
+// libc++abi.dylib and exceptions are not caught properly.
+// XFAIL: with_system_cxx_lib=macosx10.7
+
#include <string>
#include <stdexcept>
#include <cassert>
diff --git a/libcxx/test/std/strings/basic.string/string.modifiers/string_insert/size_string_size_size.pass.cpp b/libcxx/test/std/strings/basic.string/string.modifiers/string_insert/size_string_size_size.pass.cpp
index 18a688a5d1f..d82a81e40e5 100644
--- a/libcxx/test/std/strings/basic.string/string.modifiers/string_insert/size_string_size_size.pass.cpp
+++ b/libcxx/test/std/strings/basic.string/string.modifiers/string_insert/size_string_size_size.pass.cpp
@@ -13,6 +13,11 @@
// size_type pos2, size_type n=npos);
// the "=npos" was added in C++14
+// When back-deploying to macosx10.7, the RTTI for exception classes
+// incorrectly provided by libc++.dylib is mixed with the one in
+// libc++abi.dylib and exceptions are not caught properly.
+// XFAIL: with_system_cxx_lib=macosx10.7
+
#include <string>
#include <stdexcept>
#include <cassert>
diff --git a/libcxx/test/std/strings/basic.string/string.modifiers/string_insert/string_view.pass.cpp b/libcxx/test/std/strings/basic.string/string.modifiers/string_insert/string_view.pass.cpp
index 129389a9a7b..e81825c2d2c 100644
--- a/libcxx/test/std/strings/basic.string/string.modifiers/string_insert/string_view.pass.cpp
+++ b/libcxx/test/std/strings/basic.string/string.modifiers/string_insert/string_view.pass.cpp
@@ -11,6 +11,11 @@
// basic_string<charT,traits,Allocator>&
// insert(size_type pos, string_view sv);
+// When back-deploying to macosx10.7, the RTTI for exception classes
+// incorrectly provided by libc++.dylib is mixed with the one in
+// libc++abi.dylib and exceptions are not caught properly.
+// XFAIL: with_system_cxx_lib=macosx10.7
+
#include <string>
#include <stdexcept>
#include <cassert>
diff --git a/libcxx/test/std/strings/basic.string/string.modifiers/string_replace/size_size_T_size_size.pass.cpp b/libcxx/test/std/strings/basic.string/string.modifiers/string_replace/size_size_T_size_size.pass.cpp
index 2348747def0..8097bed7325 100644
--- a/libcxx/test/std/strings/basic.string/string.modifiers/string_replace/size_size_T_size_size.pass.cpp
+++ b/libcxx/test/std/strings/basic.string/string.modifiers/string_replace/size_size_T_size_size.pass.cpp
@@ -14,6 +14,11 @@
//
// Mostly we're testing string_view here
+// When back-deploying to macosx10.7, the RTTI for exception classes
+// incorrectly provided by libc++.dylib is mixed with the one in
+// libc++abi.dylib and exceptions are not caught properly.
+// XFAIL: with_system_cxx_lib=macosx10.7
+
#include <string>
#include <stdexcept>
#include <algorithm>
diff --git a/libcxx/test/std/strings/basic.string/string.modifiers/string_replace/size_size_pointer.pass.cpp b/libcxx/test/std/strings/basic.string/string.modifiers/string_replace/size_size_pointer.pass.cpp
index a6a6c7d9dcf..b33ba0f3b94 100644
--- a/libcxx/test/std/strings/basic.string/string.modifiers/string_replace/size_size_pointer.pass.cpp
+++ b/libcxx/test/std/strings/basic.string/string.modifiers/string_replace/size_size_pointer.pass.cpp
@@ -11,6 +11,11 @@
// basic_string<charT,traits,Allocator>&
// replace(size_type pos, size_type n1, const charT* s);
+// When back-deploying to macosx10.7, the RTTI for exception classes
+// incorrectly provided by libc++.dylib is mixed with the one in
+// libc++abi.dylib and exceptions are not caught properly.
+// XFAIL: with_system_cxx_lib=macosx10.7
+
#include <string>
#include <stdexcept>
#include <algorithm>
diff --git a/libcxx/test/std/strings/basic.string/string.modifiers/string_replace/size_size_pointer_size.pass.cpp b/libcxx/test/std/strings/basic.string/string.modifiers/string_replace/size_size_pointer_size.pass.cpp
index e3056670704..7b22303ee54 100644
--- a/libcxx/test/std/strings/basic.string/string.modifiers/string_replace/size_size_pointer_size.pass.cpp
+++ b/libcxx/test/std/strings/basic.string/string.modifiers/string_replace/size_size_pointer_size.pass.cpp
@@ -11,6 +11,11 @@
// basic_string<charT,traits,Allocator>&
// replace(size_type pos, size_type n1, const charT* s, size_type n2);
+// When back-deploying to macosx10.7, the RTTI for exception classes
+// incorrectly provided by libc++.dylib is mixed with the one in
+// libc++abi.dylib and exceptions are not caught properly.
+// XFAIL: with_system_cxx_lib=macosx10.7
+
#include <string>
#include <stdexcept>
#include <algorithm>
diff --git a/libcxx/test/std/strings/basic.string/string.modifiers/string_replace/size_size_size_char.pass.cpp b/libcxx/test/std/strings/basic.string/string.modifiers/string_replace/size_size_size_char.pass.cpp
index 7d37e107561..4e296e9cad6 100644
--- a/libcxx/test/std/strings/basic.string/string.modifiers/string_replace/size_size_size_char.pass.cpp
+++ b/libcxx/test/std/strings/basic.string/string.modifiers/string_replace/size_size_size_char.pass.cpp
@@ -11,6 +11,11 @@
// basic_string<charT,traits,Allocator>&
// replace(size_type pos, size_type n1, size_type n2, charT c);
+// When back-deploying to macosx10.7, the RTTI for exception classes
+// incorrectly provided by libc++.dylib is mixed with the one in
+// libc++abi.dylib and exceptions are not caught properly.
+// XFAIL: with_system_cxx_lib=macosx10.7
+
#include <string>
#include <stdexcept>
#include <algorithm>
diff --git a/libcxx/test/std/strings/basic.string/string.modifiers/string_replace/size_size_string.pass.cpp b/libcxx/test/std/strings/basic.string/string.modifiers/string_replace/size_size_string.pass.cpp
index c0fad33a398..1fe5c5a4453 100644
--- a/libcxx/test/std/strings/basic.string/string.modifiers/string_replace/size_size_string.pass.cpp
+++ b/libcxx/test/std/strings/basic.string/string.modifiers/string_replace/size_size_string.pass.cpp
@@ -11,6 +11,11 @@
// basic_string<charT,traits,Allocator>&
// replace(size_type pos1, size_type n1, const basic_string<charT,traits,Allocator>& str);
+// When back-deploying to macosx10.7, the RTTI for exception classes
+// incorrectly provided by libc++.dylib is mixed with the one in
+// libc++abi.dylib and exceptions are not caught properly.
+// XFAIL: with_system_cxx_lib=macosx10.7
+
#include <string>
#include <stdexcept>
#include <algorithm>
diff --git a/libcxx/test/std/strings/basic.string/string.modifiers/string_replace/size_size_string_size_size.pass.cpp b/libcxx/test/std/strings/basic.string/string.modifiers/string_replace/size_size_string_size_size.pass.cpp
index 3fa32699fda..4bd3889f520 100644
--- a/libcxx/test/std/strings/basic.string/string.modifiers/string_replace/size_size_string_size_size.pass.cpp
+++ b/libcxx/test/std/strings/basic.string/string.modifiers/string_replace/size_size_string_size_size.pass.cpp
@@ -13,6 +13,11 @@
// size_type pos2, size_type n2=npos);
// the "=npos" was added in C++14
+// When back-deploying to macosx10.7, the RTTI for exception classes
+// incorrectly provided by libc++.dylib is mixed with the one in
+// libc++abi.dylib and exceptions are not caught properly.
+// XFAIL: with_system_cxx_lib=macosx10.7
+
#include <string>
#include <stdexcept>
#include <algorithm>
diff --git a/libcxx/test/std/strings/basic.string/string.modifiers/string_replace/size_size_string_view.pass.cpp b/libcxx/test/std/strings/basic.string/string.modifiers/string_replace/size_size_string_view.pass.cpp
index 542220aea70..22b23093581 100644
--- a/libcxx/test/std/strings/basic.string/string.modifiers/string_replace/size_size_string_view.pass.cpp
+++ b/libcxx/test/std/strings/basic.string/string.modifiers/string_replace/size_size_string_view.pass.cpp
@@ -11,6 +11,11 @@
// basic_string<charT,traits,Allocator>&
// replace(size_type pos1, size_type n1, basic_string_view<charT,traits> sv);
+// When back-deploying to macosx10.7, the RTTI for exception classes
+// incorrectly provided by libc++.dylib is mixed with the one in
+// libc++abi.dylib and exceptions are not caught properly.
+// XFAIL: with_system_cxx_lib=macosx10.7
+
#include <string>
#include <stdexcept>
#include <algorithm>
diff --git a/libcxx/test/std/strings/basic.string/string.ops/string_compare/size_size_pointer.pass.cpp b/libcxx/test/std/strings/basic.string/string.ops/string_compare/size_size_pointer.pass.cpp
index 4e77fc09c8e..0a806b5892e 100644
--- a/libcxx/test/std/strings/basic.string/string.ops/string_compare/size_size_pointer.pass.cpp
+++ b/libcxx/test/std/strings/basic.string/string.ops/string_compare/size_size_pointer.pass.cpp
@@ -10,6 +10,11 @@
// int compare(size_type pos, size_type n1, const charT *s) const;
+// When back-deploying to macosx10.7, the RTTI for exception classes
+// incorrectly provided by libc++.dylib is mixed with the one in
+// libc++abi.dylib and exceptions are not caught properly.
+// XFAIL: with_system_cxx_lib=macosx10.7
+
#include <string>
#include <stdexcept>
#include <cassert>
diff --git a/libcxx/test/std/strings/basic.string/string.ops/string_compare/size_size_pointer_size.pass.cpp b/libcxx/test/std/strings/basic.string/string.ops/string_compare/size_size_pointer_size.pass.cpp
index 75efbadcc81..3299943b86b 100644
--- a/libcxx/test/std/strings/basic.string/string.ops/string_compare/size_size_pointer_size.pass.cpp
+++ b/libcxx/test/std/strings/basic.string/string.ops/string_compare/size_size_pointer_size.pass.cpp
@@ -10,6 +10,11 @@
// int compare(size_type pos, size_type n1, const charT *s, size_type n2) const;
+// When back-deploying to macosx10.7, the RTTI for exception classes
+// incorrectly provided by libc++.dylib is mixed with the one in
+// libc++abi.dylib and exceptions are not caught properly.
+// XFAIL: with_system_cxx_lib=macosx10.7
+
#include <string>
#include <stdexcept>
#include <cassert>
diff --git a/libcxx/test/std/strings/basic.string/string.ops/string_compare/size_size_string.pass.cpp b/libcxx/test/std/strings/basic.string/string.ops/string_compare/size_size_string.pass.cpp
index 55fd823718e..80e06816210 100644
--- a/libcxx/test/std/strings/basic.string/string.ops/string_compare/size_size_string.pass.cpp
+++ b/libcxx/test/std/strings/basic.string/string.ops/string_compare/size_size_string.pass.cpp
@@ -10,6 +10,11 @@
// int compare(size_type pos1, size_type n1, const basic_string& str) const;
+// When back-deploying to macosx10.7, the RTTI for exception classes
+// incorrectly provided by libc++.dylib is mixed with the one in
+// libc++abi.dylib and exceptions are not caught properly.
+// XFAIL: with_system_cxx_lib=macosx10.7
+
#include <string>
#include <stdexcept>
#include <cassert>
diff --git a/libcxx/test/std/strings/basic.string/string.ops/string_compare/size_size_string_size_size.pass.cpp b/libcxx/test/std/strings/basic.string/string.ops/string_compare/size_size_string_size_size.pass.cpp
index 05ba6ac82c5..fa785903687 100644
--- a/libcxx/test/std/strings/basic.string/string.ops/string_compare/size_size_string_size_size.pass.cpp
+++ b/libcxx/test/std/strings/basic.string/string.ops/string_compare/size_size_string_size_size.pass.cpp
@@ -12,6 +12,11 @@
// size_type pos2, size_type n2=npos) const;
// the "=npos" was added in C++14
+// When back-deploying to macosx10.7, the RTTI for exception classes
+// incorrectly provided by libc++.dylib is mixed with the one in
+// libc++abi.dylib and exceptions are not caught properly.
+// XFAIL: with_system_cxx_lib=macosx10.7
+
#include <string>
#include <stdexcept>
#include <cassert>
diff --git a/libcxx/test/std/strings/basic.string/string.ops/string_compare/size_size_string_view.pass.cpp b/libcxx/test/std/strings/basic.string/string.ops/string_compare/size_size_string_view.pass.cpp
index 94c73ab31a6..b313dc0df55 100644
--- a/libcxx/test/std/strings/basic.string/string.ops/string_compare/size_size_string_view.pass.cpp
+++ b/libcxx/test/std/strings/basic.string/string.ops/string_compare/size_size_string_view.pass.cpp
@@ -10,6 +10,11 @@
// int compare(size_type pos1, size_type n1, basic_string_vew sv) const;
+// When back-deploying to macosx10.7, the RTTI for exception classes
+// incorrectly provided by libc++.dylib is mixed with the one in
+// libc++abi.dylib and exceptions are not caught properly.
+// XFAIL: with_system_cxx_lib=macosx10.7
+
#include <string>
#include <stdexcept>
#include <cassert>
diff --git a/libcxx/test/std/strings/basic.string/string.ops/string_substr/substr.pass.cpp b/libcxx/test/std/strings/basic.string/string.ops/string_substr/substr.pass.cpp
index 27af66e0670..b089d8f20de 100644
--- a/libcxx/test/std/strings/basic.string/string.ops/string_substr/substr.pass.cpp
+++ b/libcxx/test/std/strings/basic.string/string.ops/string_substr/substr.pass.cpp
@@ -10,6 +10,11 @@
// basic_string substr(size_type pos = 0, size_type n = npos) const;
+// When back-deploying to macosx10.7, the RTTI for exception classes
+// incorrectly provided by libc++.dylib is mixed with the one in
+// libc++abi.dylib and exceptions are not caught properly.
+// XFAIL: with_system_cxx_lib=macosx10.7
+
#include <string>
#include <stdexcept>
#include <algorithm>
diff --git a/libcxx/test/std/strings/string.conversions/stod.pass.cpp b/libcxx/test/std/strings/string.conversions/stod.pass.cpp
index d13b695f21c..9456d4e89cf 100644
--- a/libcxx/test/std/strings/string.conversions/stod.pass.cpp
+++ b/libcxx/test/std/strings/string.conversions/stod.pass.cpp
@@ -11,6 +11,11 @@
// double stod(const string& str, size_t *idx = 0);
// double stod(const wstring& str, size_t *idx = 0);
+// When back-deploying to macosx10.7, the RTTI for exception classes
+// incorrectly provided by libc++.dylib is mixed with the one in
+// libc++abi.dylib and exceptions are not caught properly.
+// XFAIL: with_system_cxx_lib=macosx10.7
+
#include <string>
#include <cmath>
#include <cassert>
diff --git a/libcxx/test/std/strings/string.conversions/stoi.pass.cpp b/libcxx/test/std/strings/string.conversions/stoi.pass.cpp
index b3e41633126..6f273321de7 100644
--- a/libcxx/test/std/strings/string.conversions/stoi.pass.cpp
+++ b/libcxx/test/std/strings/string.conversions/stoi.pass.cpp
@@ -11,6 +11,11 @@
// int stoi(const string& str, size_t *idx = 0, int base = 10);
// int stoi(const wstring& str, size_t *idx = 0, int base = 10);
+// When back-deploying to macosx10.7, the RTTI for exception classes
+// incorrectly provided by libc++.dylib is mixed with the one in
+// libc++abi.dylib and exceptions are not caught properly.
+// XFAIL: with_system_cxx_lib=macosx10.7
+
#include <string>
#include <cassert>
#include <stdexcept>
diff --git a/libcxx/test/std/strings/string.conversions/stold.pass.cpp b/libcxx/test/std/strings/string.conversions/stold.pass.cpp
index 5b21fd0e345..7876440e6e1 100644
--- a/libcxx/test/std/strings/string.conversions/stold.pass.cpp
+++ b/libcxx/test/std/strings/string.conversions/stold.pass.cpp
@@ -11,6 +11,11 @@
// long double stold(const string& str, size_t *idx = 0);
// long double stold(const wstring& str, size_t *idx = 0);
+// When back-deploying to macosx10.7, the RTTI for exception classes
+// incorrectly provided by libc++.dylib is mixed with the one in
+// libc++abi.dylib and exceptions are not caught properly.
+// XFAIL: with_system_cxx_lib=macosx10.7
+
#include <iostream>
#include <string>
OpenPOWER on IntegriCloud