fix compilation errors and warnings under MSVC default tip

enable inline optimizations when creating hash keys from literals

adds support for CxHashKey pointers in CX_HASH_KEY() and all map functions

remove obsolete changelog entry for cx_cmp_memcmp()

fixes that cx_list_default_insert_array() has the wrong nonnull attribute when used for cxListEmplaceArray()

add WITH_MKSTEMP macro because the previous feature test did not always work

add ubsan feature (for debugging)

make find_remove tests robust against possible duplicates in the random test data

revert incorrect use of elem_size argument in cxArrayListCreate()

improve code in cxArrayListCreate()

add overflow check to cx_array_insert()

optimize test whether elements need to be moved in cx_array_insert()

adds cx_bstr() and cx_bstr_m()

adds cx_hash_key_as_string()

add support for any string as a delimiter in all cx_strsplit() variants

add support for any string to all cx_strreplace() variants

define own cx_thread_local macro that is compatible to C11/C17, C23, and MSVC

add more checks to the check-all.sh

fix missing parameter list for cx_test_suite_linked_list_low_level()

merge remote changes

add support for any string to cx_strstr() and cx_strstr_m()

use C11 _Thread_local keyword instead of macro

changes cx_strcpy() and cx_strcpy_a() to accept any string

annotate unreachable path (if the pre-condition is not violated)

add some compare_func2 tests for linked lists - resolves #622

improve output of test results

move low-level linked list tests to separate suite

update online documentation - relates to #622

add tests for cxMapCompare() - relates to #622

add complete test coverage for the new array features

add test for growing an array's capacity

use safe memcmp also as default for the hash map - relates to # 615

remove cx_ccmp_memcmp() again - i.e. we don't provide any 3-arg cmp func in compare.h

fixes elem_size for default memcmp-based compare function not robust against reallocations

fix outdated names of the cx_ccmp functions + adds first tests for using cx_compare_func2

fix cxSetAdvancedCompareFunc() setting the wrong custom data field

check-all.sh now also works when nothing has been configured so far

let check-all.sh restore the build tree when it's done

add tmpnam() fallback when in ISO C23 mode - resolves #786

make check-all.sh faster by adding parallelization

add cx_array_remove() and cx_array_remove_fast()

changes macros for adding/inserting a single element into an array to automatically take the address - relates to #619

add missing _c variants for some linked-list functions - relates to #622

fix nonnull attribute for cx_array_insert_sorted_c_() - relates to #622

add missing compare_func2 variants of the array functions - relates to #622

add convenience array_sort functions - relates to #622

use qsort_r() when it is available - relates to #622

fix and simplify discovery of memrchr

(0) -1000 -300 -100 -48 tip

mercurial