https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79426
David Malcolm <dmalcolm at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2017-02-08
CC| |dmalcolm at gcc dot gnu.org
Ever confirmed|0 |1
--- Comment #1 from David Malcolm <dmalcolm at gcc dot gnu.org> ---
Confirmed with trunk (e.g. r245213).
The ICE is a failure of this assertion, within fold_convert_loc:
2238 gcc_assert (TREE_CODE (orig) == VECTOR_TYPE
2239 && tree_int_cst_equal (TYPE_SIZE (type), TYPE_SIZE
(orig)));
where "orig" is a RECORD_TYPE
as called by fortran/trans-stmt.c:trans_associate_var:1765:
1761 /* Prevent adding a noop len= len. */
1762 if (tmp != charlen)
1763 {
1764 gfc_add_modify (&se.pre, charlen,
1765 fold_convert (TREE_TYPE (charlen), tmp));
1766 gfc_add_init_cleanup (block, gfc_finish_block (&se.pre),
1767 gfc_finish_block (&se.post));
1768 }