You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
These presume the allocator never returns nullptr. I.e. always succeeds or throws. That's in conflict with the itanum ABI library requirements, which have the demangler return an error code on memory exhastion. We don't do that, instead calling std::terminate on failure. But it would be good to be able to move to a more compliant demangler.
You'll notice the demangler's node allocator has smarts to check for nullptr.
We can't use exceptions here either, as (IIUC), the demangler should not require the unwinder. And besides we don't have an outer catch to turn that exception into an error code.
The text was updated successfully, but these errors were encountered:
libcxxabi/src/demangle/ItaniumDemangle.h
contains several instances of placement new:These presume the allocator never returns
nullptr
. I.e. always succeeds or throws. That's in conflict with the itanum ABI library requirements, which have the demangler return an error code on memory exhastion. We don't do that, instead callingstd::terminate
on failure. But it would be good to be able to move to a more compliant demangler.You'll notice the demangler's node allocator has smarts to check for
nullptr
.We can't use exceptions here either, as (IIUC), the demangler should not require the unwinder. And besides we don't have an outer catch to turn that exception into an error code.
The text was updated successfully, but these errors were encountered: