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

Nathaniel Shead <nshead at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |nshead at gcc dot gnu.org

--- Comment #2 from Nathaniel Shead <nshead at gcc dot gnu.org> ---
This hits the checking assertion added in r16-1759-g98fd493db6216c:

  if (TREE_CODE (decl) == TEMPLATE_DECL)
    {
      inner = DECL_TEMPLATE_RESULT (decl);
      inner_tag = insert (inner, WK_value);

      /* On stream-in we assume that a template and its result will
         have the same type.  */
      gcc_checking_assert (TREE_TYPE (decl) == TREE_TYPE (inner));

Looks like the decl type is unsized but the inner type has deduced the size
from the initializer. I think we'll need to propagate the deduced array size
from inner to the template-decl once we determine it (like what we do with the
type of 'auto' declarations).

Reply via email to