while (*p != '\0') {
space = 10*space +*p++ -'0';
}
- space = total_size * space / 100 ;
break;
case 'a':
complete_program = 1;
mktemp(sname);
mktemp(cname2);
pass1(lname,bname,cname); /* grep calls, analyse procedures */
+ space = total_size * space / 100 ;
pass2(cname,space); /* select calls to be expanded */
pass3(lname,lname2); /* do substitutions */
f = openfile(dname2,"w");
/* Extra points for constants as parameters */
if (ratio <= 0) ratio = 1;
ll = c->cl_looplevel+1;
+ if (IS_CALLED_IN_LOOP(c->cl_caller)) ll++;
/* Commented out; I don't see the point; Even if it is not called
from a loop, inline expansion is better
- if (ll == 1 && !IS_CALLED_IN_LOOP(c->cl_caller)) ll = 0;
+ if (ll == 1) ll = 0;
/* If the call is not in a loop and the called proc. is never called
* in a loop, ll is set to 0.
*/
space -= (best->cl_proc->P_SIZE - space_saved(best));
}
else space += space_saved(best);
+#ifdef VERBOSE
+ if (verbose_flag) fprintf(stderr, "space left: %ld\n", space);
+#endif
selected(best);
CHANGED(chp);
}