SCCS-vsn: old/pcc/cc/cc.c 4.11
-static char sccsid[] = "@(#)cc.c 4.10 %G%";
+static char sccsid[] = "@(#)cc.c 4.11 %G%";
/*
* cc - front end for C compiler
*/
/*
* cc - front end for C compiler
*/
char *cpp = "/lib/cpp";
char *ccom = "/lib/ccom";
char *cpp = "/lib/cpp";
char *ccom = "/lib/ccom";
+char *sccom = "/lib/sccom";
char *c2 = "/lib/c2";
char *as = "/bin/as";
char *ld = "/bin/ld";
char *c2 = "/lib/c2";
char *as = "/bin/as";
char *ld = "/bin/ld";
int idexit();
char **av, **clist, **llist, **plist;
int cflag, eflag, oflag, pflag, sflag, wflag, Rflag, exflag, proflag;
int idexit();
char **av, **clist, **llist, **plist;
int cflag, eflag, oflag, pflag, sflag, wflag, Rflag, exflag, proflag;
-int gflag, Gflag, Mflag, debug;
+int fflag, gflag, Gflag, Mflag, debug;
char *dflag;
int exfail;
char *chpass;
char *dflag;
int exfail;
char *chpass;
if (argv[i][2] == 'g')
crt0 = "/usr/lib/gcrt0.o";
continue;
if (argv[i][2] == 'g')
crt0 = "/usr/lib/gcrt0.o";
continue;
+ case 'f':
+ fflag++;
+ continue;
case 'g':
if (argv[i][2] == 'o') {
Gflag++; /* old format for -go */
case 'g':
if (argv[i][2] == 'o') {
Gflag++; /* old format for -go */
- ccom = strspl(npassname, "ccom");
+ if (fflag)
+ sccom = strspl(npassname, "sccom");
+ else
+ ccom = strspl(npassname, "ccom");
continue;
case '2':
c2 = strspl(npassname, "c2");
continue;
case '2':
c2 = strspl(npassname, "c2");
tmp3 = setsuf(clist[i], 's');
assource = tmp3;
}
tmp3 = setsuf(clist[i], 's');
assource = tmp3;
}
- av[0] = "ccom"; av[1] = tmp4; av[2] = oflag?tmp5:tmp3; na = 3;
+ av[0] = fflag ? "sccom" : "ccom";
+ av[1] = tmp4; av[2] = oflag?tmp5:tmp3; na = 3;
if (proflag)
av[na++] = "-XP";
if (gflag) {
if (proflag)
av[na++] = "-XP";
if (gflag) {
if (wflag)
av[na++] = "-w";
av[na] = 0;
if (wflag)
av[na++] = "-w";
av[na] = 0;
- if (callsys(ccom, av)) {
+ if (callsys(fflag ? sccom : ccom, av)) {
cflag++;
eflag++;
continue;
cflag++;
eflag++;
continue;