[libc-commits] [libc] [libc] Fix stdbit C tests for older clang. (PR #160157)

via libc-commits libc-commits at lists.llvm.org
Mon Sep 22 10:44:33 PDT 2025


https://github.com/lntue created https://github.com/llvm/llvm-project/pull/160157

None

>From 285df730719b1176503527d7132a352f93efb51b Mon Sep 17 00:00:00 2001
From: Tue Ly <lntue at google.com>
Date: Mon, 22 Sep 2025 13:42:08 -0400
Subject: [PATCH] [libc] Fix stdbit C tests for older clang.

---
 libc/test/include/stdbit_stub.h | 50 ++++++++++++++++++++-------------
 1 file changed, 30 insertions(+), 20 deletions(-)

diff --git a/libc/test/include/stdbit_stub.h b/libc/test/include/stdbit_stub.h
index e08c86271332e..4ca26b6d81d82 100644
--- a/libc/test/include/stdbit_stub.h
+++ b/libc/test/include/stdbit_stub.h
@@ -17,19 +17,19 @@
 #include <stdbool.h> // bool in C
 
 #define STDBIT_STUB_FUNCTION(FUNC_NAME, LEADING_VAL)                           \
-  unsigned FUNC_NAME##_uc([[maybe_unused]] unsigned char x) {                  \
+  unsigned FUNC_NAME##_uc(unsigned char __attribute__((unused)) x) {           \
     return LEADING_VAL##AU;                                                    \
   }                                                                            \
-  unsigned FUNC_NAME##_us([[maybe_unused]] unsigned short x) {                 \
+  unsigned FUNC_NAME##_us(unsigned short __attribute__((unused)) x) {          \
     return LEADING_VAL##BU;                                                    \
   }                                                                            \
-  unsigned FUNC_NAME##_ui([[maybe_unused]] unsigned int x) {                   \
+  unsigned FUNC_NAME##_ui(unsigned int __attribute__((unused)) x) {            \
     return LEADING_VAL##CU;                                                    \
   }                                                                            \
-  unsigned FUNC_NAME##_ul([[maybe_unused]] unsigned long x) {                  \
+  unsigned FUNC_NAME##_ul(unsigned long __attribute__((unused)) x) {           \
     return LEADING_VAL##DU;                                                    \
   }                                                                            \
-  unsigned FUNC_NAME##_ull([[maybe_unused]] unsigned long long x) {            \
+  unsigned FUNC_NAME##_ull(unsigned long long __attribute__((unused)) x) {     \
     return LEADING_VAL##EU;                                                    \
   }
 
@@ -46,41 +46,51 @@ STDBIT_STUB_FUNCTION(stdc_first_trailing_one, 0x1)
 STDBIT_STUB_FUNCTION(stdc_count_zeros, 0x2)
 STDBIT_STUB_FUNCTION(stdc_count_ones, 0x3)
 
-bool stdc_has_single_bit_uc([[maybe_unused]] unsigned char x) { return false; }
-bool stdc_has_single_bit_us([[maybe_unused]] unsigned short x) { return false; }
-bool stdc_has_single_bit_ui([[maybe_unused]] unsigned x) { return false; }
-bool stdc_has_single_bit_ul([[maybe_unused]] unsigned long x) { return false; }
-bool stdc_has_single_bit_ull([[maybe_unused]] unsigned long long x) {
+bool stdc_has_single_bit_uc(unsigned char __attribute__((unused)) x) {
+  return false;
+}
+bool stdc_has_single_bit_us(unsigned short __attribute__((unused)) x) {
+  return false;
+}
+bool stdc_has_single_bit_ui(unsigned __attribute__((unused)) x) {
+  return false;
+}
+bool stdc_has_single_bit_ul(unsigned long __attribute__((unused)) x) {
+  return false;
+}
+bool stdc_has_single_bit_ull(unsigned long long __attribute__((unused)) x) {
   return false;
 }
 
 STDBIT_STUB_FUNCTION(stdc_bit_width, 0x4)
 
-unsigned char stdc_bit_floor_uc([[maybe_unused]] unsigned char x) {
+unsigned char stdc_bit_floor_uc(unsigned char __attribute__((unused)) x) {
   return 0x5AU;
 }
-unsigned short stdc_bit_floor_us([[maybe_unused]] unsigned short x) {
+unsigned short stdc_bit_floor_us(unsigned short __attribute__((unused)) x) {
   return 0x5BU;
 }
-unsigned stdc_bit_floor_ui([[maybe_unused]] unsigned x) { return 0x5CU; }
-unsigned long stdc_bit_floor_ul([[maybe_unused]] unsigned long x) {
+unsigned stdc_bit_floor_ui(unsigned __attribute__((unused)) x) { return 0x5CU; }
+unsigned long stdc_bit_floor_ul(unsigned long __attribute__((unused)) x) {
   return 0x5DUL;
 }
-unsigned long long stdc_bit_floor_ull([[maybe_unused]] unsigned long long x) {
+unsigned long long stdc_bit_floor_ull(unsigned long long
+                                      __attribute__((unused)) x) {
   return 0x5EULL;
 }
 
-unsigned char stdc_bit_ceil_uc([[maybe_unused]] unsigned char x) {
+unsigned char stdc_bit_ceil_uc(unsigned char __attribute__((unused)) x) {
   return 0x6AU;
 }
-unsigned short stdc_bit_ceil_us([[maybe_unused]] unsigned short x) {
+unsigned short stdc_bit_ceil_us(unsigned short __attribute__((unused)) x) {
   return 0x6BU;
 }
-unsigned stdc_bit_ceil_ui([[maybe_unused]] unsigned x) { return 0x6CU; }
-unsigned long stdc_bit_ceil_ul([[maybe_unused]] unsigned long x) {
+unsigned stdc_bit_ceil_ui(unsigned __attribute__((unused)) x) { return 0x6CU; }
+unsigned long stdc_bit_ceil_ul(unsigned long __attribute__((unused)) x) {
   return 0x6DUL;
 }
-unsigned long long stdc_bit_ceil_ull([[maybe_unused]] unsigned long long x) {
+unsigned long long stdc_bit_ceil_ull(unsigned long long
+                                     __attribute__((unused)) x) {
   return 0x6EULL;
 }
 



More information about the libc-commits mailing list