[PATCH] D61165: Fix a crash where a [[no_destroy]] destructor was not emitted in an array

John McCall via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Apr 25 22:18:19 PDT 2019


rjmccall added a comment.

Are you sure these are the right semantics for `nodestroy`?  I think there's a reasonable argument that we should not destroy previous elements of a `nodestroy` array just because an element constructor throws.  It's basically academic for true globals because the exception will terminate the process anyway, and even for `thread_local`s and `static` locals (where I believe the exception is theoretically recoverable) it's at least arguable that we should either decline to destroy (possibly causing leaks) or simply call `std::terminate`.


Repository:
  rC Clang

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D61165/new/

https://reviews.llvm.org/D61165





More information about the cfe-commits mailing list