From 25838c6dacca8203b4478ac2c16e563b51c3708b Mon Sep 17 00:00:00 2001 From: Louis Dionne Date: Wed, 27 Feb 2019 00:57:57 +0000 Subject: [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 --- .../string.modifiers/string_replace/size_size_T_size_size.pass.cpp | 5 +++++ .../string.modifiers/string_replace/size_size_pointer.pass.cpp | 5 +++++ .../string.modifiers/string_replace/size_size_pointer_size.pass.cpp | 5 +++++ .../string.modifiers/string_replace/size_size_size_char.pass.cpp | 5 +++++ .../string.modifiers/string_replace/size_size_string.pass.cpp | 5 +++++ .../string_replace/size_size_string_size_size.pass.cpp | 5 +++++ .../string.modifiers/string_replace/size_size_string_view.pass.cpp | 5 +++++ 7 files changed, 35 insertions(+) (limited to 'libcxx/test/std/strings/basic.string/string.modifiers/string_replace') 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 #include #include 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& // 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/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& // 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/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& // 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/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& // 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/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 #include #include 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& // 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 -- cgit v1.2.3