[libcxx-dev] exception_ptr reference counting

Eric Fiselier via libcxx-dev libcxx-dev at lists.llvm.org
Mon Nov 18 19:11:35 PST 2019


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.



On Mon, Nov 18, 2019, 9:34 PM Shoaib Meenai via libcxx-dev <
libcxx-dev at lists.llvm.org> wrote:

> 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] https://en.cppreference.com/w/cpp/error/exception_ptr
> _______________________________________________
> libcxx-dev mailing list
> libcxx-dev at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/libcxx-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/libcxx-dev/attachments/20191118/84178a20/attachment.html>


More information about the libcxx-dev mailing list