https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99576

Nils Gladitz <nilsgladitz at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |nilsgladitz at gmail dot com

--- Comment #1 from Nils Gladitz <nilsgladitz at gmail dot com> ---
I am seeing issues with lambdas and coroutines that I can't quite explain yet.
Specifically reference counting objects capture copied (e.g. std::shared_ptr)
seemed to decrease their reference count more often than they should.

Found this issue which didn't quite seem to match but trying Paweł Wegner's
test case I see something that may explain some weirdness (haven't fully
digested the test case or disregarded the possibility that it is my fault
though).

With vanilla gcc 10.2.0 I am seeing what Paweł observed:

START TASK
Foo()
~Foo()
IN LAMBDA

With vanilla 10.3.0 and 11.1.0 I however see the following:

START TASK
Foo()
IN LAMBDA
~Foo()
~Foo()

i.e. the Foo destructor now gets called later but apparently twice
  • [Bug c++/99576] [coroutines] des... nilsgladitz at gmail dot com via Gcc-bugs

Reply via email to