25475d1057
C++20 broke two things in the prior bump: 1. std::allocator no longer exposes pointer/const_pointer/reference/ const_reference member typedefs, and the 2-arg allocate(n, hint) was removed. Both secure_allocator and zero_after_free_allocator inherited these from std::allocator. Define the typedefs ourselves and switch the secure_allocator allocate() to the single-arg form. 2. Bundled src/leveldb uses `std::memory_order::memory_order_relaxed` which was valid in C++17 but became a hard error in C++20 (memory_order is now a scoped enum class — the values are at namespace scope or memory_order::relaxed, not memory_order::memory_order_relaxed). LevelDB itself only needs C++11, so pin its targets to C++17 in BuildLevelDB.cmake instead of patching vendored code. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>