From 97c0b0c40a605486da1f465ba2706c901a0a00ec Mon Sep 17 00:00:00 2001 From: crueter Date: Fri, 8 May 2026 15:49:47 -0400 Subject: [PATCH] [upstream_utils] Patch LLVM SmallSetIterator for AppleClang 21 (#8877) Signed-off-by: crueter --- ...move-StringRef-ArrayRef-and-Optional.patch | 2 +- ...-calls-in-parens-for-Windows-warning.patch | 2 +- ...-Change-unique_function-storage-size.patch | 2 +- .../llvm_patches/0004-Threading-updates.patch | 2 +- .../0005-ifdef-guard-safety.patch | 2 +- .../0006-Explicitly-use-std.patch | 2 +- .../0007-Remove-format_provider.patch | 2 +- .../0008-Add-compiler-warning-pragmas.patch | 2 +- .../0009-Remove-unused-functions.patch | 2 +- .../0010-Detemplatize-SmallVectorBase.patch | 2 +- .../0011-Add-vectors-to-raw_ostream.patch | 2 +- .../0012-Delete-numbers-from-MathExtras.patch | 2 +- .../llvm_patches/0013-Add-lerp-and-sgn.patch | 2 +- .../llvm_patches/0014-Fixup-includes.patch | 2 +- ...-std-is_trivially_copy_constructible.patch | 2 +- .../llvm_patches/0016-Windows-support.patch | 2 +- ...17-Remove-call-to-RtlGetLastNtStatus.patch | 2 +- .../llvm_patches/0018-Prefer-fmtlib.patch | 2 +- .../llvm_patches/0019-Prefer-wpi-s-fs.h.patch | 2 +- .../0020-Remove-unused-functions.patch | 2 +- .../0021-OS-specific-changes.patch | 2 +- ...2-Use-SmallVector-for-UTF-conversion.patch | 2 +- ...o-use-static-pointers-in-raw_ostream.patch | 2 +- .../0024-constexpr-endian-byte-swap.patch | 2 +- ...-from-STLExtras.h-into-PointerUnion..patch | 2 +- ...0026-Unused-variable-in-release-mode.patch | 2 +- .../0027-Use-C-20-bit-header.patch | 2 +- ...8-Remove-DenseMap-GTest-printer-test.patch | 2 +- ...-raw_ostream-Add-SetNumBytesInBuffer.patch | 2 +- ...raw_ostream-Replace-errnoAsErrorCode.patch | 2 +- .../0031-type_traits.h-Add-is_constexpr.patch | 2 +- ...ove-auto-conversion-from-raw_ostream.patch | 2 +- .../0033-Add-SmallVector-erase_if.patch | 2 +- ...4-Fix-AlignedCharArrayUnion-for-C-23.patch | 2 +- ...5-Fix-minIntN-and-maxIntN-assertions.patch | 2 +- ...crement-operator-to-SmallSetIterator.patch | 27 +++++++++++++++++++ .../llvm/include/wpi/util/SmallSet.hpp | 6 +++++ 37 files changed, 68 insertions(+), 35 deletions(-) create mode 100644 upstream_utils/llvm_patches/0036-Add-postincrement-operator-to-SmallSetIterator.patch diff --git a/upstream_utils/llvm_patches/0001-Remove-StringRef-ArrayRef-and-Optional.patch b/upstream_utils/llvm_patches/0001-Remove-StringRef-ArrayRef-and-Optional.patch index e9f00f7c46..15328b3885 100644 --- a/upstream_utils/llvm_patches/0001-Remove-StringRef-ArrayRef-and-Optional.patch +++ b/upstream_utils/llvm_patches/0001-Remove-StringRef-ArrayRef-and-Optional.patch @@ -1,7 +1,7 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: PJ Reiniger Date: Sat, 7 May 2022 22:09:18 -0400 -Subject: [PATCH 01/35] Remove StringRef, ArrayRef, and Optional +Subject: [PATCH 01/36] Remove StringRef, ArrayRef, and Optional --- llvm/include/llvm/ADT/PointerUnion.h | 1 - diff --git a/upstream_utils/llvm_patches/0002-Wrap-std-min-max-calls-in-parens-for-Windows-warning.patch b/upstream_utils/llvm_patches/0002-Wrap-std-min-max-calls-in-parens-for-Windows-warning.patch index 2a4080aecf..02d082e28a 100644 --- a/upstream_utils/llvm_patches/0002-Wrap-std-min-max-calls-in-parens-for-Windows-warning.patch +++ b/upstream_utils/llvm_patches/0002-Wrap-std-min-max-calls-in-parens-for-Windows-warning.patch @@ -1,7 +1,7 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: PJ Reiniger Date: Sat, 7 May 2022 22:12:41 -0400 -Subject: [PATCH 02/35] Wrap std::min/max calls in parens, for Windows warnings +Subject: [PATCH 02/36] Wrap std::min/max calls in parens, for Windows warnings --- llvm/include/llvm/ADT/DenseMap.h | 4 ++-- diff --git a/upstream_utils/llvm_patches/0003-Change-unique_function-storage-size.patch b/upstream_utils/llvm_patches/0003-Change-unique_function-storage-size.patch index 3c11dbd1ab..985b49e352 100644 --- a/upstream_utils/llvm_patches/0003-Change-unique_function-storage-size.patch +++ b/upstream_utils/llvm_patches/0003-Change-unique_function-storage-size.patch @@ -1,7 +1,7 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: PJ Reiniger Date: Sat, 7 May 2022 22:13:55 -0400 -Subject: [PATCH 03/35] Change unique_function storage size +Subject: [PATCH 03/36] Change unique_function storage size --- llvm/include/llvm/ADT/FunctionExtras.h | 4 ++-- diff --git a/upstream_utils/llvm_patches/0004-Threading-updates.patch b/upstream_utils/llvm_patches/0004-Threading-updates.patch index b85bf093b1..cd00f749f5 100644 --- a/upstream_utils/llvm_patches/0004-Threading-updates.patch +++ b/upstream_utils/llvm_patches/0004-Threading-updates.patch @@ -1,7 +1,7 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: PJ Reiniger Date: Sat, 7 May 2022 22:17:19 -0400 -Subject: [PATCH 04/35] Threading updates +Subject: [PATCH 04/36] Threading updates - Remove guards for threads and exception - Prefer scope gaurd over lock gaurd diff --git a/upstream_utils/llvm_patches/0005-ifdef-guard-safety.patch b/upstream_utils/llvm_patches/0005-ifdef-guard-safety.patch index ae5adaa181..3ef68089e0 100644 --- a/upstream_utils/llvm_patches/0005-ifdef-guard-safety.patch +++ b/upstream_utils/llvm_patches/0005-ifdef-guard-safety.patch @@ -1,7 +1,7 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: PJ Reiniger Date: Sat, 7 May 2022 22:28:13 -0400 -Subject: [PATCH 05/35] \#ifdef guard safety +Subject: [PATCH 05/36] \#ifdef guard safety Prevents redefinition if someone is pulling in real LLVM, since the macros are in global namespace --- diff --git a/upstream_utils/llvm_patches/0006-Explicitly-use-std.patch b/upstream_utils/llvm_patches/0006-Explicitly-use-std.patch index 42405fb106..7cdf6d48d8 100644 --- a/upstream_utils/llvm_patches/0006-Explicitly-use-std.patch +++ b/upstream_utils/llvm_patches/0006-Explicitly-use-std.patch @@ -1,7 +1,7 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: PJ Reiniger Date: Sat, 7 May 2022 22:37:34 -0400 -Subject: [PATCH 06/35] Explicitly use std:: +Subject: [PATCH 06/36] Explicitly use std:: --- llvm/include/llvm/ADT/SmallSet.h | 2 +- diff --git a/upstream_utils/llvm_patches/0007-Remove-format_provider.patch b/upstream_utils/llvm_patches/0007-Remove-format_provider.patch index 2e35494be2..6283d65222 100644 --- a/upstream_utils/llvm_patches/0007-Remove-format_provider.patch +++ b/upstream_utils/llvm_patches/0007-Remove-format_provider.patch @@ -1,7 +1,7 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: PJ Reiniger Date: Sat, 7 May 2022 22:53:50 -0400 -Subject: [PATCH 07/35] Remove format_provider +Subject: [PATCH 07/36] Remove format_provider --- llvm/include/llvm/Support/Chrono.h | 114 ------------------------ diff --git a/upstream_utils/llvm_patches/0008-Add-compiler-warning-pragmas.patch b/upstream_utils/llvm_patches/0008-Add-compiler-warning-pragmas.patch index b597ba5a4e..374c92a4f0 100644 --- a/upstream_utils/llvm_patches/0008-Add-compiler-warning-pragmas.patch +++ b/upstream_utils/llvm_patches/0008-Add-compiler-warning-pragmas.patch @@ -1,7 +1,7 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: PJ Reiniger Date: Sun, 8 May 2022 13:34:07 -0400 -Subject: [PATCH 08/35] Add compiler warning pragmas +Subject: [PATCH 08/36] Add compiler warning pragmas --- llvm/include/llvm/ADT/FunctionExtras.h | 11 +++++++++++ diff --git a/upstream_utils/llvm_patches/0009-Remove-unused-functions.patch b/upstream_utils/llvm_patches/0009-Remove-unused-functions.patch index cabe680419..6908a9164d 100644 --- a/upstream_utils/llvm_patches/0009-Remove-unused-functions.patch +++ b/upstream_utils/llvm_patches/0009-Remove-unused-functions.patch @@ -1,7 +1,7 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: PJ Reiniger Date: Sun, 8 May 2022 13:43:50 -0400 -Subject: [PATCH 09/35] Remove unused functions +Subject: [PATCH 09/36] Remove unused functions --- llvm/include/llvm/ADT/SmallString.h | 77 ------ diff --git a/upstream_utils/llvm_patches/0010-Detemplatize-SmallVectorBase.patch b/upstream_utils/llvm_patches/0010-Detemplatize-SmallVectorBase.patch index beea0fb91a..e6828a33ae 100644 --- a/upstream_utils/llvm_patches/0010-Detemplatize-SmallVectorBase.patch +++ b/upstream_utils/llvm_patches/0010-Detemplatize-SmallVectorBase.patch @@ -1,7 +1,7 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: PJ Reiniger Date: Thu, 5 May 2022 23:18:34 -0400 -Subject: [PATCH 10/35] Detemplatize SmallVectorBase +Subject: [PATCH 10/36] Detemplatize SmallVectorBase --- llvm/include/llvm/ADT/SmallVector.h | 35 ++++++++++------------------- diff --git a/upstream_utils/llvm_patches/0011-Add-vectors-to-raw_ostream.patch b/upstream_utils/llvm_patches/0011-Add-vectors-to-raw_ostream.patch index 606f5a38b2..0d91c3692e 100644 --- a/upstream_utils/llvm_patches/0011-Add-vectors-to-raw_ostream.patch +++ b/upstream_utils/llvm_patches/0011-Add-vectors-to-raw_ostream.patch @@ -1,7 +1,7 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: PJ Reiniger Date: Sun, 8 May 2022 13:48:59 -0400 -Subject: [PATCH 11/35] Add vectors to raw_ostream +Subject: [PATCH 11/36] Add vectors to raw_ostream --- llvm/include/llvm/Support/raw_ostream.h | 115 ++++++++++++++++++++++++ diff --git a/upstream_utils/llvm_patches/0012-Delete-numbers-from-MathExtras.patch b/upstream_utils/llvm_patches/0012-Delete-numbers-from-MathExtras.patch index 3f45e36062..11c6f92250 100644 --- a/upstream_utils/llvm_patches/0012-Delete-numbers-from-MathExtras.patch +++ b/upstream_utils/llvm_patches/0012-Delete-numbers-from-MathExtras.patch @@ -1,7 +1,7 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: PJ Reiniger Date: Thu, 5 May 2022 18:09:45 -0400 -Subject: [PATCH 12/35] Delete numbers from MathExtras +Subject: [PATCH 12/36] Delete numbers from MathExtras --- llvm/include/llvm/Support/MathExtras.h | 37 -------------------------- diff --git a/upstream_utils/llvm_patches/0013-Add-lerp-and-sgn.patch b/upstream_utils/llvm_patches/0013-Add-lerp-and-sgn.patch index a54ee556c1..f12db73d89 100644 --- a/upstream_utils/llvm_patches/0013-Add-lerp-and-sgn.patch +++ b/upstream_utils/llvm_patches/0013-Add-lerp-and-sgn.patch @@ -1,7 +1,7 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: PJ Reiniger Date: Tue, 3 May 2022 22:50:24 -0400 -Subject: [PATCH 13/35] Add lerp and sgn +Subject: [PATCH 13/36] Add lerp and sgn --- llvm/include/llvm/Support/MathExtras.h | 21 +++++++++++++++++++++ diff --git a/upstream_utils/llvm_patches/0014-Fixup-includes.patch b/upstream_utils/llvm_patches/0014-Fixup-includes.patch index 5ac28d831b..782c99f9f6 100644 --- a/upstream_utils/llvm_patches/0014-Fixup-includes.patch +++ b/upstream_utils/llvm_patches/0014-Fixup-includes.patch @@ -1,7 +1,7 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: PJ Reiniger Date: Sun, 8 May 2022 16:38:11 -0400 -Subject: [PATCH 14/35] Fixup includes +Subject: [PATCH 14/36] Fixup includes --- llvm/include/llvm/Support/PointerLikeTypeTraits.h | 1 + diff --git a/upstream_utils/llvm_patches/0015-Use-std-is_trivially_copy_constructible.patch b/upstream_utils/llvm_patches/0015-Use-std-is_trivially_copy_constructible.patch index 729298be2d..a6d3b6b564 100644 --- a/upstream_utils/llvm_patches/0015-Use-std-is_trivially_copy_constructible.patch +++ b/upstream_utils/llvm_patches/0015-Use-std-is_trivially_copy_constructible.patch @@ -1,7 +1,7 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: PJ Reiniger Date: Sun, 8 May 2022 16:42:09 -0400 -Subject: [PATCH 15/35] Use std::is_trivially_copy_constructible +Subject: [PATCH 15/36] Use std::is_trivially_copy_constructible --- llvm/include/llvm/Support/type_traits.h | 16 ---------------- diff --git a/upstream_utils/llvm_patches/0016-Windows-support.patch b/upstream_utils/llvm_patches/0016-Windows-support.patch index 98623d2b7c..37fbb9fe78 100644 --- a/upstream_utils/llvm_patches/0016-Windows-support.patch +++ b/upstream_utils/llvm_patches/0016-Windows-support.patch @@ -1,7 +1,7 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: PJ Reiniger Date: Tue, 3 May 2022 20:22:38 -0400 -Subject: [PATCH 16/35] Windows support +Subject: [PATCH 16/36] Windows support --- .../llvm/Support/Windows/WindowsSupport.h | 45 +++++---- diff --git a/upstream_utils/llvm_patches/0017-Remove-call-to-RtlGetLastNtStatus.patch b/upstream_utils/llvm_patches/0017-Remove-call-to-RtlGetLastNtStatus.patch index 7ed4a34807..464aa619be 100644 --- a/upstream_utils/llvm_patches/0017-Remove-call-to-RtlGetLastNtStatus.patch +++ b/upstream_utils/llvm_patches/0017-Remove-call-to-RtlGetLastNtStatus.patch @@ -1,7 +1,7 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Tyler Veness Date: Tue, 17 Sep 2024 21:19:52 -0700 -Subject: [PATCH 17/35] Remove call to RtlGetLastNtStatus() +Subject: [PATCH 17/36] Remove call to RtlGetLastNtStatus() --- llvm/lib/Support/ErrorHandling.cpp | 23 ----------------------- diff --git a/upstream_utils/llvm_patches/0018-Prefer-fmtlib.patch b/upstream_utils/llvm_patches/0018-Prefer-fmtlib.patch index 0394d68c6d..e53716bbbe 100644 --- a/upstream_utils/llvm_patches/0018-Prefer-fmtlib.patch +++ b/upstream_utils/llvm_patches/0018-Prefer-fmtlib.patch @@ -1,7 +1,7 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: PJ Reiniger Date: Sun, 8 May 2022 16:46:20 -0400 -Subject: [PATCH 18/35] Prefer fmtlib +Subject: [PATCH 18/36] Prefer fmtlib --- llvm/lib/Support/ErrorHandling.cpp | 20 ++++++-------------- diff --git a/upstream_utils/llvm_patches/0019-Prefer-wpi-s-fs.h.patch b/upstream_utils/llvm_patches/0019-Prefer-wpi-s-fs.h.patch index b1d4b9806f..525783096b 100644 --- a/upstream_utils/llvm_patches/0019-Prefer-wpi-s-fs.h.patch +++ b/upstream_utils/llvm_patches/0019-Prefer-wpi-s-fs.h.patch @@ -1,7 +1,7 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: PJ Reiniger Date: Sun, 8 May 2022 16:49:36 -0400 -Subject: [PATCH 19/35] Prefer wpi's fs.h +Subject: [PATCH 19/36] Prefer wpi's fs.h --- llvm/include/llvm/Support/raw_ostream.h | 7 ++----- diff --git a/upstream_utils/llvm_patches/0020-Remove-unused-functions.patch b/upstream_utils/llvm_patches/0020-Remove-unused-functions.patch index 9671927f6c..71ba8b94af 100644 --- a/upstream_utils/llvm_patches/0020-Remove-unused-functions.patch +++ b/upstream_utils/llvm_patches/0020-Remove-unused-functions.patch @@ -1,7 +1,7 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: PJ Reiniger Date: Sun, 8 May 2022 19:16:51 -0400 -Subject: [PATCH 20/35] Remove unused functions +Subject: [PATCH 20/36] Remove unused functions --- llvm/include/llvm/Support/VersionTuple.h | 1 - diff --git a/upstream_utils/llvm_patches/0021-OS-specific-changes.patch b/upstream_utils/llvm_patches/0021-OS-specific-changes.patch index 50f569a03a..190274bbd0 100644 --- a/upstream_utils/llvm_patches/0021-OS-specific-changes.patch +++ b/upstream_utils/llvm_patches/0021-OS-specific-changes.patch @@ -1,7 +1,7 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: PJ Reiniger Date: Sun, 8 May 2022 19:30:43 -0400 -Subject: [PATCH 21/35] OS-specific changes +Subject: [PATCH 21/36] OS-specific changes --- llvm/lib/Support/ErrorHandling.cpp | 16 +++++++--------- diff --git a/upstream_utils/llvm_patches/0022-Use-SmallVector-for-UTF-conversion.patch b/upstream_utils/llvm_patches/0022-Use-SmallVector-for-UTF-conversion.patch index ef564d6b36..10001b4969 100644 --- a/upstream_utils/llvm_patches/0022-Use-SmallVector-for-UTF-conversion.patch +++ b/upstream_utils/llvm_patches/0022-Use-SmallVector-for-UTF-conversion.patch @@ -1,7 +1,7 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: PJ Reiniger Date: Mon, 9 May 2022 00:04:30 -0400 -Subject: [PATCH 22/35] Use SmallVector for UTF conversion +Subject: [PATCH 22/36] Use SmallVector for UTF conversion --- llvm/include/llvm/Support/ConvertUTF.h | 6 +++--- diff --git a/upstream_utils/llvm_patches/0023-Prefer-to-use-static-pointers-in-raw_ostream.patch b/upstream_utils/llvm_patches/0023-Prefer-to-use-static-pointers-in-raw_ostream.patch index 5c188c6a69..ca57e81831 100644 --- a/upstream_utils/llvm_patches/0023-Prefer-to-use-static-pointers-in-raw_ostream.patch +++ b/upstream_utils/llvm_patches/0023-Prefer-to-use-static-pointers-in-raw_ostream.patch @@ -1,7 +1,7 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: PJ Reiniger Date: Thu, 19 May 2022 00:58:36 -0400 -Subject: [PATCH 23/35] Prefer to use static pointers in raw_ostream +Subject: [PATCH 23/36] Prefer to use static pointers in raw_ostream See #1401 --- diff --git a/upstream_utils/llvm_patches/0024-constexpr-endian-byte-swap.patch b/upstream_utils/llvm_patches/0024-constexpr-endian-byte-swap.patch index 8368558bfb..24ce725744 100644 --- a/upstream_utils/llvm_patches/0024-constexpr-endian-byte-swap.patch +++ b/upstream_utils/llvm_patches/0024-constexpr-endian-byte-swap.patch @@ -1,7 +1,7 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: PJ Reiniger Date: Fri, 1 Mar 2024 11:56:17 -0800 -Subject: [PATCH 24/35] constexpr endian byte swap +Subject: [PATCH 24/36] constexpr endian byte swap --- llvm/include/llvm/Support/Endian.h | 4 +++- diff --git a/upstream_utils/llvm_patches/0025-Copy-type-traits-from-STLExtras.h-into-PointerUnion..patch b/upstream_utils/llvm_patches/0025-Copy-type-traits-from-STLExtras.h-into-PointerUnion..patch index d0d07e61ba..4f7e9215c6 100644 --- a/upstream_utils/llvm_patches/0025-Copy-type-traits-from-STLExtras.h-into-PointerUnion..patch +++ b/upstream_utils/llvm_patches/0025-Copy-type-traits-from-STLExtras.h-into-PointerUnion..patch @@ -1,7 +1,7 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Tyler Veness Date: Wed, 10 Aug 2022 17:07:52 -0700 -Subject: [PATCH 25/35] Copy type traits from STLExtras.h into PointerUnion.h +Subject: [PATCH 25/36] Copy type traits from STLExtras.h into PointerUnion.h --- llvm/include/llvm/ADT/PointerUnion.h | 46 ++++++++++++++++++++++++++++ diff --git a/upstream_utils/llvm_patches/0026-Unused-variable-in-release-mode.patch b/upstream_utils/llvm_patches/0026-Unused-variable-in-release-mode.patch index 612b42f47d..5020a7410d 100644 --- a/upstream_utils/llvm_patches/0026-Unused-variable-in-release-mode.patch +++ b/upstream_utils/llvm_patches/0026-Unused-variable-in-release-mode.patch @@ -1,7 +1,7 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Leander Schulten Date: Mon, 10 Jul 2023 00:53:43 +0200 -Subject: [PATCH 26/35] Unused variable in release mode +Subject: [PATCH 26/36] Unused variable in release mode --- llvm/include/llvm/ADT/DenseMap.h | 2 +- diff --git a/upstream_utils/llvm_patches/0027-Use-C-20-bit-header.patch b/upstream_utils/llvm_patches/0027-Use-C-20-bit-header.patch index addc1bdded..fa8867f425 100644 --- a/upstream_utils/llvm_patches/0027-Use-C-20-bit-header.patch +++ b/upstream_utils/llvm_patches/0027-Use-C-20-bit-header.patch @@ -1,7 +1,7 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Tyler Veness Date: Tue, 11 Jul 2023 22:56:09 -0700 -Subject: [PATCH 27/35] Use C++20 header +Subject: [PATCH 27/36] Use C++20 header --- llvm/include/llvm/ADT/DenseMap.h | 3 +- diff --git a/upstream_utils/llvm_patches/0028-Remove-DenseMap-GTest-printer-test.patch b/upstream_utils/llvm_patches/0028-Remove-DenseMap-GTest-printer-test.patch index 0b9fd6bef9..efc1e111c5 100644 --- a/upstream_utils/llvm_patches/0028-Remove-DenseMap-GTest-printer-test.patch +++ b/upstream_utils/llvm_patches/0028-Remove-DenseMap-GTest-printer-test.patch @@ -1,7 +1,7 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Tyler Veness Date: Sun, 30 Jul 2023 14:17:37 -0700 -Subject: [PATCH 28/35] Remove DenseMap GTest printer test +Subject: [PATCH 28/36] Remove DenseMap GTest printer test LLVM modifies internal GTest headers to support it, which we can't do. --- diff --git a/upstream_utils/llvm_patches/0029-raw_ostream-Add-SetNumBytesInBuffer.patch b/upstream_utils/llvm_patches/0029-raw_ostream-Add-SetNumBytesInBuffer.patch index ec34677452..e7e921e355 100644 --- a/upstream_utils/llvm_patches/0029-raw_ostream-Add-SetNumBytesInBuffer.patch +++ b/upstream_utils/llvm_patches/0029-raw_ostream-Add-SetNumBytesInBuffer.patch @@ -1,7 +1,7 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Peter Johnson Date: Sun, 29 Oct 2023 23:00:08 -0700 -Subject: [PATCH 29/35] raw_ostream: Add SetNumBytesInBuffer +Subject: [PATCH 29/36] raw_ostream: Add SetNumBytesInBuffer --- llvm/include/llvm/Support/raw_ostream.h | 5 +++++ diff --git a/upstream_utils/llvm_patches/0030-raw_ostream-Replace-errnoAsErrorCode.patch b/upstream_utils/llvm_patches/0030-raw_ostream-Replace-errnoAsErrorCode.patch index 9f788de543..1564203d47 100644 --- a/upstream_utils/llvm_patches/0030-raw_ostream-Replace-errnoAsErrorCode.patch +++ b/upstream_utils/llvm_patches/0030-raw_ostream-Replace-errnoAsErrorCode.patch @@ -1,7 +1,7 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Tyler Veness Date: Tue, 17 Sep 2024 15:30:31 -0700 -Subject: [PATCH 30/35] raw_ostream: Replace errnoAsErrorCode() +Subject: [PATCH 30/36] raw_ostream: Replace errnoAsErrorCode() --- llvm/lib/Support/raw_ostream.cpp | 4 ++-- diff --git a/upstream_utils/llvm_patches/0031-type_traits.h-Add-is_constexpr.patch b/upstream_utils/llvm_patches/0031-type_traits.h-Add-is_constexpr.patch index 5987995675..0a1e762c85 100644 --- a/upstream_utils/llvm_patches/0031-type_traits.h-Add-is_constexpr.patch +++ b/upstream_utils/llvm_patches/0031-type_traits.h-Add-is_constexpr.patch @@ -1,7 +1,7 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Peter Johnson Date: Sat, 2 Dec 2023 15:21:32 -0800 -Subject: [PATCH 31/35] type_traits.h: Add is_constexpr() +Subject: [PATCH 31/36] type_traits.h: Add is_constexpr() --- llvm/include/llvm/Support/type_traits.h | 5 +++++ diff --git a/upstream_utils/llvm_patches/0032-Remove-auto-conversion-from-raw_ostream.patch b/upstream_utils/llvm_patches/0032-Remove-auto-conversion-from-raw_ostream.patch index 0ca081dde1..e8e2e28d2d 100644 --- a/upstream_utils/llvm_patches/0032-Remove-auto-conversion-from-raw_ostream.patch +++ b/upstream_utils/llvm_patches/0032-Remove-auto-conversion-from-raw_ostream.patch @@ -1,7 +1,7 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Tyler Veness Date: Sun, 17 Mar 2024 14:51:11 -0700 -Subject: [PATCH 32/35] Remove auto-conversion from raw_ostream +Subject: [PATCH 32/36] Remove auto-conversion from raw_ostream --- llvm/lib/Support/raw_ostream.cpp | 11 +---------- diff --git a/upstream_utils/llvm_patches/0033-Add-SmallVector-erase_if.patch b/upstream_utils/llvm_patches/0033-Add-SmallVector-erase_if.patch index 9f5b6e998e..3f104a9168 100644 --- a/upstream_utils/llvm_patches/0033-Add-SmallVector-erase_if.patch +++ b/upstream_utils/llvm_patches/0033-Add-SmallVector-erase_if.patch @@ -1,7 +1,7 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Tyler Veness Date: Tue, 18 Jun 2024 09:07:33 -0700 -Subject: [PATCH 33/35] Add SmallVector erase_if() +Subject: [PATCH 33/36] Add SmallVector erase_if() --- llvm/include/llvm/ADT/SmallVector.h | 8 ++++++++ diff --git a/upstream_utils/llvm_patches/0034-Fix-AlignedCharArrayUnion-for-C-23.patch b/upstream_utils/llvm_patches/0034-Fix-AlignedCharArrayUnion-for-C-23.patch index 1166236a0d..6390f93d12 100644 --- a/upstream_utils/llvm_patches/0034-Fix-AlignedCharArrayUnion-for-C-23.patch +++ b/upstream_utils/llvm_patches/0034-Fix-AlignedCharArrayUnion-for-C-23.patch @@ -1,7 +1,7 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Tyler Veness Date: Sat, 13 Jul 2024 15:24:30 -0700 -Subject: [PATCH 34/35] Fix AlignedCharArrayUnion for C++23 +Subject: [PATCH 34/36] Fix AlignedCharArrayUnion for C++23 --- llvm/include/llvm/Support/AlignOf.h | 14 +++++--------- diff --git a/upstream_utils/llvm_patches/0035-Fix-minIntN-and-maxIntN-assertions.patch b/upstream_utils/llvm_patches/0035-Fix-minIntN-and-maxIntN-assertions.patch index 3b1af7fceb..d2b46e650e 100644 --- a/upstream_utils/llvm_patches/0035-Fix-minIntN-and-maxIntN-assertions.patch +++ b/upstream_utils/llvm_patches/0035-Fix-minIntN-and-maxIntN-assertions.patch @@ -1,7 +1,7 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Tyler Veness Date: Mon, 23 Dec 2024 22:56:29 -0800 -Subject: [PATCH 35/35] Fix minIntN() and maxIntN() assertions +Subject: [PATCH 35/36] Fix minIntN() and maxIntN() assertions --- llvm/include/llvm/Support/MathExtras.h | 4 ++-- diff --git a/upstream_utils/llvm_patches/0036-Add-postincrement-operator-to-SmallSetIterator.patch b/upstream_utils/llvm_patches/0036-Add-postincrement-operator-to-SmallSetIterator.patch new file mode 100644 index 0000000000..562a56e108 --- /dev/null +++ b/upstream_utils/llvm_patches/0036-Add-postincrement-operator-to-SmallSetIterator.patch @@ -0,0 +1,27 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: crueter +Date: Wed, 6 May 2026 12:42:53 -0400 +Subject: [PATCH 36/36] Add postincrement operator to SmallSetIterator + +Required for Xcode 26.4 +--- + llvm/include/llvm/ADT/SmallSet.h | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/llvm/include/llvm/ADT/SmallSet.h b/llvm/include/llvm/ADT/SmallSet.h +index c62a3a55d9bda188670e7d6042867943dcd44c68..ffe5ae6e227368dc5582258b402c6521d68bc724 100644 +--- a/llvm/include/llvm/ADT/SmallSet.h ++++ b/llvm/include/llvm/ADT/SmallSet.h +@@ -121,6 +121,12 @@ public: + return *this; + } + ++ SmallSetIterator operator++(int) { // Postincrement ++ SmallSetIterator Copy = *this; ++ ++(*this); ++ return Copy; ++ } ++ + const T &operator*() const { return IsSmall ? *VecIter : *SetIter; } + }; + diff --git a/wpiutil/src/main/native/thirdparty/llvm/include/wpi/util/SmallSet.hpp b/wpiutil/src/main/native/thirdparty/llvm/include/wpi/util/SmallSet.hpp index e8cf962fa5..67f19a56a5 100644 --- a/wpiutil/src/main/native/thirdparty/llvm/include/wpi/util/SmallSet.hpp +++ b/wpiutil/src/main/native/thirdparty/llvm/include/wpi/util/SmallSet.hpp @@ -121,6 +121,12 @@ public: return *this; } + SmallSetIterator operator++(int) { // Postincrement + SmallSetIterator Copy = *this; + ++(*this); + return Copy; + } + const T &operator*() const { return IsSmall ? *VecIter : *SetIter; } };