------- 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