diff --git a/util/ego/il/il2_aux.c b/util/ego/il/il2_aux.c index c6651423..0fbec72e 100644 --- a/util/ego/il/il2_aux.c +++ b/util/ego/il/il2_aux.c @@ -323,6 +323,7 @@ STATIC bool is_dispensable(callee,ccf) */ if ((--callee->P_NRCALLED) == 0 && + (callee->p_flags1 & PF_EXTERNAL) == 0 && (callee->p_flags1 & PF_LPI) == 0) { DISPENSABLE(callee); OUTTRACE("procedure %d can be removed",callee->p_id); @@ -465,6 +466,7 @@ STATIC singles(cals) } else { if (c->cl_proc->P_NRCALLED == 1 && !IS_CHANGED(c->cl_proc) && + (c->cl_proc->p_flags1 & PF_EXTERNAL) == 0 && (c->cl_proc->p_flags1 & PF_LPI) == 0) { c->cl_proc->P_NRCALLED = 0; SELECTED(c);