diff --git a/libcxx/test/std/experimental/simd/simd.access/default.pass.cpp b/libcxx/test/std/experimental/simd/simd.access/default.pass.cpp --- 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 @@ 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 @@ 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 --- 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 --- 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 --- a/libcxx/test/support/filesystem_test_helper.h +++ b/libcxx/test/support/filesystem_test_helper.h @@ -184,7 +184,9 @@ 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 --- 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 --- 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 --- 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 --- 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