Vxworks 7's malloc, like Solaris', only ensures 8-byte alignment of returned pointers on 32-bit x86, though GCC's stddef.h defines max_align_t with 16-byte alignment for __float128. This patch enables on x86-vxworks the same memory_resource workaround used for x86-solaris. The testsuite also had a workaround, defining BAD_MAX_ALIGN_T and xfailing the test; extend those to x86-vxworks as well, and remove the check for char-aligned requested allocation to be aligned like max_align_t. With that change, the test passes on x86-vxworks; I'm guessing that's the same reason for the test not to pass on x86-solaris (and on x86_64-solaris -m32), so with the fix, I'm tentatively removing the xfail. for libstdc++-v3/ChangeLog PR libstdc++/77691 * include/experimental/memory_resource (__resource_adaptor_imp::do_allocate): Handle max_align_t on x86-vxworks as on x86-solaris. (__resource_adaptor_imp::do_deallocate): Likewise. * testsuite/experimental/memory_resource/new_delete_resource.cc: Drop xfail. (BAD_MAX_ALIGN_T): Define on x86-vxworks as on x86-solaris. (test03): Drop max-align test for char-aligned alloc. (cherry picked from commit 883246530f1bb10d854f455e1c3d55b93675690a)
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| bits | Loading commit data... | |
| algorithm | Loading commit data... | |
| any | Loading commit data... | |
| array | Loading commit data... | |
| buffer | Loading commit data... | |
| chrono | Loading commit data... | |
| deque | Loading commit data... | |
| executor | Loading commit data... | |
| filesystem | Loading commit data... | |
| forward_list | Loading commit data... | |
| functional | Loading commit data... | |
| internet | Loading commit data... | |
| io_context | Loading commit data... | |
| iterator | Loading commit data... | |
| list | Loading commit data... | |
| map | Loading commit data... | |
| memory | Loading commit data... | |
| memory_resource | Loading commit data... | |
| net | Loading commit data... | |
| netfwd | Loading commit data... | |
| numeric | Loading commit data... | |
| optional | Loading commit data... | |
| propagate_const | Loading commit data... | |
| random | Loading commit data... | |
| ratio | Loading commit data... | |
| regex | Loading commit data... | |
| set | Loading commit data... | |
| socket | Loading commit data... | |
| source_location | Loading commit data... | |
| string | Loading commit data... | |
| string_view | Loading commit data... | |
| system_error | Loading commit data... | |
| timer | Loading commit data... | |
| tuple | Loading commit data... | |
| type_traits | Loading commit data... | |
| unordered_map | Loading commit data... | |
| unordered_set | Loading commit data... | |
| utility | Loading commit data... | |
| vector | Loading commit data... |