From 21c042e77e561555ce2b5fee13c4d9faa0780329 Mon Sep 17 00:00:00 2001 From: Louis Dionne Date: Wed, 27 Feb 2019 00:57:57 +0000 Subject: [PATCH] [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 git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@354940 91177308-0d34-0410-b5e6-96231b3b80d8 --- .../do_allocate_and_deallocate.pass.cpp | 4 ++++ test/std/strings/basic.string/string.access/at.pass.cpp | 5 +++++ .../strings/basic.string/string.capacity/reserve.pass.cpp | 5 +++++ .../basic.string/string.capacity/resize_size.pass.cpp | 5 +++++ .../basic.string/string.capacity/resize_size_char.pass.cpp | 5 +++++ test/std/strings/basic.string/string.cons/substr.pass.cpp | 5 +++++ .../string.modifiers/string_append/T_size_size.pass.cpp | 5 +++++ .../string.modifiers/string_append/string_size_size.pass.cpp | 5 +++++ .../string.modifiers/string_assign/T_size_size.pass.cpp | 5 +++++ .../string.modifiers/string_assign/string_size_size.pass.cpp | 5 +++++ .../basic.string/string.modifiers/string_copy/copy.pass.cpp | 5 +++++ .../string.modifiers/string_erase/size_size.pass.cpp | 5 +++++ .../string.modifiers/string_insert/size_T_size_size.pass.cpp | 5 +++++ .../string.modifiers/string_insert/size_pointer.pass.cpp | 5 +++++ .../string_insert/size_pointer_size.pass.cpp | 5 +++++ .../string.modifiers/string_insert/size_size_char.pass.cpp | 5 +++++ .../string.modifiers/string_insert/size_string.pass.cpp | 5 +++++ .../string_insert/size_string_size_size.pass.cpp | 5 +++++ .../string.modifiers/string_insert/string_view.pass.cpp | 5 +++++ .../string_replace/size_size_T_size_size.pass.cpp | 5 +++++ .../string_replace/size_size_pointer.pass.cpp | 5 +++++ .../string_replace/size_size_pointer_size.pass.cpp | 5 +++++ .../string_replace/size_size_size_char.pass.cpp | 5 +++++ .../string_replace/size_size_string.pass.cpp | 5 +++++ .../string_replace/size_size_string_size_size.pass.cpp | 5 +++++ .../string_replace/size_size_string_view.pass.cpp | 5 +++++ .../string.ops/string_compare/size_size_pointer.pass.cpp | 5 +++++ .../string_compare/size_size_pointer_size.pass.cpp | 5 +++++ .../string.ops/string_compare/size_size_string.pass.cpp | 5 +++++ .../string_compare/size_size_string_size_size.pass.cpp | 5 +++++ .../string.ops/string_compare/size_size_string_view.pass.cpp | 5 +++++ .../basic.string/string.ops/string_substr/substr.pass.cpp | 5 +++++ test/std/strings/string.conversions/stod.pass.cpp | 5 +++++ test/std/strings/string.conversions/stoi.pass.cpp | 5 +++++ test/std/strings/string.conversions/stold.pass.cpp | 5 +++++ .../allocator.members/allocate.size.pass.cpp | 5 +++++ 36 files changed, 179 insertions(+) diff --git a/test/std/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.mem/do_allocate_and_deallocate.pass.cpp b/test/std/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.mem/do_allocate_and_deallocate.pass.cpp index 806fa6e95..f88d6fcc2 100644 --- a/test/std/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.mem/do_allocate_and_deallocate.pass.cpp +++ b/test/std/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.mem/do_allocate_and_deallocate.pass.cpp @@ -15,6 +15,10 @@ // void * do_allocate(size_t size, size_t align) // void do_deallocate(void*, size_t, size_t) +// 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 #include diff --git a/test/std/strings/basic.string/string.access/at.pass.cpp b/test/std/strings/basic.string/string.access/at.pass.cpp index 514d1a894..2105a1504 100644 --- a/test/std/strings/basic.string/string.access/at.pass.cpp +++ b/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 #include #include diff --git a/test/std/strings/basic.string/string.capacity/reserve.pass.cpp b/test/std/strings/basic.string/string.capacity/reserve.pass.cpp index f49125cec..34582a40d 100644 --- a/test/std/strings/basic.string/string.capacity/reserve.pass.cpp +++ b/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 #include #include diff --git a/test/std/strings/basic.string/string.capacity/resize_size.pass.cpp b/test/std/strings/basic.string/string.capacity/resize_size.pass.cpp index 8b545939e..da692633a 100644 --- a/test/std/strings/basic.string/string.capacity/resize_size.pass.cpp +++ b/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 #include #include diff --git a/test/std/strings/basic.string/string.capacity/resize_size_char.pass.cpp b/test/std/strings/basic.string/string.capacity/resize_size_char.pass.cpp index b5e5aff84..c52bd9922 100644 --- a/test/std/strings/basic.string/string.capacity/resize_size_char.pass.cpp +++ b/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 #include #include diff --git a/test/std/strings/basic.string/string.cons/substr.pass.cpp b/test/std/strings/basic.string/string.cons/substr.pass.cpp index 44f29beec..585b684f3 100644 --- a/test/std/strings/basic.string/string.cons/substr.pass.cpp +++ b/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 #include #include diff --git a/test/std/strings/basic.string/string.modifiers/string_append/T_size_size.pass.cpp b/test/std/strings/basic.string/string.modifiers/string_append/T_size_size.pass.cpp index 437524063..a165d92ff 100644 --- a/test/std/strings/basic.string/string.modifiers/string_append/T_size_size.pass.cpp +++ b/test/std/strings/basic.string/string.modifiers/string_append/T_size_size.pass.cpp @@ -11,6 +11,11 @@ // template // 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 #include #include diff --git a/test/std/strings/basic.string/string.modifiers/string_append/string_size_size.pass.cpp b/test/std/strings/basic.string/string.modifiers/string_append/string_size_size.pass.cpp index 37985d001..84bd37a32 100644 --- a/test/std/strings/basic.string/string.modifiers/string_append/string_size_size.pass.cpp +++ b/test/std/strings/basic.string/string.modifiers/string_append/string_size_size.pass.cpp @@ -12,6 +12,11 @@ // append(const basic_string& 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 #include #include diff --git a/test/std/strings/basic.string/string.modifiers/string_assign/T_size_size.pass.cpp b/test/std/strings/basic.string/string.modifiers/string_assign/T_size_size.pass.cpp index 044b37240..0bb8a3f3a 100644 --- a/test/std/strings/basic.string/string.modifiers/string_assign/T_size_size.pass.cpp +++ b/test/std/strings/basic.string/string.modifiers/string_assign/T_size_size.pass.cpp @@ -11,6 +11,11 @@ // template // 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 #include #include diff --git a/test/std/strings/basic.string/string.modifiers/string_assign/string_size_size.pass.cpp b/test/std/strings/basic.string/string.modifiers/string_assign/string_size_size.pass.cpp index 8e11b150e..b1b3bdc24 100644 --- a/test/std/strings/basic.string/string.modifiers/string_assign/string_size_size.pass.cpp +++ b/test/std/strings/basic.string/string.modifiers/string_assign/string_size_size.pass.cpp @@ -12,6 +12,11 @@ // assign(const basic_string& 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 #include #include diff --git a/test/std/strings/basic.string/string.modifiers/string_copy/copy.pass.cpp b/test/std/strings/basic.string/string.modifiers/string_copy/copy.pass.cpp index 778fb70c0..7f9c75899 100644 --- a/test/std/strings/basic.string/string.modifiers/string_copy/copy.pass.cpp +++ b/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 #include #include diff --git a/test/std/strings/basic.string/string.modifiers/string_erase/size_size.pass.cpp b/test/std/strings/basic.string/string.modifiers/string_erase/size_size.pass.cpp index 88dace52f..ee5380eda 100644 --- a/test/std/strings/basic.string/string.modifiers/string_erase/size_size.pass.cpp +++ b/test/std/strings/basic.string/string.modifiers/string_erase/size_size.pass.cpp @@ -11,6 +11,11 @@ // basic_string& // 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 #include #include diff --git a/test/std/strings/basic.string/string.modifiers/string_insert/size_T_size_size.pass.cpp b/test/std/strings/basic.string/string.modifiers/string_insert/size_T_size_size.pass.cpp index 2b54b6720..49e0f920e 100644 --- a/test/std/strings/basic.string/string.modifiers/string_insert/size_T_size_size.pass.cpp +++ b/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 #include #include diff --git a/test/std/strings/basic.string/string.modifiers/string_insert/size_pointer.pass.cpp b/test/std/strings/basic.string/string.modifiers/string_insert/size_pointer.pass.cpp index 24859fa8b..dca1fb6a5 100644 --- a/test/std/strings/basic.string/string.modifiers/string_insert/size_pointer.pass.cpp +++ b/test/std/strings/basic.string/string.modifiers/string_insert/size_pointer.pass.cpp @@ -11,6 +11,11 @@ // basic_string& // 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 #include #include diff --git a/test/std/strings/basic.string/string.modifiers/string_insert/size_pointer_size.pass.cpp b/test/std/strings/basic.string/string.modifiers/string_insert/size_pointer_size.pass.cpp index 3dbd93f1d..b34340c3f 100644 --- a/test/std/strings/basic.string/string.modifiers/string_insert/size_pointer_size.pass.cpp +++ b/test/std/strings/basic.string/string.modifiers/string_insert/size_pointer_size.pass.cpp @@ -11,6 +11,11 @@ // basic_string& // 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 #include #include diff --git a/test/std/strings/basic.string/string.modifiers/string_insert/size_size_char.pass.cpp b/test/std/strings/basic.string/string.modifiers/string_insert/size_size_char.pass.cpp index dce8b7d7e..411f93643 100644 --- a/test/std/strings/basic.string/string.modifiers/string_insert/size_size_char.pass.cpp +++ b/test/std/strings/basic.string/string.modifiers/string_insert/size_size_char.pass.cpp @@ -11,6 +11,11 @@ // basic_string& // 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 #include #include diff --git a/test/std/strings/basic.string/string.modifiers/string_insert/size_string.pass.cpp b/test/std/strings/basic.string/string.modifiers/string_insert/size_string.pass.cpp index 93bc3f6d9..65f19f1f9 100644 --- a/test/std/strings/basic.string/string.modifiers/string_insert/size_string.pass.cpp +++ b/test/std/strings/basic.string/string.modifiers/string_insert/size_string.pass.cpp @@ -11,6 +11,11 @@ // basic_string& // 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 #include #include diff --git a/test/std/strings/basic.string/string.modifiers/string_insert/size_string_size_size.pass.cpp b/test/std/strings/basic.string/string.modifiers/string_insert/size_string_size_size.pass.cpp index 18a688a5d..d82a81e40 100644 --- a/test/std/strings/basic.string/string.modifiers/string_insert/size_string_size_size.pass.cpp +++ b/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 #include #include diff --git a/test/std/strings/basic.string/string.modifiers/string_insert/string_view.pass.cpp b/test/std/strings/basic.string/string.modifiers/string_insert/string_view.pass.cpp index 129389a9a..e81825c2d 100644 --- a/test/std/strings/basic.string/string.modifiers/string_insert/string_view.pass.cpp +++ b/test/std/strings/basic.string/string.modifiers/string_insert/string_view.pass.cpp @@ -11,6 +11,11 @@ // basic_string& // 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 #include #include diff --git a/test/std/strings/basic.string/string.modifiers/string_replace/size_size_T_size_size.pass.cpp b/test/std/strings/basic.string/string.modifiers/string_replace/size_size_T_size_size.pass.cpp index 2348747de..8097bed73 100644 --- a/test/std/strings/basic.string/string.modifiers/string_replace/size_size_T_size_size.pass.cpp +++ b/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 #include #include diff --git a/test/std/strings/basic.string/string.modifiers/string_replace/size_size_pointer.pass.cpp b/test/std/strings/basic.string/string.modifiers/string_replace/size_size_pointer.pass.cpp index a6a6c7d9d..b33ba0f3b 100644 --- a/test/std/strings/basic.string/string.modifiers/string_replace/size_size_pointer.pass.cpp +++ b/test/std/strings/basic.string/string.modifiers/string_replace/size_size_pointer.pass.cpp @@ -11,6 +11,11 @@ // basic_string& // 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 #include #include diff --git a/test/std/strings/basic.string/string.modifiers/string_replace/size_size_pointer_size.pass.cpp b/test/std/strings/basic.string/string.modifiers/string_replace/size_size_pointer_size.pass.cpp index e30566707..7b22303ee 100644 --- a/test/std/strings/basic.string/string.modifiers/string_replace/size_size_pointer_size.pass.cpp +++ b/test/std/strings/basic.string/string.modifiers/string_replace/size_size_pointer_size.pass.cpp @@ -11,6 +11,11 @@ // basic_string& // 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 #include #include diff --git a/test/std/strings/basic.string/string.modifiers/string_replace/size_size_size_char.pass.cpp b/test/std/strings/basic.string/string.modifiers/string_replace/size_size_size_char.pass.cpp index 7d37e1075..4e296e9ca 100644 --- a/test/std/strings/basic.string/string.modifiers/string_replace/size_size_size_char.pass.cpp +++ b/test/std/strings/basic.string/string.modifiers/string_replace/size_size_size_char.pass.cpp @@ -11,6 +11,11 @@ // basic_string& // 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 #include #include diff --git a/test/std/strings/basic.string/string.modifiers/string_replace/size_size_string.pass.cpp b/test/std/strings/basic.string/string.modifiers/string_replace/size_size_string.pass.cpp index c0fad33a3..1fe5c5a44 100644 --- a/test/std/strings/basic.string/string.modifiers/string_replace/size_size_string.pass.cpp +++ b/test/std/strings/basic.string/string.modifiers/string_replace/size_size_string.pass.cpp @@ -11,6 +11,11 @@ // basic_string& // replace(size_type pos1, size_type n1, 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 #include #include diff --git a/test/std/strings/basic.string/string.modifiers/string_replace/size_size_string_size_size.pass.cpp b/test/std/strings/basic.string/string.modifiers/string_replace/size_size_string_size_size.pass.cpp index 3fa32699f..4bd3889f5 100644 --- a/test/std/strings/basic.string/string.modifiers/string_replace/size_size_string_size_size.pass.cpp +++ b/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 #include #include diff --git a/test/std/strings/basic.string/string.modifiers/string_replace/size_size_string_view.pass.cpp b/test/std/strings/basic.string/string.modifiers/string_replace/size_size_string_view.pass.cpp index 542220aea..22b230935 100644 --- a/test/std/strings/basic.string/string.modifiers/string_replace/size_size_string_view.pass.cpp +++ b/test/std/strings/basic.string/string.modifiers/string_replace/size_size_string_view.pass.cpp @@ -11,6 +11,11 @@ // basic_string& // replace(size_type pos1, size_type n1, basic_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 #include #include diff --git a/test/std/strings/basic.string/string.ops/string_compare/size_size_pointer.pass.cpp b/test/std/strings/basic.string/string.ops/string_compare/size_size_pointer.pass.cpp index 4e77fc09c..0a806b589 100644 --- a/test/std/strings/basic.string/string.ops/string_compare/size_size_pointer.pass.cpp +++ b/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 #include #include diff --git a/test/std/strings/basic.string/string.ops/string_compare/size_size_pointer_size.pass.cpp b/test/std/strings/basic.string/string.ops/string_compare/size_size_pointer_size.pass.cpp index 75efbadcc..3299943b8 100644 --- a/test/std/strings/basic.string/string.ops/string_compare/size_size_pointer_size.pass.cpp +++ b/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 #include #include diff --git a/test/std/strings/basic.string/string.ops/string_compare/size_size_string.pass.cpp b/test/std/strings/basic.string/string.ops/string_compare/size_size_string.pass.cpp index 55fd82371..80e068162 100644 --- a/test/std/strings/basic.string/string.ops/string_compare/size_size_string.pass.cpp +++ b/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 #include #include diff --git a/test/std/strings/basic.string/string.ops/string_compare/size_size_string_size_size.pass.cpp b/test/std/strings/basic.string/string.ops/string_compare/size_size_string_size_size.pass.cpp index 05ba6ac82..fa7859036 100644 --- a/test/std/strings/basic.string/string.ops/string_compare/size_size_string_size_size.pass.cpp +++ b/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 #include #include diff --git a/test/std/strings/basic.string/string.ops/string_compare/size_size_string_view.pass.cpp b/test/std/strings/basic.string/string.ops/string_compare/size_size_string_view.pass.cpp index 94c73ab31..b313dc0df 100644 --- a/test/std/strings/basic.string/string.ops/string_compare/size_size_string_view.pass.cpp +++ b/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 #include #include diff --git a/test/std/strings/basic.string/string.ops/string_substr/substr.pass.cpp b/test/std/strings/basic.string/string.ops/string_substr/substr.pass.cpp index 27af66e06..b089d8f20 100644 --- a/test/std/strings/basic.string/string.ops/string_substr/substr.pass.cpp +++ b/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 #include #include diff --git a/test/std/strings/string.conversions/stod.pass.cpp b/test/std/strings/string.conversions/stod.pass.cpp index d13b695f2..9456d4e89 100644 --- a/test/std/strings/string.conversions/stod.pass.cpp +++ b/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 #include #include diff --git a/test/std/strings/string.conversions/stoi.pass.cpp b/test/std/strings/string.conversions/stoi.pass.cpp index b3e416331..6f273321d 100644 --- a/test/std/strings/string.conversions/stoi.pass.cpp +++ b/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 #include #include diff --git a/test/std/strings/string.conversions/stold.pass.cpp b/test/std/strings/string.conversions/stold.pass.cpp index 5b21fd0e3..7876440e6 100644 --- a/test/std/strings/string.conversions/stold.pass.cpp +++ b/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 #include diff --git a/test/std/utilities/memory/default.allocator/allocator.members/allocate.size.pass.cpp b/test/std/utilities/memory/default.allocator/allocator.members/allocate.size.pass.cpp index 685e02ef3..459b96ea2 100644 --- a/test/std/utilities/memory/default.allocator/allocator.members/allocate.size.pass.cpp +++ b/test/std/utilities/memory/default.allocator/allocator.members/allocate.size.pass.cpp @@ -12,6 +12,11 @@ // allocator: // pointer allocate(size_type n, allocator::const_pointer hint=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 #include