Thread overview
[Issue 24139] 'this' corruption in extern(C++) dtor when destructing via TypeInfo_Struct
Sep 10, 2023
Dlang Bot
Sep 11, 2023
Dlang Bot
Sep 16, 2023
Dlang Bot
September 10, 2023
https://issues.dlang.org/show_bug.cgi?id=24139

Dlang Bot <dlang-bot@dlang.rocks> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |pull

--- Comment #1 from Dlang Bot <dlang-bot@dlang.rocks> ---
@kinke created dlang/dmd pull request #15598 "[stable] Fix Issue 24139 - 'this' corruption in extern(C++) dtor when destructing via TypeInfo_Struct" fixing this issue:

- Fix Issue 24139 - 'this' corruption in extern(C++) dtor when destructing via
TypeInfo_Struct

  For the `TypeInfo_Struct.xdtor` field, the linkage of the aggregate
  itself plays no role; it's the linkage of the destructor that matters.

  A real-life example for this is DMD's own `OutBuffer`.

https://github.com/dlang/dmd/pull/15598

--
September 11, 2023
https://issues.dlang.org/show_bug.cgi?id=24139

Dlang Bot <dlang-bot@dlang.rocks> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED

--- Comment #2 from Dlang Bot <dlang-bot@dlang.rocks> ---
dlang/dmd pull request #15598 "[stable] Fix Issue 24139 - 'this' corruption in extern(C++) dtor when destructing via TypeInfo_Struct" was merged into stable:

- fe46a936c9652980b2e55511542c9149f5ba93a3 by Martin Kinkelin:
  Fix Issue 24139 - 'this' corruption in extern(C++) dtor when destructing via
TypeInfo_Struct

  For the `TypeInfo_Struct.xdtor` field, the linkage of the aggregate
  itself plays no role; it's the linkage of the destructor that matters.

  A real-life example for this is DMD's own `OutBuffer`.

https://github.com/dlang/dmd/pull/15598

--
September 16, 2023
https://issues.dlang.org/show_bug.cgi?id=24139

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

- fbafba879073b33b3d2f235b7ebd3bc3a508248d by Martin Kinkelin:
  Fix Issue 24139 - 'this' corruption in extern(C++) dtor when destructing via
TypeInfo_Struct (#15598)

  For the `TypeInfo_Struct.xdtor` field, the linkage of the aggregate
  itself plays no role; it's the linkage of the destructor that matters.

  A real-life example for this is DMD's own `OutBuffer`.

https://github.com/dlang/dmd/pull/15609

--