Skip to content

[libc++] Remove the CI job testing Clang 15 #66406

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Sep 25, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion libcxx/docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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>`_
Expand Down
16 changes: 2 additions & 14 deletions libcxx/include/__ranges/take_while_view.h
Original file line number Diff line number Diff line change
Expand Up @@ -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>> {
Expand Down Expand Up @@ -87,7 +75,7 @@ class take_while_view : public view_interface<take_while_view<_View, _Pred>> {
}

_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_);
}
Expand All @@ -99,7 +87,7 @@ class take_while_view : public view_interface<take_while_view<_View, _Pred>> {
}

_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_));
}
Expand Down
13 changes: 6 additions & 7 deletions libcxx/include/__ranges/to.h
Original file line number Diff line number Diff line change
Expand Up @@ -44,14 +44,13 @@ _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) {
__c.reserve(__n);
{ __c.capacity() } -> same_as<decltype(__n)>;
{ __c.max_size() } -> same_as<decltype(__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)>;
};

template <class _Container, class _Ref>
constexpr bool __container_insertable = requires(_Container& __c, _Ref&& __ref) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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>
Expand Down
2 changes: 1 addition & 1 deletion libcxx/test/libcxx/gdb/gdb_pretty_printer_test.sh.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
//===----------------------------------------------------------------------===//

// UNSUPPORTED: c++03, c++11, c++14, c++17
// UNSUPPORTED: clang-15

#include <source_location>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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)));

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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)));

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,6 @@
//
//===----------------------------------------------------------------------===//

// Triggers a Clang assertion: llvm.org/PR45879
// UNSUPPORTED: clang-15

// <tuple>

// template <class... Types> class tuple;
Expand Down
19 changes: 0 additions & 19 deletions libcxx/utils/ci/buildkite-pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -289,25 +289,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:
Expand Down