[libc-commits] [libc] [libc][fuzz] workaround gcc's constexpr capture issue in sort fuzzer (PR #121684)
Schrodinger ZHU Yifan via libc-commits
libc-commits at lists.llvm.org
Sun Jan 5 00:47:01 PST 2025
https://github.com/SchrodingerZhu created https://github.com/llvm/llvm-project/pull/121684
None
>From 8a48072ba539debcc88e221ff28be2e59950d2da Mon Sep 17 00:00:00 2001
From: schrodingerzhu <i at zhuyi.fan>
Date: Sun, 5 Jan 2025 16:45:08 +0800
Subject: [PATCH] [libc][fuzz] workaround gcc's constexpr capture issue in sort
fuzzer
---
libc/test/src/stdlib/SortingTest.h | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/libc/test/src/stdlib/SortingTest.h b/libc/test/src/stdlib/SortingTest.h
index 034c0e4f1fd01d..611206ed708d25 100644
--- a/libc/test/src/stdlib/SortingTest.h
+++ b/libc/test/src/stdlib/SortingTest.h
@@ -301,7 +301,10 @@ class SortingTest : public LIBC_NAMESPACE::testing::Test {
// incorrect association between alignment and element size.
alignas(1) uint8_t buf[BUF_SIZE];
- const auto fill_buf = [&buf](size_t elem_size) {
+ // GCC still requires capturing the constant ARRAY_INITIAL_VALS in the
+ // lambda hence, let's use & to implicitly capture all needed variables
+ // automatically.
+ const auto fill_buf = [&](size_t elem_size) {
for (size_t i = 0; i < BUF_SIZE; ++i) {
buf[i] = 0;
}
More information about the libc-commits
mailing list