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.ops/string_compare/size_size_pointer.pass.cpp | 5 +++++ .../string.ops/string_compare/size_size_pointer_size.pass.cpp | 5 +++++ .../basic.string/string.ops/string_compare/size_size_string.pass.cpp | 5 +++++ .../string.ops/string_compare/size_size_string_size_size.pass.cpp | 5 +++++ .../string.ops/string_compare/size_size_string_view.pass.cpp | 5 +++++ .../strings/basic.string/string.ops/string_substr/substr.pass.cpp | 5 +++++ 6 files changed, 30 insertions(+) (limited to 'libcxx/test/std/strings/basic.string/string.ops') 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 #include #include 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 #include #include 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 #include #include 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 #include #include 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 #include #include 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 #include #include -- cgit v1.2.3