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

via libc-commits libc-commits at lists.llvm.org
Sun Jan 5 09:12:21 PST 2025


Author: Schrodinger ZHU Yifan
Date: 2025-01-05T09:12:18-08:00
New Revision: de7f5311061d50ef54ec56a783aa6147c5d09526

URL: https://github.com/llvm/llvm-project/commit/de7f5311061d50ef54ec56a783aa6147c5d09526
DIFF: https://github.com/llvm/llvm-project/commit/de7f5311061d50ef54ec56a783aa6147c5d09526.diff

LOG: [libc][fuzz] workaround gcc's constexpr capture issue in sort fuzzer (#121684)

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

Added: 
    

Modified: 
    libc/test/src/stdlib/SortingTest.h

Removed: 
    


################################################################################
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