forked from pool/nodejs-electron
* Node 20.16.0 OBS-URL: https://build.opensuse.org/package/show/devel:languages:nodejs/nodejs-electron?expand=0&rev=169
61 lines
2.9 KiB
Diff
61 lines
2.9 KiB
Diff
--- webrtc-6261b/third_party/boringssl/src/crypto/internal.h.orig 2024-03-13 22:27:36.595241500 +0000
|
|
+++ webrtc-6261b/third_party/boringssl/src/crypto/internal.h 2024-03-14 19:45:48.047485200 +0000
|
|
@@ -1146,11 +1146,28 @@ static inline uint64_t CRYPTO_rotr_u64(u
|
|
// bit. |carry| must be zero or one.
|
|
#if OPENSSL_HAS_BUILTIN(__builtin_addc)
|
|
|
|
+#ifdef __cplusplus
|
|
+extern "C++" {
|
|
+static constexpr unsigned CRYPTO_GENERIC_ADDC(unsigned x, unsigned y,
|
|
+ unsigned carry, unsigned *out_carry){
|
|
+ return __builtin_addc(x, y, carry, out_carry);
|
|
+}
|
|
+static constexpr unsigned long CRYPTO_GENERIC_ADDC(unsigned long x, unsigned long y,
|
|
+ unsigned long carry, unsigned long *out_carry){
|
|
+ return __builtin_addcl(x, y, carry, out_carry);
|
|
+}
|
|
+static constexpr unsigned long long CRYPTO_GENERIC_ADDC(unsigned long long x, unsigned long long y,
|
|
+ unsigned long long carry, unsigned long long *out_carry){
|
|
+ return __builtin_addcll(x, y, carry, out_carry);
|
|
+}
|
|
+}
|
|
+#else
|
|
#define CRYPTO_GENERIC_ADDC(x, y, carry, out_carry) \
|
|
(_Generic((x), \
|
|
unsigned: __builtin_addc, \
|
|
unsigned long: __builtin_addcl, \
|
|
unsigned long long: __builtin_addcll))((x), (y), (carry), (out_carry))
|
|
+#endif
|
|
|
|
static inline uint32_t CRYPTO_addc_u32(uint32_t x, uint32_t y, uint32_t carry,
|
|
uint32_t *out_carry) {
|
|
@@ -1198,11 +1215,28 @@ static inline uint64_t CRYPTO_addc_u64(u
|
|
// bit. |borrow| must be zero or one.
|
|
#if OPENSSL_HAS_BUILTIN(__builtin_subc)
|
|
|
|
+#ifdef __cplusplus
|
|
+extern "C++" {
|
|
+static constexpr unsigned CRYPTO_GENERIC_SUBC(unsigned x, unsigned y,
|
|
+ unsigned borrow, unsigned *out_borrow){
|
|
+ return __builtin_subc(x, y, borrow, out_borrow);
|
|
+}
|
|
+static constexpr unsigned long CRYPTO_GENERIC_SUBC(unsigned long x, unsigned long y,
|
|
+ unsigned long borrow, unsigned long *out_borrow){
|
|
+ return __builtin_subcl(x, y, borrow, out_borrow);
|
|
+}
|
|
+static constexpr unsigned long long CRYPTO_GENERIC_SUBC(unsigned long long x, unsigned long long y,
|
|
+ unsigned long long borrow, unsigned long long *out_borrow){
|
|
+ return __builtin_subcll(x, y, borrow, out_borrow);
|
|
+}
|
|
+}
|
|
+#else
|
|
#define CRYPTO_GENERIC_SUBC(x, y, borrow, out_borrow) \
|
|
(_Generic((x), \
|
|
unsigned: __builtin_subc, \
|
|
unsigned long: __builtin_subcl, \
|
|
unsigned long long: __builtin_subcll))((x), (y), (borrow), (out_borrow))
|
|
+#endif
|
|
|
|
static inline uint32_t CRYPTO_subc_u32(uint32_t x, uint32_t y, uint32_t borrow,
|
|
uint32_t *out_borrow) {
|