Skip to content

Commit 5fbf18f

Browse files
expose c23 free_sized/free_aligned_sized (#832)
1 parent 67b189d commit 5fbf18f

3 files changed

Lines changed: 21 additions & 1 deletion

File tree

.github/workflows/main.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -373,7 +373,10 @@ jobs:
373373
# Run the clang-format check and error if it generates a diff
374374
- name: Run clang-format
375375
working-directory: ${{github.workspace}}/build
376-
run: make clangformat-check
376+
run: |
377+
set -eo pipefail
378+
make clangformat
379+
git diff --exit-code
377380
- name: Run clang-tidy
378381
run: |
379382
clang-tidy-15 src/snmalloc/override/malloc.cc -header-filter="`pwd`/*" -warnings-as-errors='*' -export-fixes=tidy.fail -- -std=c++17 -mcx16 -DSNMALLOC_USE_WAIT_ON_ADDRESS=1 -DSNMALLOC_PLATFORM_HAS_GETENTROPY=0 -Isrc

src/snmalloc/global/libc.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,12 @@ namespace snmalloc::libc
3939
dealloc(ptr, size);
4040
}
4141

42+
SNMALLOC_FAST_PATH_INLINE void
43+
free_aligned_sized(void* ptr, size_t alignment, size_t size)
44+
{
45+
dealloc(ptr, size, alignment);
46+
}
47+
4248
SNMALLOC_FAST_PATH_INLINE void* calloc(size_t nmemb, size_t size)
4349
{
4450
bool overflow = false;

src/snmalloc/override/malloc.cc

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,17 @@ extern "C"
2323
snmalloc::libc::free(ptr);
2424
}
2525

26+
SNMALLOC_EXPORT void SNMALLOC_NAME_MANGLE(free_sized)(void* ptr, size_t size)
27+
{
28+
snmalloc::libc::free_sized(ptr, size);
29+
}
30+
31+
SNMALLOC_EXPORT void SNMALLOC_NAME_MANGLE(free_aligned_sized)(
32+
void* ptr, size_t alignment, size_t size)
33+
{
34+
snmalloc::libc::free_aligned_sized(ptr, alignment, size);
35+
}
36+
2637
SNMALLOC_EXPORT void SNMALLOC_NAME_MANGLE(cfree)(void* ptr)
2738
{
2839
snmalloc::libc::free(ptr);

0 commit comments

Comments
 (0)