exception_ptr reference counting

According to cppreference [1]:

The exception object referenced by an std::exception_ptr remains valid as long as there remains at least one std::exception_ptr that is referencing it: std::exception_ptr is a shared-ownership smart pointer

I don’t actually see any code in libc++’s implementation to prolong the lifetime of an exception object in case there are exception_ptrs pointing to it. I feel like I’m missing something obvious; how is this case handled?

[1] std::exception_ptr - cppreference.com

The relevant implementation of exception_ptr is here (https://github.com/llvm-mirror/libcxx/blob/master/src/support/runtime/exception_pointer_cxxabi.ipp)

The exception header is reference counted, my very quick and dirty reading of the implementation suggests that we handle the reference counting correctly.

please let me know if I’ve overlooked something.

I was looking at the wrong file. Thanks for the pointer and quick reply!