SCCS-vsn: old/pcc/cc/cc.c 4.6
-static char sccsid[] = "@(#)cc.c 4.5 %G%";
+static char sccsid[] = "@(#)cc.c 4.6 %G%";
/*
* cc - front end for C compiler
*/
/*
* cc - front end for C compiler
*/
char *savestr(), *strspl(), *setsuf();
int idexit();
char **av, **clist, **llist, **plist;
char *savestr(), *strspl(), *setsuf();
int idexit();
char **av, **clist, **llist, **plist;
-int cflag, eflag, gflag, oflag, pflag, sflag, wflag, Rflag, exflag, proflag;
+int cflag, eflag, oflag, pflag, sflag, wflag, Rflag, exflag, proflag;
+int gflag, Gflag;
char *dflag;
int exfail;
char *chpass;
char *dflag;
int exfail;
char *chpass;
crt0 = "/usr/lib/gcrt0.o";
continue;
case 'g':
crt0 = "/usr/lib/gcrt0.o";
continue;
case 'g':
+ if (argv[i][2] == 'o') {
+ Gflag++; /* old format for -go */
+ } else {
+ gflag++; /* new format for -g */
+ }
continue;
case 'w':
wflag++;
continue;
case 'w':
wflag++;
if (oflag)
fprintf(stderr, "cc: warning: -g disables -O\n");
oflag = 0;
if (oflag)
fprintf(stderr, "cc: warning: -g disables -O\n");
oflag = 0;
av[0] = "ccom"; av[1] = tmp4; av[2] = oflag?tmp5:tmp3; na = 3;
if (proflag)
av[na++] = "-XP";
av[0] = "ccom"; av[1] = tmp4; av[2] = oflag?tmp5:tmp3; na = 3;
if (proflag)
av[na++] = "-XP";
+ } else if (Gflag) {
+ av[na++] = "-XG";
+ }
if (wflag)
av[na++] = "-w";
av[na] = 0;
if (wflag)
av[na++] = "-w";
av[na] = 0;
}
while (i < nl)
av[na++] = llist[i++];
}
while (i < nl)
av[na++] = llist[i++];
av[na++] = "-lg";
if (proflag)
av[na++] = "-lc_p";
av[na++] = "-lg";
if (proflag)
av[na++] = "-lc_p";