ego now builds and is used.

This needed lots of refactoring to ego --- not all platforms have ego descr
files, and ego will just crash if you invoke it without one. I think originally
it was never intended that these platforms would be used at -O2 or above.

Plats now only specify the ego descr file if they have one.
This commit is contained in:
David Given
2016-08-21 22:01:19 +02:00
parent 08823a172c
commit 5bae29a00c
19 changed files with 461 additions and 262 deletions

View File

@@ -325,6 +325,7 @@ il_flags(p) char* p;
main(argc, argv) int argc;
char* argv[];
{
struct files* files = findfiles(argc, argv);
FILE* f;
go(argc, argv, no_action, no_action, no_action, il_flags);
@@ -337,14 +338,14 @@ char* argv[];
mktemp(ccname);
mktemp(sname);
mktemp(cname2);
pass1(lname, bname, cname); /* grep calls, analyse procedures */
pass1(files->lname_in, files->bname_in, 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");
pass3(files->lname_in, files->lname_out); /* do substitutions */
f = openfile(files->dname_out, "w");
il_cleanptab(fproc); /* remove extended data structures */
putdtable(fdblock, f);
f = openfile(pname2, "w");
f = openfile(files->pname_out, "w");
putptable(fproc, f, FALSE);
report("inline substitutions", Ssubst);
#ifdef VERBOSE