[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
Sun Apr 18 14:24:29 UTC 2021


--- Comment #3 from Dlang Bot <dlang-bot at dlang.rocks> ---
dlang/druntime pull request #3434 "merge stable" was merged into master:

- 74287fbe7867896b23eeb01f5663ade8ea0d49e0 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.



More information about the Digitalmars-d-bugs mailing list