|
|
1.1 ! root 1: #ifndef lint ! 2: static char sccsid[] = "@(#)flags2.c 1.1 86/02/03 Copyr 1985 Sun Micro"; ! 3: #endif ! 4: ! 5: /* ! 6: * Copyright (c) 1985 by Sun Microsystems, Inc. ! 7: */ ! 8: ! 9: #include "cpass2.h" ! 10: ! 11: /* ! 12: * process pass 2 flags from ccom/f1 command line ! 13: */ ! 14: ! 15: int use68020 = 0; ! 16: int use68881 = 0; ! 17: int usesky = 0; ! 18: int usesoft = 0; ! 19: int useswitch = 0; ! 20: int usefpa = 0; ! 21: int stmtprofflag = 0; ! 22: FILE *dotd_fp; ! 23: ! 24: struct machopts { ! 25: char *optname; ! 26: int *useflag; ! 27: } machopts[] = { ! 28: "m68020", &use68020, ! 29: "fpa", &usefpa, ! 30: "f68881", &use68881, ! 31: "fsky", &usesky, ! 32: "fsoft", &usesoft, ! 33: "fswitch", &useswitch, ! 34: }; ! 35: ! 36: int chk_ovfl = 0; ! 37: ! 38: myflags( c, cpp ) ! 39: char c; ! 40: register char **cpp; ! 41: { ! 42: register struct machopts *fp; ! 43: register char *cp; ! 44: ! 45: switch( c ) { ! 46: case 'A': ! 47: cp = *cpp; ! 48: stmtprofflag = 1; ! 49: if((dotd_fp = fopen(cp+1, "w")) == NULL){ ! 50: perror(cp+1); ! 51: cerror( "can't open statement profiling statistics file"); ! 52: } ! 53: goto endswitch; ! 54: ! 55: case 'f': ! 56: case 'm': ! 57: cp = *cpp; ! 58: for (fp = machopts; fp->optname; fp++) { ! 59: if (!strcmp(fp->optname, cp)) { ! 60: *(fp->useflag) = 1; ! 61: goto endswitch; ! 62: } ! 63: } ! 64: #ifndef FORT ! 65: #ifdef FLOATMATH ! 66: if (!strcmp("fsingle", cp)) { ! 67: FLOATMATH = 1; ! 68: goto endswitch; ! 69: } ! 70: if (!strcmp("fsingle2", cp)) { ! 71: FLOATMATH = 2; ! 72: goto endswitch; ! 73: } ! 74: #endif ! 75: #endif ! 76: ! 77: endswitch: ! 78: /* recognized an option string; skip to its end */ ! 79: while (cp[1]) cp++; ! 80: *cpp = cp; ! 81: return; ! 82: ! 83: case 'F': ! 84: usesky = 1; ! 85: use68881 = 0; ! 86: return; ! 87: case 'V': ! 88: chk_ovfl++; ! 89: return; ! 90: default: ! 91: cerror( "Bad flag %c", c ); ! 92: } ! 93: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.