From dde0fcd7a7da4066c18ab5e73e0477e856da158f Mon Sep 17 00:00:00 2001 From: Marek Kurdej Date: Thu, 26 Nov 2020 08:58:44 +0100 Subject: [PATCH] [libc++] [libc++abi] Mark a few tests as unsupported/xfail on gcc-7/8/9. This should make the builder http://lab.llvm.org:8011/#/builders/101/ happy. It uses gcc-9 and not Tip-Of-Trunk as its name indicates BTW. GCC-10 passes all these tests. Fix gcc warnings: -Wsign-compare, -Wparentheses, -Wpragmas. Reviewed By: ldionne, #libc, #libc_abi Differential Revision: https://reviews.llvm.org/D92099 --- .../experimental/simd/simd.access/default.pass.cpp | 24 +++++++++++----------- .../string.cons/string_view_deduction.fail.cpp | 1 + .../string_view_size_size_deduction.fail.cpp | 1 + libcxx/test/support/filesystem_test_helper.h | 4 +++- libcxxabi/test/dynamic_cast.pass.cpp | 4 +++- libcxxabi/test/dynamic_cast3.pass.cpp | 4 +++- libcxxabi/test/dynamic_cast5.pass.cpp | 4 +++- libcxxabi/test/unwind_06.pass.cpp | 2 +- 8 files changed, 27 insertions(+), 17 deletions(-) diff --git a/libcxx/test/std/experimental/simd/simd.access/default.pass.cpp b/libcxx/test/std/experimental/simd/simd.access/default.pass.cpp index 1bc1500..2ca5ec4 100644 --- a/libcxx/test/std/experimental/simd/simd.access/default.pass.cpp +++ b/libcxx/test/std/experimental/simd/simd.access/default.pass.cpp @@ -40,12 +40,12 @@ void test_access() { assert(a[0] % b[0] == 42 % 4); assert(a[0] << b[0] == (42 << 4)); assert(a[0] >> b[0] == (42 >> 4)); - assert(a[0] < b[0] == false); - assert(a[0] <= b[0] == false); - assert(a[0] > b[0] == true); - assert(a[0] >= b[0] == true); - assert(a[0] == b[0] == false); - assert(a[0] != b[0] == true); + assert((a[0] < b[0]) == false); + assert((a[0] <= b[0]) == false); + assert((a[0] > b[0]) == true); + assert((a[0] >= b[0]) == true); + assert((a[0] == b[0]) == false); + assert((a[0] != b[0]) == true); assert((a[0] & b[0]) == (42 & 4)); assert((a[0] | b[0]) == (42 | 4)); assert((a[0] ^ b[0]) == (42 ^ 4)); @@ -198,12 +198,12 @@ void test_access() { assert(a[0] % b[0] == 42 % 4); assert(a[0] << b[0] == (42 << 4)); assert(a[0] >> b[0] == (42 >> 4)); - assert(a[0] < b[0] == false); - assert(a[0] <= b[0] == false); - assert(a[0] > b[0] == true); - assert(a[0] >= b[0] == true); - assert(a[0] == b[0] == false); - assert(a[0] != b[0] == true); + assert((a[0] < b[0]) == false); + assert((a[0] <= b[0]) == false); + assert((a[0] > b[0]) == true); + assert((a[0] >= b[0]) == true); + assert((a[0] == b[0]) == false); + assert((a[0] != b[0]) == true); assert((a[0] & b[0]) == (42 & 4)); assert((a[0] | b[0]) == (42 | 4)); assert((a[0] ^ b[0]) == (42 ^ 4)); diff --git a/libcxx/test/std/strings/basic.string/string.cons/string_view_deduction.fail.cpp b/libcxx/test/std/strings/basic.string/string.cons/string_view_deduction.fail.cpp index 1fa2ee0..aa4c455 100644 --- a/libcxx/test/std/strings/basic.string/string.cons/string_view_deduction.fail.cpp +++ b/libcxx/test/std/strings/basic.string/string.cons/string_view_deduction.fail.cpp @@ -8,6 +8,7 @@ // // UNSUPPORTED: c++03, c++11, c++14 +// UNSUPPORTED: gcc-7 // XFAIL: libcpp-no-deduction-guides // template diff --git a/libcxx/test/std/strings/basic.string/string.cons/string_view_size_size_deduction.fail.cpp b/libcxx/test/std/strings/basic.string/string.cons/string_view_size_size_deduction.fail.cpp index 07c9002..d7a8868 100644 --- a/libcxx/test/std/strings/basic.string/string.cons/string_view_size_size_deduction.fail.cpp +++ b/libcxx/test/std/strings/basic.string/string.cons/string_view_size_size_deduction.fail.cpp @@ -8,6 +8,7 @@ // // UNSUPPORTED: c++03, c++11, c++14 +// UNSUPPORTED: gcc-7 // XFAIL: libcpp-no-deduction-guides // template diff --git a/libcxx/test/support/filesystem_test_helper.h b/libcxx/test/support/filesystem_test_helper.h index 840c6aa..ad7ade3 100644 --- a/libcxx/test/support/filesystem_test_helper.h +++ b/libcxx/test/support/filesystem_test_helper.h @@ -184,7 +184,9 @@ struct scoped_test_env filename = sanitize_path(std::move(filename)); - if (size > std::numeric_limits::max()) { + if (size > + static_cast::type>( + std::numeric_limits::max())) { fprintf(stderr, "create_file(%s, %ju) too large\n", filename.c_str(), size); abort(); diff --git a/libcxxabi/test/dynamic_cast.pass.cpp b/libcxxabi/test/dynamic_cast.pass.cpp index 49ecddb..c1a5980 100644 --- a/libcxxabi/test/dynamic_cast.pass.cpp +++ b/libcxxabi/test/dynamic_cast.pass.cpp @@ -6,13 +6,15 @@ // //===----------------------------------------------------------------------===// +// XFAIL: gcc-7, gcc-8, gcc-9 + #include // This test explicitly tests dynamic cast with types that have inaccessible // bases. #if defined(__clang__) # pragma clang diagnostic ignored "-Winaccessible-base" -#elif defined(__GNUC__) +#elif defined(__GNUC__) && (__GNUC__ >= 10) # pragma GCC diagnostic ignored "-Winaccessible-base" #endif diff --git a/libcxxabi/test/dynamic_cast3.pass.cpp b/libcxxabi/test/dynamic_cast3.pass.cpp index 9c25cac..2364f4c 100644 --- a/libcxxabi/test/dynamic_cast3.pass.cpp +++ b/libcxxabi/test/dynamic_cast3.pass.cpp @@ -6,6 +6,8 @@ // //===----------------------------------------------------------------------===// +// XFAIL: gcc-7, gcc-8, gcc-9 + #include #include "support/timer.h" @@ -13,7 +15,7 @@ // bases. #if defined(__clang__) # pragma clang diagnostic ignored "-Winaccessible-base" -#elif defined(__GNUC__) +#elif defined(__GNUC__) && (__GNUC__ >= 10) # pragma GCC diagnostic ignored "-Winaccessible-base" #endif diff --git a/libcxxabi/test/dynamic_cast5.pass.cpp b/libcxxabi/test/dynamic_cast5.pass.cpp index 0a9689c..357bb80 100644 --- a/libcxxabi/test/dynamic_cast5.pass.cpp +++ b/libcxxabi/test/dynamic_cast5.pass.cpp @@ -6,6 +6,8 @@ // //===----------------------------------------------------------------------===// +// XFAIL: gcc-7, gcc-8, gcc-9 + #include #include "support/timer.h" @@ -13,7 +15,7 @@ // bases. #if defined(__clang__) # pragma clang diagnostic ignored "-Winaccessible-base" -#elif defined(__GNUC__) +#elif defined(__GNUC__) && (__GNUC__ >= 10) # pragma GCC diagnostic ignored "-Winaccessible-base" #endif diff --git a/libcxxabi/test/unwind_06.pass.cpp b/libcxxabi/test/unwind_06.pass.cpp index 0c34c49..f8e9f89 100644 --- a/libcxxabi/test/unwind_06.pass.cpp +++ b/libcxxabi/test/unwind_06.pass.cpp @@ -14,7 +14,7 @@ #include // Suppress diagnostics about deprecated volatile operations -#if defined(__GNUC__) && !defined(__clang__) +#if defined(__GNUC__) && (__GNUC__ >= 10) && !defined(__clang__) # pragma GCC diagnostic ignored "-Wvolatile" #endif -- 2.7.4