[libc++] Mark some tests as unsupported on GCC 5

There used to be a workaround where we'd pretend that GCC 5 didn't support
C++14 because it doesn't implement it properly. Since that workaround has
been removed (in 1eb211ada1), we need to mark a few individual tests as
failing with GCC 5.
This commit is contained in:
Louis Dionne 2020-07-08 11:09:03 -04:00
parent 3f17332aa7
commit a42a58c9ce
20 changed files with 60 additions and 3 deletions

View File

@ -9,6 +9,7 @@
// UNSUPPORTED: c++03, c++11, c++14
// UNSUPPORTED: windows
// UNSUPPORTED: libcpp-has-no-threads
// UNSUPPORTED: libcpp-no-if-constexpr
// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DEBUG=1
// Can't test the system lib because this test enables debug mode

View File

@ -13,9 +13,10 @@
// This test intentionally leaks memory, so it is unsupported under ASAN.
// UNSUPPORTED: asan
// AppleClang9 doesn't yet support C++17's implicitly synthesized deduction
// guides from existing ctors, needed by default_searcher() below.
// AppleClang9 and GCC 5 don't support C++17's implicitly synthesized
// deduction guides from existing ctors, needed by default_searcher() below.
// UNSUPPORTED: apple-clang-9
// UNSUPPORTED: gcc-5
// All entities to which libc++ applies [[nodiscard]] as an extension should
// be tested here and in nodiscard_extensions.fail.cpp. They should also

View File

@ -14,6 +14,11 @@
// RUN: %{cxx} -o %t.exe %t.first.o %t.second.o %{flags} %{link_flags}
// RUN: %{run}
// GCC 5 pretends it supports C++17 features, but some features like static_assert
// without a message are not actually supported. This causes some headers to fail
// when included.
// UNSUPPORTED: gcc-5 && c++17
// Prevent <ext/hash_map> from generating deprecated warnings for this test.
#if defined(__DEPRECATED)
#undef __DEPRECATED

View File

@ -7,6 +7,7 @@
//===----------------------------------------------------------------------===//
// UNSUPPORTED: c++03, c++11
// UNSUPPORTED: gcc-5
// <filesystem>

View File

@ -12,6 +12,9 @@
// target, so this test would fail.
// UNSUPPORTED: apple-clang-9, apple-clang-10
// GCC 5 doesn't support aligned allocation
// UNSUPPORTED: gcc-5
// XFAIL: availability=macosx10.13
// XFAIL: availability=macosx10.12
// XFAIL: availability=macosx10.11

View File

@ -10,6 +10,9 @@
// Test that headers are not tripped up by the surrounding code defining the
// min() and max() macros.
// GCC 5 has incomplete support for C++17, so some headers fail when included.
// UNSUPPORTED: gcc-5 && c++17
// Prevent <ext/hash_map> from generating deprecated warnings for this test.
#if defined(__DEPRECATED)
#undef __DEPRECATED

View File

@ -10,6 +10,9 @@
// Ensure that none of the standard C++ headers implicitly include cassert or
// assert.h (because assert() is implemented as a macro).
// GCC 5 has incomplete support for C++17, so some headers fail when included.
// UNSUPPORTED: gcc-5 && c++17
// Prevent <ext/hash_map> from generating deprecated warnings for this test.
#if defined(__DEPRECATED)
#undef __DEPRECATED

View File

@ -7,6 +7,10 @@
//===----------------------------------------------------------------------===//
// UNSUPPORTED: c++03, c++11, c++14
// This test segfaults GCC 5
// UNSUPPORTED: gcc-5
// <optional>
// optional<T>& operator=(const optional<T>& rhs);

View File

@ -7,6 +7,10 @@
//===----------------------------------------------------------------------===//
// UNSUPPORTED: c++03, c++11, c++14
// This test segfaults GCC 5
// UNSUPPORTED: gcc-5
// <optional>
// optional<T>& operator=(optional<T>&& rhs);

View File

@ -9,6 +9,9 @@
// UNSUPPORTED: c++03, c++11, c++14
// GCC 5 pretends it supports C++17, but it doesn't properly support it
// UNSUPPORTED: gcc-5
// <variant>
// template <class ...Types> class variant;

View File

@ -8,6 +8,10 @@
// <variant>
// GCC 5 pretends it supports C++17, but it doesn't properly support it, and
// <variant> fails.
// UNSUPPORTED: gcc-5
#include <variant>
#include "test_macros.h"

View File

@ -8,6 +8,9 @@
// UNSUPPORTED: c++03, c++11, c++14
// Test failure not investigated on GCC 5.
// UNSUPPORTED: gcc-5
// <algorithm>
// template <class PopulationIterator, class SampleIterator, class Distance,

View File

@ -11,6 +11,10 @@
// trait before that.
// UNSUPPORTED: c++03, c++11, c++14
// libc++ doesn't implement std::is_aggregate on GCC 5 and GCC 6.
// UNSUPPORTED: libc++ && gcc-5
// UNSUPPORTED: libc++ && gcc-6
#include <array>
#include <type_traits>

View File

@ -10,6 +10,9 @@
// reference at (size_type); // constexpr in C++17
// GCC 5 doesn't implement the required constexpr support
// UNSUPPORTED: gcc-5
#include <array>
#include <cassert>

View File

@ -10,6 +10,9 @@
// const_reference at (size_type) const; // constexpr in C++14
// GCC 5 doesn't implement the required constexpr support
// UNSUPPORTED: gcc-5
#include <array>
#include <cassert>

View File

@ -8,6 +8,9 @@
// <array>
// GCC 5 doesn't implement the required constexpr support
// UNSUPPORTED: gcc-5
// An array is a contiguous container
#include <array>

View File

@ -50,7 +50,7 @@ int main(int, char**)
{
constexpr const char *p = "123456789";
constexpr auto iter = std::make_move_iterator<const char *>(p);
static_assert(iter.base() == p);
static_assert(iter.base() == p, "");
}
#endif

View File

@ -17,6 +17,9 @@
//
// constexpr in C++17
// GCC 5 doesn't implement the required constexpr support
// UNSUPPORTED: gcc-5
#include <iterator>
#include <cassert>

View File

@ -17,6 +17,9 @@
//
// constexpr in C++17
// GCC 5 doesn't implement the required constexpr support
// UNSUPPORTED: gcc-5
#include <iterator>
#include <cassert>

View File

@ -17,6 +17,9 @@
//
// constexpr in C++17
// GCC 5 doesn't implement the required constexpr support
// UNSUPPORTED: gcc-5
#include <iterator>
#include <cassert>