mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-22 01:11:42 +00:00
[upstream_utils] Remove patch that results in building with NDEBUG causing ODR issues (#8539)
Semiwrap / meson / robotpy define `NDEBUG` when building their software in all modes, while `allwplib` only does it when building debug. This causes the size of `DenseMap` to differ between the shared libraries built here, and the extension modules built in `mostrobotpy`, causing segfaults when you try to execute code that uses `DenseMap`. This is not a problem with the robotpy code in `allwpilib`, because bazel uses the exact same compiler flags when building the shared libraries and pybind11 extensions.
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: PJ Reiniger <pj.reiniger@gmail.com>
|
||||
Date: Thu, 5 May 2022 18:09:45 -0400
|
||||
Subject: [PATCH 12/35] Delete numbers from MathExtras
|
||||
|
||||
---
|
||||
llvm/include/llvm/Support/MathExtras.h | 37 --------------------------
|
||||
1 file changed, 37 deletions(-)
|
||||
|
||||
diff --git a/llvm/include/llvm/Support/MathExtras.h b/llvm/include/llvm/Support/MathExtras.h
|
||||
index b2c62d833038f92d2621ca2e6838d0d6b3b48760..60f8c48031b1809e9de66220103b3a504f32c225 100644
|
||||
--- a/llvm/include/llvm/Support/MathExtras.h
|
||||
+++ b/llvm/include/llvm/Support/MathExtras.h
|
||||
@@ -40,43 +40,6 @@ template <typename T, typename U, typename = enableif_int<T, U>>
|
||||
using common_sint =
|
||||
std::common_type_t<std::make_signed_t<T>, std::make_signed_t<U>>;
|
||||
|
||||
-/// Mathematical constants.
|
||||
-namespace numbers {
|
||||
-// TODO: Track C++20 std::numbers.
|
||||
-// clang-format off
|
||||
-constexpr double e = 0x1.5bf0a8b145769P+1, // (2.7182818284590452354) https://oeis.org/A001113
|
||||
- egamma = 0x1.2788cfc6fb619P-1, // (.57721566490153286061) https://oeis.org/A001620
|
||||
- ln2 = 0x1.62e42fefa39efP-1, // (.69314718055994530942) https://oeis.org/A002162
|
||||
- ln10 = 0x1.26bb1bbb55516P+1, // (2.3025850929940456840) https://oeis.org/A002392
|
||||
- log2e = 0x1.71547652b82feP+0, // (1.4426950408889634074)
|
||||
- log10e = 0x1.bcb7b1526e50eP-2, // (.43429448190325182765)
|
||||
- pi = 0x1.921fb54442d18P+1, // (3.1415926535897932385) https://oeis.org/A000796
|
||||
- inv_pi = 0x1.45f306dc9c883P-2, // (.31830988618379067154) https://oeis.org/A049541
|
||||
- sqrtpi = 0x1.c5bf891b4ef6bP+0, // (1.7724538509055160273) https://oeis.org/A002161
|
||||
- inv_sqrtpi = 0x1.20dd750429b6dP-1, // (.56418958354775628695) https://oeis.org/A087197
|
||||
- sqrt2 = 0x1.6a09e667f3bcdP+0, // (1.4142135623730950488) https://oeis.org/A00219
|
||||
- inv_sqrt2 = 0x1.6a09e667f3bcdP-1, // (.70710678118654752440)
|
||||
- sqrt3 = 0x1.bb67ae8584caaP+0, // (1.7320508075688772935) https://oeis.org/A002194
|
||||
- inv_sqrt3 = 0x1.279a74590331cP-1, // (.57735026918962576451)
|
||||
- phi = 0x1.9e3779b97f4a8P+0; // (1.6180339887498948482) https://oeis.org/A001622
|
||||
-constexpr float ef = 0x1.5bf0a8P+1F, // (2.71828183) https://oeis.org/A001113
|
||||
- egammaf = 0x1.2788d0P-1F, // (.577215665) https://oeis.org/A001620
|
||||
- ln2f = 0x1.62e430P-1F, // (.693147181) https://oeis.org/A002162
|
||||
- ln10f = 0x1.26bb1cP+1F, // (2.30258509) https://oeis.org/A002392
|
||||
- log2ef = 0x1.715476P+0F, // (1.44269504)
|
||||
- log10ef = 0x1.bcb7b2P-2F, // (.434294482)
|
||||
- pif = 0x1.921fb6P+1F, // (3.14159265) https://oeis.org/A000796
|
||||
- inv_pif = 0x1.45f306P-2F, // (.318309886) https://oeis.org/A049541
|
||||
- sqrtpif = 0x1.c5bf8aP+0F, // (1.77245385) https://oeis.org/A002161
|
||||
- inv_sqrtpif = 0x1.20dd76P-1F, // (.564189584) https://oeis.org/A087197
|
||||
- sqrt2f = 0x1.6a09e6P+0F, // (1.41421356) https://oeis.org/A002193
|
||||
- inv_sqrt2f = 0x1.6a09e6P-1F, // (.707106781)
|
||||
- sqrt3f = 0x1.bb67aeP+0F, // (1.73205081) https://oeis.org/A002194
|
||||
- inv_sqrt3f = 0x1.279a74P-1F, // (.577350269)
|
||||
- phif = 0x1.9e377aP+0F; // (1.61803399) https://oeis.org/A001622
|
||||
-// clang-format on
|
||||
-} // namespace numbers
|
||||
-
|
||||
/// Create a bitmask with the N right-most bits set to 1, and all other
|
||||
/// bits set to 0. Only unsigned types are allowed.
|
||||
template <typename T> T maskTrailingOnes(unsigned N) {
|
||||
Reference in New Issue
Block a user