Skip to content

Commit

Permalink
Add a patch to upstream_utils
Browse files Browse the repository at this point in the history
I reverted the previous file changes locally and ran the python script with
the latest patch and confirmed that there were no changes compared to the
MathExtras.h header compared to the previous commit.
  • Loading branch information
bhall-ctre committed Oct 24, 2023
1 parent 7f13b2a commit f8adb25
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Benjamin Hall <[email protected]>
Date: Mon, 23 Oct 2023 21:36:40 -0400
Subject: [PATCH 32/32] Fix compilation of MathExtras.h on Windows with /sdl

See https://github.com/llvm/llvm-project/pull/68978
---
llvm/include/llvm/Support/MathExtras.h | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/llvm/include/llvm/Support/MathExtras.h b/llvm/include/llvm/Support/MathExtras.h
index 5f034b694989d8ef24e0b249abd12a5c20146b97..03db6e4d92cb3b62ac3d8b3cbd97783817c6326b 100644
--- a/llvm/include/llvm/Support/MathExtras.h
+++ b/llvm/include/llvm/Support/MathExtras.h
@@ -356,7 +356,10 @@ inline uint64_t alignTo(uint64_t Value, uint64_t Align) {
inline uint64_t alignToPowerOf2(uint64_t Value, uint64_t Align) {
assert(Align != 0 && (Align & (Align - 1)) == 0 &&
"Align must be a power of 2");
- return (Value + Align - 1) & -Align;
+ // Replace unary minus to avoid compilation error on Windows:
+ // "unary minus operator applied to unsigned type, result still unsigned"
+ uint64_t negAlign = (~Align) + 1;
+ return (Value + Align - 1) & negAlign;
}

/// If non-zero \p Skew is specified, the return value will be a minimal integer
1 change: 1 addition & 0 deletions upstream_utils/update_llvm.py
Original file line number Diff line number Diff line change
Expand Up @@ -209,6 +209,7 @@ def main():
"0029-Use-C-20-bit-header.patch",
"0030-Remove-DenseMap-GTest-printer-test.patch",
"0031-Replace-deprecated-std-aligned_storage_t.patch",
"0032-Fix-compilation-of-MathExtras.h-on-Windows-with-sdl.patch",
]:
git_am(
os.path.join(wpilib_root, "upstream_utils/llvm_patches", f),
Expand Down

0 comments on commit f8adb25

Please sign in to comment.