From 3d71ce92eae9f1417f35a0d07912858fd8f6fa0b Mon Sep 17 00:00:00 2001 From: Robert Clausecker Date: Wed, 3 Dec 2025 19:36:27 +0100 Subject: [PATCH] libc/stdc_has_single_bit.c: fix gcc warning (-Wparentheses) gcc14 is concerned that the operator precedence between - and & might be confusing. Throw in some redundant parentheses to make it shut up. The LLVM build was fine before this change. Reported by: Martin Filla Approved by: markj (mentor) MFC after: 1 month Fixes: 6296500a85c8474e3ff3fe2f8e4a9d56dd0acd64 Differential Revision: https://reviews.freebsd.org/D54057 --- lib/libc/stdbit/stdc_has_single_bit.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/libc/stdbit/stdc_has_single_bit.c b/lib/libc/stdbit/stdc_has_single_bit.c index e5f67626555..a448464b04d 100644 --- a/lib/libc/stdbit/stdc_has_single_bit.c +++ b/lib/libc/stdbit/stdc_has_single_bit.c @@ -10,29 +10,29 @@ bool stdc_has_single_bit_uc(unsigned char x) { - return (x != 0 && (x & x - 1) == 0); + return (x != 0 && (x & (x - 1)) == 0); } bool stdc_has_single_bit_us(unsigned short x) { - return (x != 0 && (x & x - 1) == 0); + return (x != 0 && (x & (x - 1)) == 0); } bool stdc_has_single_bit_ui(unsigned int x) { - return (x != 0 && (x & x - 1) == 0); + return (x != 0 && (x & (x - 1)) == 0); } bool stdc_has_single_bit_ul(unsigned long x) { - return (x != 0 && (x & x - 1) == 0); + return (x != 0 && (x & (x - 1)) == 0); } bool stdc_has_single_bit_ull(unsigned long long x) { - return (x != 0 && (x & x - 1) == 0); + return (x != 0 && (x & (x - 1)) == 0); }