------- Comment #13 from pault at gcc dot gnu dot org 2009-09-10 18:16 -------
(In reply to comment #11) > This seems to be because the 'resolve_code' call above resolves not only the > assignment statement itself, but everything that comes after it. So in this > case the PPC call is resolved four extra times! > Janus, I twigged that on the way home! Never, never use resolve_code.... :-) resolve_code already contains: t = SUCCESS; if (code->op != EXEC_COMPCALL && code->op != EXEC_CALL_PPC) t = gfc_resolve_expr (code->expr1); forall_flag = forall_save; if (gfc_resolve_expr (code->expr2) == FAILURE) t = FAILURE; Therefore the lhs and rhs are already resolved and nothing more is needed. If trunk bootstraps and regtests, commit as "obvious". Well spotted Paul -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41242