summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2022-06-28Fix build as C with MSVCDavid Robillard4-6/+4
2022-06-28Clean up build configurationDavid Robillard12-44/+94
2022-06-28Add support for building Wasm with emscriptenDavid Robillard3-4/+56
2022-06-28Fix incorrect function attributesDavid Robillard2-4/+4
The ring accessors are pure, not const, because they read pointed-to data (the ring) that may change between invocations. The BTree iter comparison is const because it only compares the values passed as parameters (although they contain pointers, they aren't dereferenced).
2022-06-28Clean up meson configurationDavid Robillard5-234/+384
2022-06-28Remove redundant includesDavid Robillard2-2/+0
This is implicitly included by <inttypes.h>.
2022-03-14Reduce default BTree test timeDavid Robillard1-1/+1
2022-03-14Fix MinGW buildDavid Robillard1-0/+2
2022-02-02Avoid fallthrough annotation on older GCC versionsDavid Robillard1-1/+1
2022-02-01Fix static build on WindowsDavid Robillard1-2/+4
2022-01-14Fix hash insertion tombstone replacement caseDavid Robillard1-0/+1
2021-12-17Suppress warning in glib headersDavid Robillard1-1/+2
This should really be done more precisely, but I can't be bothered.
2021-12-17Reduce benchmark code complexityDavid Robillard1-38/+50
2021-12-17Suppress new warnings in clang-tidy 13David Robillard6-7/+10
2021-12-17Suppress new warnings in clang 13David Robillard1-0/+10
2021-12-17Fix memory leaks in dictionary benchmarkDavid Robillard1-0/+9
2021-11-02Avoid printing configuration summary as a subprojectDavid Robillard1-1/+1
2021-10-27Gracefully handle realloc failure in benchmarkDavid Robillard1-2/+16
Not really a relevant case here, but it resolves issues found by cppcheck.
2021-10-27Be explicit about operator precedenceDavid Robillard1-1/+1
2021-10-27Fix whitespaceDavid Robillard1-1/+1
2021-10-27Compile but fail at runtime if aligned allocation is not supportedDavid Robillard1-1/+1
2021-10-27Remove unnecessary includeDavid Robillard1-1/+0
2021-10-27Improve hash table performance slightlyDavid Robillard1-6/+9
2021-10-27Fix zix_digest64() to consume all inputDavid Robillard1-5/+5
This was a copy-paste bug since the loop in zix_digest32() worked differently. As a result only the first block was considered, making the digest nearly useless for larger values. The tests didn't (and unfortunately still don't) catch this because the 64-bit digest algorithm incorporates the size itself. Fix this by changing the loop to work the same way as zix_digest32(), so hopefully something like this doesn't happen again.
2021-10-25Fix incomplete header installationDavid Robillard1-0/+3
2021-09-18Fix warnings in release builds on MacOSDavid Robillard1-2/+7
Why only MacOS? Good question!
2021-09-18Update READMEDavid Robillard1-3/+33
2021-09-18Use assertions in Bitset testDavid Robillard1-52/+14
2021-09-18Simplify benchmark error handling by using assertionsDavid Robillard1-31/+11
These are things that should really never happen, especially if the tests pass.
2021-09-18Simplify benchmark main functionDavid Robillard1-12/+17
2021-09-18Fix minor quality issues in plot.pyDavid Robillard1-4/+4
2021-09-18Remove old documentationDavid Robillard2-2854/+0
2021-09-18Fix whitespaceDavid Robillard1-7/+5
2021-09-18Simplify CI configurationDavid Robillard1-28/+1
2021-09-16Fix test coverage uploading on CIDavid Robillard1-1/+1
2021-09-16Add FreeBSD row to CIDavid Robillard1-0/+15
2021-09-16Suppress warnings on FreeBSDDavid Robillard1-0/+1
Unfortunately clang proper supports this in earlier versions, but Apple's fork doesn't until the version that reports itself as clang 12. Since this is caught by the GCC builds anyway, just suppress them for clang unconditionally.
2021-09-16Suppress warnings in non-strict buildsDavid Robillard1-2/+6
2021-09-16Add a simple bump pointer allocatorDavid Robillard5-3/+276
2021-09-15Add redundant forward declaration to appease clang-tidyDavid Robillard1-0/+2
2021-09-14Replace shared library malloc shim with explicit allocation testingDavid Robillard7-188/+127
The old approach was generally annoying to deal with sometimes, and not particularly portable. This replaces it by using the new custom allocator interface with unit tests that specifically check that failed allocation is handled properly.
2021-09-14Add aligned allocation interface and use it in ZixBTreeDavid Robillard7-17/+219
2021-09-14Fix whitespace in allocator function type definitionsDavid Robillard1-12/+14
2021-09-14Make ZixAllocator a single flat structDavid Robillard14-162/+162
I can never decide between these two patterns for polymorphic objects in C, but this one seems more appropriate here since it's more conducive to inheritance.
2021-09-13Correctly handle hash table reallocation failuresDavid Robillard1-8/+25
2021-09-13Remove unused includeDavid Robillard1-1/+0
2021-09-11Fix zix_btree_free() nullable annotationDavid Robillard1-1/+1
2021-09-11Fix zix_btree_lower_bound()David Robillard1-7/+8
This condition was converted to an assertion in an over-eager session of code simplification and coverage testing. It turns out this does happen.
2021-09-10Fix C11 buildDavid Robillard1-3/+6
2021-09-10Fix includes when using as a subprojectDavid Robillard1-1/+3