------- Comment #13 from burnus at gcc dot gnu dot org 2010-04-07 09:38 ------- I somehow miss the setting of expr->value.function.esym and thus expr->value.function.esym->attr for PPC in resolve.c (e.g. in resolve_expr_ppc). Contrary to resolve_compcall, where on has: e->value.function.esym = target->n.sym; (Setting it is not trivial as esym is gfc_symbol while the PPC is a component.)
Clearly, e->value.function.esym != NULL as otherwise one would never reach the PURE check in expr.c's external_spec_function but segfault: f = e->value.function.esym; if (!f->attr.pure && !f->attr.elemental) In any case, e->value.function.esym->attr does not seem to be correctly set. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43591