------- Comment #7 from mikael at gcc dot gnu dot org  2010-09-22 18:54 -------
(In reply to comment #6)
> Tentative patch:
> 
> Index: frontend-passes.c
> ===================================================================
> --- frontend-passes.c   (Revision 164404)
> +++ frontend-passes.c   (Arbeitskopie)
> @@ -122,8 +122,11 @@
>    else if (seen_op && e->expr_type == EXPR_FUNCTION && e->rank > 0
>            && ! (e->value.function.esym
>                  && (e->value.function.esym->attr.elemental
> -                    || e->value.function.esym->attr.allocatable))
> -          && ! (e->value.function.isym && e->value.function.isym->elemental))
> +                    || e->value.function.esym->attr.allocatable
> +                    || e->value.function.esym->ts.type != c->expr1->ts.type))
> +          && ! (e->value.function.isym
> +                && (e->value.function.isym->elemental
> +                    || e->value.function.isym->ts.type != 
> c->expr1->ts.type)))
>      {
> 
>        gfc_code *n;
> 
I think the type comparison should take kinds into account too (REAL(4) vs
REAL(8) for example). 


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45744

Reply via email to