[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