aboutsummaryrefslogtreecommitdiff
path: root/src/common/overflow.h
diff options
context:
space:
mode:
authorlizzie <lizzie@eden-emu.dev>2025-10-22 02:56:28 +0200
committercrueter <crueter@eden-emu.dev>2025-10-22 02:56:28 +0200
commit992bae4e2a14ca2547c09637b7dc6fc5f73b353a (patch)
tree4b7df7f2cf95255551ccfad40ea33ed354b1f8ec /src/common/overflow.h
parent6ff043c4fbd5dae5e0b1ec73a3bb4003e8cef20b (diff)
[common] replace Common::BitCast with libc++ provided one (#2774)
Signed-off-by: lizzie <lizzie@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2774 Reviewed-by: MaranBr <maranbr@eden-emu.dev> Reviewed-by: crueter <crueter@eden-emu.dev> Co-authored-by: lizzie <lizzie@eden-emu.dev> Co-committed-by: lizzie <lizzie@eden-emu.dev>
Diffstat (limited to 'src/common/overflow.h')
-rw-r--r--src/common/overflow.h11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/common/overflow.h b/src/common/overflow.h
index 5f048de7e6..e82747795b 100644
--- a/src/common/overflow.h
+++ b/src/common/overflow.h
@@ -8,7 +8,8 @@
#include <algorithm>
#include <type_traits>
-#include "bit_cast.h"
+#include <numeric>
+#include <bit>
namespace Common {
@@ -16,11 +17,9 @@ template <typename T>
requires(std::is_integral_v<T> && std::is_signed_v<T>)
inline T WrappingAdd(T lhs, T rhs) {
using U = std::make_unsigned_t<T>;
-
- U lhs_u = BitCast<U>(lhs);
- U rhs_u = BitCast<U>(rhs);
-
- return BitCast<T>(lhs_u + rhs_u);
+ U lhs_u = std::bit_cast<U>(lhs);
+ U rhs_u = std::bit_cast<U>(rhs);
+ return std::bit_cast<T>(lhs_u + rhs_u);
}
template <typename T>