rjmccall added a comment. If you're interested in working on this, great. I actually think there's zero reason to emit a non-null argument here on any target unless we're going to use the destructor as the function pointer — but we can do that on every Itanium target, so we should. So where we want to be is probably:
- use the complete-object destructor and the object pointer as its argument when destroying a (non-array) object of C++ class type - otherwise use a custom function that materializes the object pointer on its own and uses a null pointer as the argument And then the address-spaces tweak to that is that we use the second option when we either (1) the destructor isn't in the `__cxa_atexit` address space or (2) the object pointer can't be converted to that address space. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D62413/new/ https://reviews.llvm.org/D62413 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits