[libcxx-commits] [PATCH] D65667: [libcxx] Early-initialize error_category singletons
Marshall Clow via Phabricator via libcxx-commits
libcxx-commits at lists.llvm.org
Mon Aug 5 10:28:49 PDT 2019
mclow.lists added a comment.
> When a handle to an error_category singleton object is used during the termination phase of a program, the destruction of the `error_category` object may have occurred prior to execution of the current destructor or function registered with `atexit`, because the singleton object may have been constructed after the corresponding initialization or call to `atexit`.
This is exactly correct, and that's exactly what http://eel.is/c++draft/basic.start.term#5 says (second sentence):
> If a call to `std::atexit` strongly happens before the completion of the initialization of an object with static storage duration, the call to the destructor for the object is sequenced before the call to the function passed to `std::atexit`.
CHANGES SINCE LAST ACTION
More information about the libcxx-commits