diff options
| author | Stefan Boberg <[email protected]> | 2026-02-24 22:24:11 +0100 |
|---|---|---|
| committer | GitHub Enterprise <[email protected]> | 2026-02-24 22:24:11 +0100 |
| commit | fb19c8a86e89762ea89df3b361494a055680b432 (patch) | |
| tree | 65f717270e3b52527c9c34aaeab864aec4b214f2 /src/zencore/intmath.cpp | |
| parent | updated CLAUDE.md (diff) | |
| download | zen-fb19c8a86e89762ea89df3b361494a055680b432.tar.xz zen-fb19c8a86e89762ea89df3b361494a055680b432.zip | |
Fix zencore bugs and propagate content type through IoBufferBuilder (#783)
- Add missing includes in hashutils.h (`<cstddef>`, `<type_traits>`)
- Add `ZenContentType` parameter to all `IoBufferBuilder` factory methods so content type is set at buffer creation time
- Fix null dereference in `SharedBuffer::GetFileReference()` when buffer is null
- Fix out-of-bounds read in trace command-line argument parsing when arg length exactly matches option length
- Add unit tests for 32-bit `CountLeadingZeros`
Diffstat (limited to 'src/zencore/intmath.cpp')
| -rw-r--r-- | src/zencore/intmath.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/zencore/intmath.cpp b/src/zencore/intmath.cpp index 5a686dc8e..32f82b486 100644 --- a/src/zencore/intmath.cpp +++ b/src/zencore/intmath.cpp @@ -43,6 +43,12 @@ TEST_CASE("intmath") CHECK(FloorLog2_64(0x0000'0001'0000'0000ull) == 32); CHECK(FloorLog2_64(0x8000'0000'0000'0000ull) == 63); + CHECK(CountLeadingZeros(0x8000'0000u) == 0); + CHECK(CountLeadingZeros(0x0000'0000u) == 32); + CHECK(CountLeadingZeros(0x0000'0001u) == 31); + CHECK(CountLeadingZeros(0x0000'8000u) == 16); + CHECK(CountLeadingZeros(0x0001'0000u) == 15); + CHECK(CountLeadingZeros64(0x8000'0000'0000'0000ull) == 0); CHECK(CountLeadingZeros64(0x0000'0000'0000'0000ull) == 64); CHECK(CountLeadingZeros64(0x0000'0000'0000'0001ull) == 63); |