https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51993
kargl at gcc dot gnu.org changed:
What |Removed |Added
----------------------------------------------------------------------------
Assignee|unassigned at gcc dot gnu.org |kargl at gcc dot gnu.org
--- Comment #6 from kargl at gcc dot gnu.org ---
(In reply to Dominique d'Humieres from comment #5)
> > Changing the gcc_assert to an early return gives ...
>
> Confirmed with the patch
>
> --- ../_clean/gcc/fortran/decl.c 2015-10-27 18:14:22.000000000 +0100
> +++ gcc/fortran/decl.c 2015-10-29 12:02:02.000000000 +0100
> @@ -1293,7 +1293,9 @@ gfc_set_constant_character_len (int len,
> int slen;
>
> gcc_assert (expr->expr_type == EXPR_CONSTANT);
> - gcc_assert (expr->ts.type == BT_CHARACTER);
> + /* gcc_assert (expr->ts.type == BT_CHARACTER); */
> + if (expr->ts.type != BT_CHARACTER)
> + return;
>
> slen = expr->value.character.length;
> if (len != slen)
>
> No regression.
Yep, that's the patch I was testing. I'll submit shortly with
a testcase.