mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-08-15 18:27:08 +02:00
44 lines
1.6 KiB
Diff
44 lines
1.6 KiB
Diff
Patch-Source: https://github.com/google/boringssl/commit/c70190368c7040c37c1d655f0690bcde2b109a0d
|
|
|
|
From c70190368c7040c37c1d655f0690bcde2b109a0d Mon Sep 17 00:00:00 2001
|
|
From: David Benjamin <davidben@google.com>
|
|
Date: Thu, 16 May 2024 11:00:42 -0400
|
|
Subject: [PATCH] Don't define CRYPTO_addc_* and CRYPTO_subc_* in C++
|
|
|
|
GCC does not support C11 _Generic in C++ mode.
|
|
|
|
Change-Id: I974a0b04bbe4900419736044d0d8050f2b856d56
|
|
Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/68507
|
|
Auto-Submit: David Benjamin <davidben@google.com>
|
|
Commit-Queue: David Benjamin <davidben@google.com>
|
|
Reviewed-by: Adam Langley <agl@google.com>
|
|
---
|
|
crypto/internal.h | 7 +++++++
|
|
1 file changed, 7 insertions(+)
|
|
|
|
diff --git a/third_party/boringssl/src/crypto/internal.h b/third_party/boringssl/src/crypto/internal.h
|
|
index a77102d766..a45f97bcc9 100644
|
|
--- a/third_party/boringssl/src/crypto/internal.h
|
|
+++ b/third_party/boringssl/src/crypto/internal.h
|
|
@@ -1174,6 +1174,11 @@ static inline uint64_t CRYPTO_rotr_u64(uint64_t value, int shift) {
|
|
|
|
// Arithmetic functions.
|
|
|
|
+// The most efficient versions of these functions on GCC and Clang depend on C11
|
|
+// |_Generic|. If we ever need to call these from C++, we'll need to add a
|
|
+// variant that uses C++ overloads instead.
|
|
+#if !defined(__cplusplus)
|
|
+
|
|
// CRYPTO_addc_* returns |x + y + carry|, and sets |*out_carry| to the carry
|
|
// bit. |carry| must be zero or one.
|
|
#if OPENSSL_HAS_BUILTIN(__builtin_addc)
|
|
@@ -1275,6 +1280,8 @@ static inline uint64_t CRYPTO_subc_u64(uint64_t x, uint64_t y, uint64_t borrow,
|
|
#define CRYPTO_subc_w CRYPTO_subc_u32
|
|
#endif
|
|
|
|
+#endif // !__cplusplus
|
|
+
|
|
|
|
// FIPS functions.
|
|
|