Skip to content

Commit d145f71

Browse files
authored
[libc++] Bump Xcode support (#148651)
Libc++'s policy is to support only the latest released Xcode, which is Xcode 16.x. We did update our CI jobs to Xcode 16.x, but we forgot to update the documentation, which still mentioned Xcode 15. This patch updates the documentation and cleans up outdated mentions of apple-clang-15 in the test suite.
1 parent 2463309 commit d145f71

File tree

20 files changed

+13
-31
lines changed

20 files changed

+13
-31
lines changed

libcxx/docs/index.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ velocity, libc++ drops support for older compilers as newer ones are released.
133133
Compiler Versions Restrictions Support policy
134134
============ =================== ========================== =====================
135135
Clang 19, 20, 21-git latest two stable releases per `LLVM's release page <https://releases.llvm.org>`_ and the development version
136-
AppleClang 15 latest stable release per `Xcode's release page <https://developer.apple.com/documentation/xcode-release-notes>`_
136+
AppleClang 16.4 latest stable release per `Xcode's release page <https://developer.apple.com/documentation/xcode-release-notes>`_
137137
Open XL 17.1.3 (AIX) latest stable release per `Open XL's documentation page <https://www.ibm.com/docs/en/openxl-c-and-cpp-aix>`_
138138
GCC 15 In C++11 or later only latest stable release per `GCC's release page <https://gcc.gnu.org/releases.html>`_
139139
============ =================== ========================== =====================

libcxx/include/__algorithm/simd_utils.h

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,7 @@ _LIBCPP_PUSH_MACROS
2626
#include <__undef_macros>
2727

2828
// TODO: Find out how altivec changes things and allow vectorizations there too.
29-
// TODO: Simplify this condition once we stop building with AppleClang 15 in the CI.
30-
#if _LIBCPP_STD_VER >= 14 && defined(_LIBCPP_COMPILER_CLANG_BASED) && !defined(__ALTIVEC__) && \
31-
!(defined(_LIBCPP_APPLE_CLANG_VER) && _LIBCPP_APPLE_CLANG_VER < 1600)
29+
#if _LIBCPP_STD_VER >= 14 && defined(_LIBCPP_COMPILER_CLANG_BASED) && !defined(__ALTIVEC__)
3230
# define _LIBCPP_HAS_ALGORITHM_VECTOR_UTILS 1
3331
#else
3432
# define _LIBCPP_HAS_ALGORITHM_VECTOR_UTILS 0

libcxx/include/__configuration/compiler.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
# warning "Libc++ only supports Clang 19 and later"
3838
# endif
3939
# elif defined(_LIBCPP_APPLE_CLANG_VER)
40-
# if _LIBCPP_APPLE_CLANG_VER < 1500
40+
# if _LIBCPP_APPLE_CLANG_VER < 1600
4141
# warning "Libc++ only supports AppleClang 15 and later"
4242
# endif
4343
# elif defined(_LIBCPP_GCC_VER)

libcxx/test/libcxx/algorithms/vectorization.compile.pass.cpp

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,6 @@
1717
// We don't vectorize algorithms on AIX right now.
1818
// XFAIL: target={{.+}}-aix{{.*}}
1919

20-
// We don't vectorize on AppleClang 15 since that apparently breaks std::mismatch
21-
// XFAIL: apple-clang-15
22-
2320
// This test ensures that we enable the vectorization of algorithms on the expected
2421
// platforms.
2522

libcxx/test/libcxx/memory/shared_ptr_array.pass.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
// These compiler versions and platforms don't enable sized deallocation by default.
1313
// ADDITIONAL_COMPILE_FLAGS(clang-17): -fsized-deallocation
1414
// ADDITIONAL_COMPILE_FLAGS(clang-18): -fsized-deallocation
15-
// ADDITIONAL_COMPILE_FLAGS(apple-clang-15): -fsized-deallocation
1615
// ADDITIONAL_COMPILE_FLAGS(apple-clang-16): -fsized-deallocation
1716
// ADDITIONAL_COMPILE_FLAGS(target=x86_64-w64-windows-gnu): -fsized-deallocation
1817
// ADDITIONAL_COMPILE_FLAGS(target=i686-w64-windows-gnu): -fsized-deallocation

libcxx/test/libcxx/vendor/apple/disable-availability.sh.cpp

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,6 @@
88

99
// REQUIRES: stdlib=apple-libc++
1010

11-
// This test is dependent on the code generated by the compiler, and it doesn't
12-
// work properly with older AppleClangs.
13-
// UNSUPPORTED: apple-clang-15
14-
1511
// This test ensures that we retain a way to disable availability markup on Apple platforms
1612
// in order to work around Clang bug https://github.com/llvm/llvm-project/issues/134151.
1713
//

libcxx/test/std/experimental/simd/simd.class/simd_unary.pass.cpp

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,6 @@
1212
// Pass-by-value arguments with alignment greater than register width are not supported.
1313
// XFAIL: target=powerpc{{.*}}-ibm-{{.*}} && clang-18
1414

15-
// This test crashes AppleClang 15 but not later versions.
16-
// UNSUPPORTED: apple-clang-15
17-
1815
// FIXME: The following issue occurs on Windows to Armv7 Ubuntu Linux:
1916
// Assertion failed: N->getValueType(0) == MVT::v1i1 && "Expected v1i1 type"
2017
// XFAIL: target=armv7-unknown-linux-gnueabihf

libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array.pass.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212

1313
// These compiler versions and platforms don't enable sized deallocation by default.
1414
// ADDITIONAL_COMPILE_FLAGS(clang-18): -fsized-deallocation
15-
// ADDITIONAL_COMPILE_FLAGS(apple-clang-15): -fsized-deallocation
1615
// ADDITIONAL_COMPILE_FLAGS(apple-clang-16): -fsized-deallocation
1716
// ADDITIONAL_COMPILE_FLAGS(apple-clang-17): -fsized-deallocation
1817
// ADDITIONAL_COMPILE_FLAGS(target=x86_64-w64-windows-gnu): -fsized-deallocation

libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete.pass.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212

1313
// These compiler versions and platforms don't enable sized deallocation by default.
1414
// ADDITIONAL_COMPILE_FLAGS(clang-18): -fsized-deallocation
15-
// ADDITIONAL_COMPILE_FLAGS(apple-clang-15): -fsized-deallocation
1615
// ADDITIONAL_COMPILE_FLAGS(apple-clang-16): -fsized-deallocation
1716
// ADDITIONAL_COMPILE_FLAGS(apple-clang-17): -fsized-deallocation
1817
// ADDITIONAL_COMPILE_FLAGS(target=x86_64-w64-windows-gnu): -fsized-deallocation

libcxx/test/std/numerics/c.math/signbit.pass.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
// UNSUPPORTED: windows
1313

1414
// These compilers don't support constexpr `__builtin_signbit` yet.
15-
// UNSUPPORTED: clang-18, clang-19, apple-clang-15, apple-clang-16, apple-clang-17
15+
// UNSUPPORTED: clang-18, clang-19, apple-clang-16, apple-clang-17
1616

1717
// GCC warns about signbit comparing `bool_v < 0`, which we're testing
1818
// ADDITIONAL_COMPILE_FLAGS(gcc): -Wno-bool-compare

0 commit comments

Comments
 (0)