revise Indestructible to elide dtors
Summary: For global variables with nontrivial destructors, the compiler inserts calls to `atexit` to destroy the variables at shutdown time. For global variables with trivial destructors, the compiler elides such calls. Revise `Indestructible` to have a trivial destructor. Some compilers optimize further and remove such calls even for some nontrivial destructors, but not all do so. Also remove move-construction and move-assignment. And remove actual `constexpr`-constructibility since `::new` is not a constant expression. Reviewed By: chadaustin Differential Revision: D34026842 fbshipit-source-id: 9ab2f957cbe9a67809a6c99e6b9370c1f4315777
Showing
Please register or sign in to comment