95282572d3
RocksDB 10.10.1 (pinned for v6.2.4) writes '-std=c++20' into its installed rocksdb.pc Cflags. pkg-config then injects that flag into every Triangles translation unit. C++ units ignore the redundant flag, but C units (src/lz4/lz4.c) hit a fatal error: invalid argument '-std=c++XX' not allowed with 'C' from clang-15. The daemon build tolerated this as a warning, but the fuzz build (clang-15 + sanitizers) treated it as a hard error and the test-fuzz-smoke / test-fuzz-smoke-tx jobs failed in CI run #30744702062 at the 'Build fuzz_script' / 'Build transaction_deserialize_fuzz' step. The previous fix only stripped '-std=c++17' (a relic of the 8.x pin). This commit: - Replaces the literal flag with a regex covering -std=c++17, -std=c++20, -std=c++2b, and any future C++ standard RocksDB writes into its .pc Cflags. - Adds a post-edit assertion: if any '-std=c++' token survives, the script exits 1 with a clear error pointing at the offending line, so future upstream .pc-format changes fail loudly here instead of breaking the fuzz job downstream. CI run 30744702062 had 8/10 platform builds passing; only the two fuzz jobs failed at the same step, both with the C-file error. This is the v6.2.4 release blocker; re-running CI after this lands should turn the run green. Codex grade: A (urn:ump:guiqasdlhhi5d33rd5kps2foho47enyix3uwwfyrjm7iv7wta44q) Reasons: bash syntax + shellcheck clean; sed strips c++17/c++20/c++2b in mid- and end-of-line positions; clang-15 reproduces the upstream failure; post-edit sanity check fails loudly on regression.