mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-25 18:46:05 +00:00
[libc++] Remove the CI job testing Clang 15 (#66406)
Since LLVM 17 has been branched and is on the verge of being released, we can drop the CI job that tests against Clang 15. I think the number of cherry-picks to `release/17.x` will be a lot smaller now, so keeping a Clang 15 job around for that purpose seems unnecessary. As a fly-by, this patch also removes some Clang 15 workarounds and test suite annotations as we usually do. It also removes some slightly older gcc test suite annotations that were missed.
This commit is contained in:
parent
ea7157ff4f
commit
580d26ae46
@ -116,7 +116,7 @@ velocity, libc++ drops support for older compilers as newer ones are released.
|
||||
============ =============== ========================== =====================
|
||||
Compiler Versions Restrictions Support policy
|
||||
============ =============== ========================== =====================
|
||||
Clang 15, 16, 17-git latest two stable releases per `LLVM's release page <https://releases.llvm.org>`_ and the development version
|
||||
Clang 16, 17, 18-git latest two stable releases per `LLVM's release page <https://releases.llvm.org>`_ and the development version
|
||||
AppleClang 15 latest stable release per `Xcode's release page <https://developer.apple.com/documentation/xcode-release-notes>`_
|
||||
Open XL 17.1 (AIX) latest stable release per `Open XL's documentation page <https://www.ibm.com/docs/en/openxl-c-and-cpp-aix>`_
|
||||
GCC 12 In C++11 or later only latest stable release per `GCC's release page <https://gcc.gnu.org/releases.html>`_
|
||||
|
@ -41,18 +41,6 @@ _LIBCPP_BEGIN_NAMESPACE_STD
|
||||
|
||||
namespace ranges {
|
||||
|
||||
// The spec uses the unnamed requirement inside the `begin` and `end` member functions:
|
||||
// constexpr auto begin() const
|
||||
// requires range<const V> && indirect_unary_predicate<const Pred, iterator_t<const V>>
|
||||
// However, due to a clang-14 and clang-15 bug, the above produces a hard error when `const V` is not a range.
|
||||
// The workaround is to create a named concept and use the concept instead.
|
||||
// As of take_while_view is implemented, the clang-trunk has already fixed the bug.
|
||||
// It is OK to remove the workaround once our CI no longer uses clang-14, clang-15 based compilers,
|
||||
// because we don't actually expect a lot of vendors to ship a new libc++ with an old clang.
|
||||
template <class _View, class _Pred>
|
||||
concept __take_while_const_is_range =
|
||||
range<const _View> && indirect_unary_predicate<const _Pred, iterator_t<const _View>>;
|
||||
|
||||
template <view _View, class _Pred>
|
||||
requires input_range<_View> && is_object_v<_Pred> && indirect_unary_predicate<const _Pred, iterator_t<_View>>
|
||||
class take_while_view : public view_interface<take_while_view<_View, _Pred>> {
|
||||
@ -87,7 +75,7 @@ public:
|
||||
}
|
||||
|
||||
_LIBCPP_HIDE_FROM_ABI constexpr auto begin() const
|
||||
requires __take_while_const_is_range<_View, _Pred>
|
||||
requires range<const _View> && indirect_unary_predicate<const _Pred, iterator_t<const _View>>
|
||||
{
|
||||
return ranges::begin(__base_);
|
||||
}
|
||||
@ -99,7 +87,7 @@ public:
|
||||
}
|
||||
|
||||
_LIBCPP_HIDE_FROM_ABI constexpr auto end() const
|
||||
requires __take_while_const_is_range<_View, _Pred>
|
||||
requires range<const _View> && indirect_unary_predicate<const _Pred, iterator_t<const _View>>
|
||||
{
|
||||
return __sentinel</*_Const=*/true>(ranges::end(__base_), std::addressof(*__pred_));
|
||||
}
|
||||
|
@ -44,10 +44,9 @@ _LIBCPP_BEGIN_NAMESPACE_STD
|
||||
|
||||
namespace ranges {
|
||||
|
||||
// TODO(clang-15): in the Standard, it's a `constexpr bool` variable, not a concept, but constexpr variables don't
|
||||
// short-circuit properly on Clang 15 (fixed in later versions), so use a concept as a workaround.
|
||||
template <class _Container>
|
||||
concept __reservable_container = sized_range<_Container> && requires(_Container& __c, range_size_t<_Container> __n) {
|
||||
constexpr bool __reservable_container =
|
||||
sized_range<_Container> && requires(_Container& __c, range_size_t<_Container> __n) {
|
||||
__c.reserve(__n);
|
||||
{ __c.capacity() } -> same_as<decltype(__n)>;
|
||||
{ __c.max_size() } -> same_as<decltype(__n)>;
|
||||
|
@ -12,10 +12,6 @@
|
||||
// GCC does not support the -fexperimental-library flag
|
||||
// UNSUPPORTED: gcc
|
||||
|
||||
// Clang on AIX currently pretends that it is Clang 15, even though it is not (as of writing
|
||||
// this, LLVM 15 hasn't even been branched yet).
|
||||
// UNSUPPORTED: clang-15 && buildhost=aix
|
||||
|
||||
// ADDITIONAL_COMPILE_FLAGS: -fexperimental-library
|
||||
|
||||
#include <version>
|
||||
|
@ -12,7 +12,7 @@
|
||||
// UNSUPPORTED: c++03
|
||||
|
||||
// TODO: Investigate these failures which break the CI.
|
||||
// UNSUPPORTED: clang-15, clang-16, clang-17, clang-18
|
||||
// UNSUPPORTED: clang-16, clang-17, clang-18
|
||||
|
||||
// TODO: Investigate this failure on GCC 13 (in Ubuntu Jammy)
|
||||
// UNSUPPORTED: gcc-13
|
||||
|
@ -19,7 +19,7 @@
|
||||
|
||||
// XFAIL: sanitizer-new-delete && !hwasan
|
||||
|
||||
// It fails with clang-14 or clang-16, but passes with clang-15.
|
||||
// TODO: Investigate this failure
|
||||
// UNSUPPORTED: ubsan
|
||||
|
||||
// GCC doesn't support the aligned-allocation flags.
|
||||
|
@ -38,7 +38,7 @@
|
||||
#include "../ConvertibleToIntegral.h"
|
||||
#include "CustomTestLayouts.h"
|
||||
|
||||
// Clang 15 and 16 do not support argument packs as input to operator []
|
||||
// Clang 16 does not support argument packs as input to operator []
|
||||
#if defined(__clang_major__) && __clang_major__ < 17
|
||||
template <class MDS>
|
||||
constexpr auto& access(MDS mds) {
|
||||
|
@ -7,7 +7,6 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
// UNSUPPORTED: c++03, c++11, c++14, c++17
|
||||
// UNSUPPORTED: clang-15
|
||||
|
||||
#include <source_location>
|
||||
|
||||
|
@ -6,9 +6,6 @@
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
// This test is hitting Clang bugs with LSV in older versions of Clang.
|
||||
// UNSUPPORTED: clang-modules-build && clang-15
|
||||
|
||||
// UNSUPPORTED: c++03, c++11, c++14, c++17
|
||||
|
||||
// constexpr iterator_t<V> operator->() const
|
||||
|
@ -8,7 +8,6 @@
|
||||
|
||||
// UNSUPPORTED: no-threads
|
||||
// UNSUPPORTED: c++03, c++11, c++14, c++17, c++20
|
||||
// XFAIL: clang-15
|
||||
|
||||
// checks that CTAD for std::packaged_task works properly with static operator() overloads
|
||||
|
||||
|
@ -6,8 +6,6 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
// UNSUPPORTED: c++03, c++11, c++14, c++17, c++20
|
||||
// Older Clangs do not support the C++20 feature to constrain destructors
|
||||
// XFAIL: clang-15
|
||||
|
||||
// friend constexpr void swap(expected& x, expected& y) noexcept(noexcept(x.swap(y)));
|
||||
|
||||
|
@ -6,8 +6,6 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
// UNSUPPORTED: c++03, c++11, c++14, c++17, c++20
|
||||
// Older Clangs do not support the C++20 feature to constrain destructors
|
||||
// XFAIL: clang-15
|
||||
|
||||
// friend constexpr void swap(expected& x, expected& y) noexcept(noexcept(swap(x,y)));
|
||||
|
||||
|
@ -7,7 +7,6 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
// UNSUPPORTED: c++03, c++11, c++14, c++17, c++20
|
||||
// XFAIL: clang-15
|
||||
|
||||
// checks that CTAD for std::function works properly with static operator() overloads
|
||||
|
||||
|
@ -6,9 +6,6 @@
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
// Triggers a Clang assertion: llvm.org/PR45879
|
||||
// UNSUPPORTED: clang-15
|
||||
|
||||
// <tuple>
|
||||
|
||||
// template <class... Types> class tuple;
|
||||
|
@ -271,25 +271,6 @@ steps:
|
||||
limit: 2
|
||||
timeout_in_minutes: 120
|
||||
|
||||
- label: "Clang 15"
|
||||
command: "libcxx/utils/ci/run-buildbot generic-cxx23"
|
||||
artifact_paths:
|
||||
- "**/test-results.xml"
|
||||
- "**/*.abilist"
|
||||
env:
|
||||
CC: "clang-15"
|
||||
CXX: "clang++-15"
|
||||
ENABLE_CLANG_TIDY: "On"
|
||||
ENABLE_STD_MODULES: "Off"
|
||||
agents:
|
||||
queue: "libcxx-builders"
|
||||
os: "linux"
|
||||
retry:
|
||||
automatic:
|
||||
- exit_status: -1 # Agent was lost
|
||||
limit: 2
|
||||
timeout_in_minutes: 120
|
||||
|
||||
- label: "Clang 16"
|
||||
command: "libcxx/utils/ci/run-buildbot generic-cxx23"
|
||||
artifact_paths:
|
||||
|
Loading…
x
Reference in New Issue
Block a user