------- Comment #6 from tkoenig at gcc dot gnu dot org 2010-09-22 17:57 ------- 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; Don't know if I will have the time to submit tonight. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45744