The following classes derived from std::exception have member function what() which will be moved to c++abi along with some destructors.
- std::__1::bad_weak_ptr
- std::bad_variant_access
- std::bad_any_cast
- std::bad_optional_access
In addition, we will drop the version namespace for bad_weak_ptr and have std::bad_weak_ptr to be consistent with other classes.
This change is the base for the following patch addressing the encoding for strings representing the exception types.
Is it possible that this was just an oversight? If that's the case, maybe this should just be an ABI flag instead of getting it's own namespace macros?