[libc-commits] [libc] [libc][fuzz] workaround gcc's constexpr capture issue in sort fuzzer (PR #121684)

via libc-commits libc-commits at lists.llvm.org
Sun Jan 5 00:47:33 PST 2025


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-libc

Author: Schrodinger ZHU Yifan (SchrodingerZhu)

<details>
<summary>Changes</summary>

Fix the build problem at https://lab.llvm.org/buildbot/#/builders/131/builds/13255

---
Full diff: https://github.com/llvm/llvm-project/pull/121684.diff


1 Files Affected:

- (modified) libc/test/src/stdlib/SortingTest.h (+4-1) 


``````````diff
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;
       }

``````````

</details>


https://github.com/llvm/llvm-project/pull/121684


More information about the libc-commits mailing list