From 461e3be8d3d1cc618d3a9f5b3bfcfd7e0d249f9f Mon Sep 17 00:00:00 2001 From: fanquake Date: Sat, 15 Aug 2026 15:05:06 +0100 Subject: [PATCH] Squashed 'src/minisketch/' changes from d1bd01e189..4a179c61e3 4a179c61e3 Merge bitcoin-core/minisketch#102: Avoid Clang's `-Wunused-template` under restricted field selections d14cd495ff Avoid Clang's `-Wunused-template` under restricted field selections git-subtree-dir: src/minisketch git-subtree-split: 4a179c61e3cbe3ac2b3c027764ce8eb5183155e1 --- src/fields/clmul_common_impl.h | 5 +++-- src/util.h | 14 ++++++++++++++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/fields/clmul_common_impl.h b/src/fields/clmul_common_impl.h index 2cecbf581ed..7cb43908e73 100644 --- a/src/fields/clmul_common_impl.h +++ b/src/fields/clmul_common_impl.h @@ -12,6 +12,7 @@ #include "../int_utils.h" #include "../lintrans.h" +#include "../util.h" namespace { @@ -28,7 +29,7 @@ namespace { # define NO_SANITIZE_MEMORY #endif -template NO_SANITIZE_MEMORY I MulWithClMulReduce(I a, I b) +template NO_SANITIZE_MEMORY MAYBE_UNUSED I MulWithClMulReduce(I a, I b) { static constexpr I MASK = Mask(); @@ -65,7 +66,7 @@ template NO_SANITIZE_MEMORY I MulWithClMulReduce(I } } -template NO_SANITIZE_MEMORY I MulTrinomial(I a, I b) +template NO_SANITIZE_MEMORY MAYBE_UNUSED I MulTrinomial(I a, I b) { static constexpr I MASK = Mask(); diff --git a/src/util.h b/src/util.h index fdb3f3a231d..50ee1aa09ab 100644 --- a/src/util.h +++ b/src/util.h @@ -26,6 +26,20 @@ #define EXPECT(x,c) (x) #endif +#if defined(__has_cpp_attribute) +# if __has_cpp_attribute(maybe_unused) +# define MAYBE_UNUSED [[maybe_unused]] +# endif +#endif + +#ifndef MAYBE_UNUSED +# if defined(__GNUC__) +# define MAYBE_UNUSED __attribute__((unused)) +# else +# define MAYBE_UNUSED +# endif +#endif + /* Assertion macros */ /**