[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