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.
It seems to me that we *always* want the namespace for exceptions to be namespace std only, without the ABI namespace.
I think it only falls down for bad_weak_ptr, which we seem to have defined in std::__1 instead of std::. Is that correct?