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

--- Comment #2 from Avi Kivity <avi at scylladb dot com> ---
I see it in 006t.gimple too:

                        try
                          {
                            _50 = frame_ptr->__closure;
                            _51 = _50->__this;
                            frame_ptr->D.2159793_4_7.__this = _51;
                            frame_ptr->D.2159793_4_7.__old4 =
frame_ptr->D.2159792_4_7;
                            _52 = frame_ptr->__closure;
                            _53 = _52->__newtabs;
                            frame_ptr->D.2159793_4_7.__newtabs = _53;


newtabs is captured by reference, so the copy from _53 is reasonable. But old4
is captured by value, and so should go through the copy constructor.

Looking at references to old3, it always has its address taken and then passed
to the copy constructor.

Reply via email to