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

Mikael Morin <mikael at gcc dot gnu.org> changed:

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

--- Comment #4 from Mikael Morin <mikael at gcc dot gnu.org> ---
(In reply to Jerry DeLisle from comment #3)
> 
> Here is a smaller reproducer.
> 
...
> 
> Delete the if statement inside the do while and the problem diasappears.

For me the problem remains as long as there are substrings of attrlist.

Probable culprit: r16-1096-gafa2de8093a0cd

In gfc_conv_substring:

>  gfc_conv_expr_type (&start, ref->u.ss.start, gfc_charlen_type_node);
-> start.expr has type gfc_charlen_type_node

>         diff = fold_build2 (MINUS_EXPR, size_type_node, start.expr,
>                             build_one_cst (size_type_node));
-> start.expr is used with type size_type node.

Oops.

Reply via email to