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

Marek Polacek <mpolacek at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Assignee|unassigned at gcc dot gnu.org      |mpolacek at gcc dot 
gnu.org
             Status|NEW                         |ASSIGNED

--- Comment #2 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
I think just

--- a/gcc/cp/typeck2.cc
+++ b/gcc/cp/typeck2.cc
@@ -597,7 +597,7 @@ split_nonconstant_init_1 (tree dest, tree init, bool last,
            if (prev == field_index)
              break;
            tree ptype = TREE_TYPE (prev);
-           if (type_build_dtor_call (ptype))
+           if (TYPE_P (ptype) && type_build_dtor_call (ptype))
              {
            tree pcref = build3 (COMPONENT_REF, ptype, dest, prev,
                         NULL_TREE);


should be enough to fix this.

Reply via email to