Commit Graph

1396 Commits

Author SHA1 Message Date
Ion Gaztañaga
9201bbf83b - Modify dlmalloc_allocation_command to use alignment info, this requires modifying the dlmalloc_ext wrapper library.
- Replace all dlmalloc_malloc uses with dlmalloc_allocation_command to support overaligned types in array allocations.
2026-01-19 01:06:56 +01:00
Ion Gaztañaga
1e1741ce63 Delete unused includes 2026-01-19 01:01:53 +01:00
Ion Gaztañaga
62619d8a44 Add overaligned_copyable_int for testing over-aligned types in containers 2026-01-18 21:38:33 +01:00
Ion Gaztañaga
fbfa25d434 Add missing <.../multiallocation_chain.hpp> include 2026-01-18 21:38:06 +01:00
Ion Gaztañaga
a0dd5bb7c5 Fix -Wshadow warning 2026-01-18 17:15:29 +01:00
Ion Gaztañaga
58b82b68ef Add bench tests to the regression tests 2026-01-18 16:15:19 +01:00
Ion Gaztañaga
120d663949 Make node pool based allocators support overaligned types. To avoid breaking ABI, pack overalignment value in spare bits on existing fields. Probably in the future we want to break ABI to simplify the maintenance. 2026-01-18 16:15:01 +01:00
Ion Gaztañaga
93752fd9ed Reduce element size, it was accidently committed and it makes regression runners take longer than needed 2026-01-18 16:13:31 +01:00
Ion Gaztañaga
2bc94e2c5e Fix warning on casting removing const qualifiers 2026-01-18 16:12:20 +01:00
Ion Gaztañaga
f818ee9bfd Delete alignment check, ubsan will be used to detect this in tests 2026-01-14 12:36:54 +01:00
Ion Gaztañaga
72ff09d7d2 Fix bug, m_nodes_per_block was directly used instead of unpacking its value and stripping the stored bits. 2026-01-13 01:26:43 +01:00
Ion Gaztañaga
7cc06da5d8 Insert alignment assertion for construct 2026-01-13 01:25:57 +01:00
Ion Gaztañaga
ac36c424fd Add overalignment support for private_node_pool_impl. To avoid breaking ABI (internal Interprocess pool representation depends on this and it might brake programs) the overalignmend (alignment bigger than pointer alignment) is stored in the free bits of existing 3 integers. 2026-01-12 23:06:07 +01:00
Ion Gaztañaga
b0d7141c0c Add compile time log2_pow2 2026-01-12 23:04:42 +01:00
Ion Gaztañaga
ee1c553a67 Added changelog about basic_string 2026-01-05 02:17:41 +01:00
Ion Gaztañaga
40c440cca5 Add operation by operation testsuite. 2026-01-02 20:35:29 +01:00
Ion Gaztañaga
0e70115cd2 Add static const npos definition 2026-01-02 20:14:50 +01:00
Ion Gaztañaga
c1a6136513 Clean commented temporal testsuite. 2026-01-02 18:49:25 +01:00
Ion Gaztañaga
639337e079 Add missing string_view-like overloads for assign, insert and append. 2026-01-02 18:46:33 +01:00
Ion Gaztañaga
2659a1670a Since warnings in integer conversion on "operator<<" and "operator>>" 2026-01-02 18:45:02 +01:00
Ion Gaztañaga
e14d24fd65 Fix missing default arguments for append and compare that were added in C++14 2026-01-02 18:43:43 +01:00
Ion Gaztañaga
414e89c781 Fix bug in operator[]: Access is allowed to the terminating null since C++11 2026-01-02 18:40:00 +01:00
Ion Gaztañaga
0a0ea3e694 Remove buffer_move_or_copy usage and reformat devector. 2026-01-02 18:30:02 +01:00
Ion Gaztañaga
84d9a29107 Implement the same logic as deque, resetting the back index to the first index instead of putting both at offset zero. 2026-01-02 13:39:16 +01:00
Ion Gaztañaga
fe373c480b More consistent formatting and calls 2026-01-02 13:38:15 +01:00
Ion Gaztañaga
41a95f145a Merge pull request #326 from sdarwin/feature/ci3
GitHub Actions: test doc builds
2025-12-31 04:55:31 +01:00
sdarwin
3626cbd56b GitHub Actions: test doc builds 2025-12-30 09:23:08 -07:00
Ion Gaztañaga
d24a219afe Fix some documentation bugs generated by doxygen leaking macros 2025-12-28 01:55:20 +01:00
Ion Gaztañaga
a1a50581dd Update docs with new overaligned allocation changes. 2025-12-26 18:26:19 +01:00
Ion Gaztañaga
c99257c1dc Fix recursion in aligned_allocation. Rename aligned_alloc.hpp to aligned_allocation.hpp to be consistent:
- "aligned_allocation" will be the internal name for the utility in the Container library.
- "aligned_alloc" is the C11 function name
2025-12-26 16:14:33 +01:00
Ion Gaztañaga
e19e121cf4 Make an exception to MacOs platforms, where system malloc only aligns to 8 bytes, even in ARM64. 2025-12-26 14:17:45 +01:00
Ion Gaztañaga
d8620c7784 Test new_delete_resource overalignment in all platforms 2025-12-26 11:00:48 +01:00
Ion Gaztañaga
ae9265dc7d Add overalignment support for new_delete_resource for newer (__cpp_aligned_new) and older standards, including some workaround for targets where __STDCPP_DEFAULT_NEW_ALIGNMENT__ value is not correctly aligned between GCC and the malloc implementation (Win32) 2025-12-26 10:59:37 +01:00
Ion Gaztañaga
52b34fb1da Add aligned new overloads and make sure zero-allocated malloc is not called (operator new requires non-null for zero-sized allocations). 2025-12-26 10:57:24 +01:00
Ion Gaztañaga
73ddb75de4 Fix code release notes to avoid a quickbook error that interprets a missing [[endsect]]. 2025-12-24 01:59:09 +01:00
Ion Gaztañaga
0872852941 Remove toolset --version command 2025-12-23 23:06:36 +01:00
Ion Gaztañaga
17828f8346 Use loop instead of an array to ease maintenance 2025-12-23 22:45:29 +01:00
Ion Gaztañaga
8ac7364a16 Fix test for platforms where "weak-alignment" allocations are implemented, small allocations can't return alignment smaller than "max_align". 2025-12-23 22:37:16 +01:00
Ion Gaztañaga
0d2dff8517 Print compiler version and make cxxstd an option 2025-12-23 21:10:41 +01:00
Ion Gaztañaga
5c3e6a0a25 Update release notes for 1.91 with latest additions 2025-12-23 19:35:50 +01:00
Ion Gaztañaga
b892abf191 Add new_delete_resource test-suite 2025-12-23 19:29:54 +01:00
Ion Gaztañaga
1cef6075b8 Add BOOST_CONTAINER_NODISCARD to getters 2025-12-23 19:25:02 +01:00
Ion Gaztañaga
313e8c7626 Remove in-progress file 2025-12-23 13:53:13 +01:00
Ion Gaztañaga
f29a4c8248 Make new_delete_resource_imp and null_memory_resource_imp "final" 2025-12-23 11:07:04 +01:00
Ion Gaztañaga
e4fcf4b862 Add overaligned type support for global pmr: implement operator_new_raw_allocate/operator_delete_raw_deallocate and use them in new_delete_resource_imp 2025-12-23 11:02:38 +01:00
Ion Gaztañaga
ce530f5fbe Improve C++ conformance chapter adding mention to uses-allocator related utilities 2025-12-19 10:10:32 +01:00
Ion Gaztañaga
7a22ae2ade Replace BOOST_CONTAINER_ATTRIBUTE_NODISCARD with BOOST_CONTAINER_NODISCARD 2025-12-18 15:56:59 +01:00
Ion Gaztañaga
ac523b2c1e Add more BOOST_CONTAINER_ATTRIBUTE_NODISCARD attributes and fix warnings triggered by this attribute 2025-12-18 15:23:56 +01:00
Ion Gaztañaga
8ce8b9ee43 Add nodiscard to memory resource 2025-12-18 11:25:32 +01:00
Ion Gaztañaga
1a0bbe0e79 Add __declspec(novtable) for memory_resource in MSVC compilers to slightly optimize code generation (just like MS STL does) 2025-12-18 10:02:13 +01:00