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.

Reply via email to