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

--- Comment #4 from Martin Sebor <msebor at gcc dot gnu.org> ---
The ICE is due to the assertion below failing.

      /* In C++17 we shouldn't be copying a TARGET_EXPR except into a base
         subobject.  */
      if (CHECKING_P && cxx_dialect >= cxx17)
        gcc_assert (TREE_CODE (arg) != TARGET_EXPR
                    || force_elide
                    /* It's from binding the ref parm to a packed field. */
                    || convs[0]->need_temporary_p
                    || seen_error ()
                    /* See unsafe_copy_elision_p.  */
                    || DECL_BASE_CONSTRUCTOR_P (fn));

Reply via email to