[Issue 21371] core.stdcpp.allocator: _Adjust_manually_vector_aligned checks for sentinel unconditionally (Windows only)
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Thu Mar 18 13:55:57 UTC 2021
https://issues.dlang.org/show_bug.cgi?id=21371
Dlang Bot <dlang-bot at dlang.rocks> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution|--- |FIXED
--- Comment #2 from Dlang Bot <dlang-bot at dlang.rocks> ---
dlang/druntime pull request #3265 "core.stdcpp.allocator:
_Adjust_manually_vector_aligned checks for sentinel unconditionally (Windows
only)" was merged into stable:
- c97b571c084ecd097a2d19f86a175085efec95a7 by Nathan Sashihara:
Fix Issue 21371 - core.stdcpp.allocator: _Adjust_manually_vector_aligned
checks for sentinel unconditionally (Windows only)
This bug resulted in assertion failures when deleting large blocks of memory
using core.stdcpp.allocator on Windows. _Allocate_manually_vector_aligned
only sets a sentinel when version(_DEBUG) so _Adjust_manually_vector_aligned
should only check for this sentinel when version(_DEBUG).
Additionally change the linkage of those functions from C++ to D to avoid
possible linker confusion.
Also changed the logic by which allocator.d infers _DEBUG to resemble the
the logic for _ITERATOR_DEBUG_LEVEL in utility.d.
https://github.com/dlang/druntime/pull/3265
--
More information about the Digitalmars-d-bugs
mailing list