Repository navigation
Conversation
GitHub Actions recently updated `ubuntu-latest` to Ubuntu 26.04, which ships GCC 15's `libstdc++` headers without transitive `<cstdint>` includes. The previously pinned FuzzTest submodule fetched `abseil-cpp` `20240116.0`, which failed to compile under GCC 15's `libstdc++` due to a missing `uintptr_t` declaration in `absl/container/internal/container_memory.h`. Update `third_party/fuzztest` to the `2026-06-29` release tag (which updates `abseil-cpp` to `20260526.0`) along with two compatibility fixes: 1. Inherit `std::variant` constructors via `using variant::variant;` in the `std::variant` wrapper structs in `test/gtest/type-domains.h`, as FuzzTest's `VariantOfImpl::GetValue` now constructs custom variant types using `std::in_place_index<I>`. 2. Restore Binaryen's `CMAKE_CXX_STANDARD` (`20`) when configuring Abseil via `CMAKE_PROJECT_absl_INCLUDE` in `third_party/CMakeLists.txt`. FuzzTest's `CMakeLists.txt` unconditionally sets `CMAKE_CXX_STANDARD` to `17`, which otherwise builds `libabsl_status` with C++17 `absl::SourceLocation` while `binaryen-unittests` compiles with C++20 `std::source_location`, causing an ABI link mismatch. With `ABSL_PROPAGATE_CXX_STD` enabled, configuring Abseil with C++20 also propagates `-std=c++20` to FuzzTest.
Member
Author
|
If this doesn't seem worth the complexity, we can just delete fuzztest instead. It's still used only experimentally and is not load bearing. But I think it might be worth keeping around in case we want to use it more in the future. |
kripken
approved these changes
Nov 14, 2026
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
GitHub Actions recently updated
ubuntu-latestto Ubuntu 26.04, which ships GCC 15'slibstdc++headers without transitive<cstdint>includes. The previously pinned FuzzTest submodule fetchedabseil-cpp20240116.0, which failed to compile under GCC 15'slibstdc++due to a missinguintptr_tdeclaration inabsl/container/internal/container_memory.h.Update
third_party/fuzztestto the2026-06-29release tag (which updatesabseil-cppto20260526.0) along with two compatibility fixes:Inherit
std::variantconstructors viausing variant::variant;in thestd::variantwrapper structs intest/gtest/type-domains.h, as FuzzTest'sVariantOfImpl::GetValuenow constructs custom variant types usingstd::in_place_index<I>.Restore Binaryen's
CMAKE_CXX_STANDARD(20) when configuring Abseil viaCMAKE_PROJECT_absl_INCLUDEinthird_party/CMakeLists.txt. FuzzTest'sCMakeLists.txtunconditionally setsCMAKE_CXX_STANDARDto17, which otherwise buildslibabsl_statuswith C++17absl::SourceLocationwhilebinaryen-unittestscompiles with C++20std::source_location, causing an ABI link mismatch. WithABSL_PROPAGATE_CXX_STDenabled, configuring Abseil with C++20 also propagates-std=c++20to FuzzTest.