# 2.11BSD#431 - /usr/src/usr.bin/f77/misc.c

##### Functions

    addressable       X
    builtin           X
    call0             X
    call1             X
    call2             X
    call3             X
    call4             X
    callk             X
    ckalloc           X
    cmpstr            X
    convcd            X
    convci            X
    convic            X
    copyn             X
    copys             X
    cpblock           X
    cpn               X
    eqn               X
    frchain           X
    frrpl             X
    hextoi            X
    hookup            X
    isaddr            X
    lmax              X
    lmin              X
    log2              X
    max               X
    maxtype           X
    mkchain           X
    mkext             X
    mkiodo            X
    mklabel           X
    mklist            X
    mkname            X
    newlabel          X
    nounder           X
    popstack          X
    varstr            X
    varunder          X

       1: #include "defs"
       2: #include "string_defs"
       3:
       4:
       5:
       6: cpn(n, a, b)
       7: register int n;
       8: register char *a, *b;
       9: {
      10: while(--n >= 0)
      11:     *b++ = *a++;
      12: }
      13:
      14:
      15:
      16: eqn(n, a, b)
      17: register int n;
      18: register char *a, *b;
      19: {
      20: while(--n >= 0)
      21:     if(*a++ != *b++)
      22:         return(NO);
      23: return(YES);
      24: }
      25:
      26:
      27:
      28:
      29:
      30:
      31:
      32: cmpstr(a, b, la, lb)    /* compare two strings */
      33: register char *a, *b;
      34: ftnint la, lb;
      35: {
      36: register char *aend, *bend;
      37: aend = a + la;
      38: bend = b + lb;
      39:
      40:
      41: if(la <= lb)
      42:     {
      43:     while(a < aend)
      44:         if(*a != *b)
      45:             return( *a - *b );
      46:         else
      47:             { ++a; ++b; }
      48:
      49:     while(b < bend)
      50:         if(*b != ' ')
      51:             return(' ' - *b);
      52:         else
      53:             ++b;
      54:     }
      55:
      56: else
      57:     {
      58:     while(b < bend)
      59:         if(*a != *b)
      60:             return( *a - *b );
      61:         else
      62:             { ++a; ++b; }
      63:     while(a < aend)
      64:         if(*a != ' ')
      65:             return(*a - ' ');
      66:         else
      67:             ++a;
      68:     }
      69: return(0);
      70: }
      71:
      72:
      73:
      74:
      75:
      76: chainp hookup(x,y)
      77: register chainp x, y;
      78: {
      79: register chainp p;
      80:
      81: if(x == NULL)
      82:     return(y);
      83:
      84: for(p = x ; p->nextp ; p = p->nextp)
      85:     ;
      86: p->nextp = y;
      87: return(x);
      88: }
      89:
      90:
      91:
      92: struct listblock *mklist(p)
      93: chainp p;
      94: {
      95: register struct listblock *q;
      96:
      97: q = ALLOC(listblock);
      98: q->tag = TLIST;
      99: q->listp = p;
     100: return(q);
     101: }
     102:
     103:
     104: chainp mkchain(p,q)
     105: register int p, q;
     106: {
     107: register chainp r;
     108:
     109: if(chains)
     110:     {
     111:     r = chains;
     112:     chains = chains->nextp;
     113:     }
     114: else
     115:     r = ALLOC(chain);
     116:
     117: r->datap = p;
     118: r->nextp = q;
     119: return(r);
     120: }
     121:
     122:
     123:
     124: char * varstr(n, s)
     125: register int n;
     126: register char *s;
     127: {
     128: register int i;
     129: static char name[XL+1];
     130:
     131: for(i=0;  i<n && *s!=' ' && *s!='\0' ; ++i)
     132:     name[i] = *s++;
     133:
     134: name[i] = '\0';
     135:
     136: return( name );
     137: }
     138:
     139:
     140:
     141:
     142: char * varunder(n, s)
     143: register int n;
     144: register char *s;
     145: {
     146: register int i;
     147: static char name[XL+1];
     148:
     149: for(i=0;  i<n && *s!=' ' && *s!='\0' ; ++i)
     150:     name[i] = *s++;
     151:
     152: #if TARGET != GCOS
     153: name[i++] = '_';
     154: #endif
     155:
     156: name[i] = '\0';
     157:
     158: return( name );
     159: }
     160:
     161:
     162:
     163:
     164:
     165: char * nounder(n, s)
     166: register int n;
     167: register char *s;
     168: {
     169: register int i;
     170: static char name[XL+1];
     171:
     172: for(i=0;  i<n && *s!=' ' && *s!='\0' ; ++s)
     173:     if(*s != '_')
     174:         name[i++] = *s;
     175:
     176: name[i] = '\0';
     177:
     178: return( name );
     179: }
     180:
     181:
     182:
     183: char *copyn(n, s)
     184: register int n;
     185: register char *s;
     186: {
     187: register char *p, *q;
     188:
     189: p = q = ckalloc(n);
     190: while(--n >= 0)
     191:     *q++ = *s++;
     192: return(p);
     193: }
     194:
     195:
     196:
     197: char *copys(s)
     198: char *s;
     199: {
     200: return( copyn( strlen(s)+1 , s) );
     201: }
     202:
     203:
     204:
     205: ftnint convci(n, s)
     206: register int n;
     207: register char *s;
     208: {
     209: ftnint sum;
     210: sum = 0;
     211: while(n-- > 0)
     212:     sum = 10*sum + (*s++ - '0');
     213: return(sum);
     214: }
     215:
     216: char *convic(n)
     217: ftnint n;
     218: {
     219: static char s[20];
     220: register char *t;
     221:
     222: s[19] = '\0';
     223: t = s+19;
     224:
     225: do  {
     226:     *--t = '0' + n%10;
     227:     n /= 10;
     228:     } while(n > 0);
     229:
     230: return(t);
     231: }
     232:
     233:
     234:
     235: double convcd(n, s)
     236: int n;
     237: register char *s;
     238: {
     239: double atof();
     240: char v[100];
     241: register char *t;
     242: if(n > 90)
     243:     {
     244:     error("too many digits in floating constant",0,0,ERR);
     245:     n = 90;
     246:     }
     247: for(t = v ; n-- > 0 ; s++)
     248:     *t++ = (*s=='d' ? 'e' : *s);
     249: *t = '\0';
     250: return( atof(v) );
     251: }
     252:
     253:
     254:
     255: struct nameblock *mkname(l, s)
     256: int l;
     257: register char *s;
     258: {
     259: struct hashentry *hp;
     260: int hash;
     261: register struct nameblock *q;
     262: register int i;
     263: char n[VL];
     264:
     265: hash = 0;
     266: for(i = 0 ; i<l && *s!='\0' ; ++i)
     267:     {
     268:     hash += *s;
     269:     n[i] = *s++;
     270:     }
     271: hash %= MAXHASH;
     272: while( i < VL )
     273:     n[i++] = ' ';
     274:
     275: hp = hashtab + hash;
     276: while(q = hp->varp)
     277:     if( hash==hp->hashval && eqn(VL,n,q->varname) )
     278:         return(q);
     279:     else if(++hp >= lasthash)
     280:         hp = hashtab;
     281:
     282: if(++nintnames >= MAXHASH-1)
     283:     error("hash table full",0,0,FATAL);
     284: hp->varp = q = ALLOC(nameblock);
     285: hp->hashval = hash;
     286: q->tag = TNAME;
     287: cpn(VL, n, q->varname);
     288: return(q);
     289: }
     290:
     291:
     292:
     293: struct labelblock *mklabel(l)
     294: ftnint l;
     295: {
     296: register struct labelblock *lp;
     297:
     298: if(l == 0)
     299:     return(0);
     300:
     301: for(lp = labeltab ; lp < highlabtab ; ++lp)
     302:     if(lp->stateno == l)
     303:         return(lp);
     304:
     305: if(++highlabtab >= labtabend)
     306:     error("too many statement numbers",0,0,FATAL);
     307:
     308: lp->stateno = l;
     309: lp->labelno = newlabel();
     310: lp->blklevel = 0;
     311: lp->labused = NO;
     312: lp->labdefined = NO;
     313: lp->labinacc = NO;
     314: lp->labtype = LABUNKNOWN;
     315: return(lp);
     316: }
     317:
     318:
     319: newlabel()
     320: {
     321: return( ++lastlabno );
     322: }
     323:
     324:
     325: /* find or put a name in the external symbol table */
     326:
     327: struct extsym *mkext(s)
     328: char *s;
     329: {
     330: int i;
     331: register char *t;
     332: char n[XL];
     333: struct extsym *p;
     334:
     335: i = 0;
     336: t = n;
     337: while(i<XL && *s)
     338:     *t++ = *s++;
     339: while(t < n+XL)
     340:     *t++ = ' ';
     341:
     342: for(p = extsymtab ; p<nextext ; ++p)
     343:     if(eqn(XL, n, p->extname))
     344:         return( p );
     345:
     346: if(nextext >= lastext)
     347:     error("too many external symbols",0,0,FATAL);
     348:
     349: cpn(XL, n, nextext->extname);
     350: nextext->extstg = STGUNKNOWN;
     351: nextext->extsave = NO;
     352: nextext->extp = 0;
     353: nextext->extleng = 0;
     354: nextext->maxleng = 0;
     355: nextext->extinit = NO;
     356: return( nextext++ );
     357: }
     358:
     359:
     360:
     361:
     362:
     363:
     364:
     365:
     366: struct addrblock *builtin(t, s)
     367: int t;
     368: char *s;
     369: {
     370: register struct extsym *p;
     371: register struct addrblock *q;
     372:
     373: p = mkext(s);
     374: if(p->extstg == STGUNKNOWN)
     375:     p->extstg = STGEXT;
     376: else if(p->extstg != STGEXT)
     377:     {
     378:     error("improper use of builtin %s", s,0,ERR1);
     379:     return(0);
     380:     }
     381:
     382: q = ALLOC(addrblock);
     383: q->tag = TADDR;
     384: q->vtype = t;
     385: q->vclass = CLPROC;
     386: q->vstg = STGEXT;
     387: q->memno = p - extsymtab;
     388: return(q);
     389: }
     390:
     391:
     392:
     393: frchain(p)
     394: register chainp *p;
     395: {
     396: register chainp q;
     397:
     398: if(p==0 || *p==0)
     399:     return;
     400:
     401: for(q = *p; q->nextp ; q = q->nextp)
     402:     ;
     403: q->nextp = chains;
     404: chains = *p;
     405: *p = 0;
     406: }
     407:
     408:
     409: ptr cpblock(n,p)
     410: register int n;
     411: register char * p;
     412: {
     413: register char *q;
     414: ptr q0;
     415:
     416: q = q0 = ckalloc(n);
     417: while(n-- > 0)
     418:     *q++ = *p++;
     419: return(q0);
     420: }
     421:
     422:
     423:
     424: max(a,b)
     425: int a,b;
     426: {
     427: return( a>b ? a : b);
     428: }
     429:
     430:
     431: ftnint lmax(a, b)
     432: ftnint a, b;
     433: {
     434: return( a>b ? a : b);
     435: }
     436:
     437: ftnint lmin(a, b)
     438: ftnint a, b;
     439: {
     440: return(a < b ? a : b);
     441: }
     442:
     443:
     444:
     445:
     446: maxtype(t1, t2)
     447: int t1, t2;
     448: {
     449: int t;
     450:
     451: t = max(t1, t2);
     452: if(t==TYCOMPLEX && (t1==TYDREAL || t2==TYDREAL) )
     453:     t = TYDCOMPLEX;
     454: return(t);
     455: }
     456:
     457:
     458:
     459: /* return log base 2 of n if n a power of 2; otherwise -1 */
     460: #if FAMILY == SCJ
     461: log2(n)
     462: ftnint n;
     463: {
     464: int k;
     465:
     466: /* trick based on binary representation */
     467:
     468: if(n<=0 || (n & (n-1))!=0)
     469:     return(-1);
     470:
     471: for(k = 0 ;  n >>= 1  ; ++k)
     472:     ;
     473: return(k);
     474: }
     475: #endif
     476:
     477:
     478:
     479: frrpl()
     480: {
     481: struct rplblock *rp;
     482:
     483: while(rpllist)
     484:     {
     485:     rp = rpllist->nextp;
     486:     free(rpllist);
     487:     rpllist = rp;
     488:     }
     489: }
     490:
     491:
     492: popstack(p)
     493: register chainp *p;
     494: {
     495: register chainp q;
     496:
     497: if(p==NULL || *p==NULL)
     498:     error("popstack: stack empty",0,0,FATAL);
     499: q = (*p)->nextp;
     500: free(*p);
     501: *p = q;
     502: }
     503:
     504:
     505:
     506: struct exprblock *callk(type, name, args)
     507: int type;
     508: char *name;
     509: chainp args;
     510: {
     511: register struct exprblock *p;
     512:
     513: p = mkexpr(OPCALL, builtin(type,name), args);
     514: p->vtype = type;
     515: return(p);
     516: }
     517:
     518:
     519:
     520: struct exprblock *call4(type, name, arg1, arg2, arg3, arg4)
     521: int type;
     522: char *name;
     523: expptr arg1, arg2, arg3, arg4;
     524: {
     525: struct listblock *args;
     526: args = mklist( mkchain(arg1, mkchain(arg2, mkchain(arg3, mkchain(arg4, NULL)) ) ) );
     527: return( callk(type, name, args) );
     528: }
     529:
     530:
     531:
     532:
     533: struct exprblock *call3(type, name, arg1, arg2, arg3)
     534: int type;
     535: char *name;
     536: expptr arg1, arg2, arg3;
     537: {
     538: struct listblock *args;
     539: args = mklist( mkchain(arg1, mkchain(arg2, mkchain(arg3, NULL) ) ) );
     540: return( callk(type, name, args) );
     541: }
     542:
     543:
     544:
     545:
     546:
     547: struct exprblock *call2(type, name, arg1, arg2)
     548: int type;
     549: char *name;
     550: expptr arg1, arg2;
     551: {
     552: struct listblock *args;
     553:
     554: args = mklist( mkchain(arg1, mkchain(arg2, NULL) ) );
     555: return( callk(type,name, args) );
     556: }
     557:
     558:
     559:
     560:
     561: struct exprblock *call1(type, name, arg)
     562: int type;
     563: char *name;
     564: expptr arg;
     565: {
     566: return( callk(type,name, mklist(mkchain(arg,0)) ));
     567: }
     568:
     569:
     570: struct exprblock *call0(type, name)
     571: int type;
     572: char *name;
     573: {
     574: return( callk(type, name, NULL) );
     575: }
     576:
     577:
     578:
     579: struct impldoblock *mkiodo(dospec, list)
     580: chainp dospec, list;
     581: {
     582: register struct impldoblock *q;
     583:
     584: q = ALLOC(impldoblock);
     585: q->tag = TIMPLDO;
     586: q->varnp = dospec;
     587: q->datalist = list;
     588: return(q);
     589: }
     590:
     591:
     592:
     593:
     594: ptr ckalloc(n)
     595: register int n;
     596: {
     597: register ptr p;
     598: ptr calloc();
     599:
     600: if( p = calloc(1, (unsigned) n) )
     601:     return(p);
     602:
     603: error("out of memory",0,0,FATAL);
     604: /* NOTREACHED */
     605: }
     606:
     607:
     608:
     609:
     610:
     611: isaddr(p)
     612: register expptr p;
     613: {
     614: if(p->tag == TADDR)
     615:     return(YES);
     616: if(p->tag == TEXPR)
     617:     switch(p->opcode)
     618:         {
     619:         case OPCOMMA:
     620:             return( isaddr(p->rightp) );
     621:
     622:         case OPASSIGN:
     623:         case OPPLUSEQ:
     624:             return( isaddr(p->leftp) );
     625:         }
     626: return(NO);
     627: }
     628:
     629:
     630:
     631:
     632:
     633: addressable(p)
     634: register expptr p;
     635: {
     636: switch(p->tag)
     637:     {
     638:     case TCONST:
     639:         return(YES);
     640:
     641:     case TADDR:
     642:         return( addressable(p->memoffset) );
     643:
     644:     default:
     645:         return(NO);
     646:     }
     647: }
     648:
     649:
     650:
     651: hextoi(c)
     652: register int c;
     653: {
     654: register char *p;
     655: static char *p0 = "0123456789abcdef";
     656:
     657: for(p = p0 ; *p ; ++p)
     658:     if(*p == c)
     659:         return( p-p0 );
     660: return(16);
     661: }

#### Defined functions

addressable defined in line 633; used 3 times

- in line 642
- in /usr/src/usr.bin/f77/intr.c line 602
- in /usr/src/usr.bin/f77/putdmr.c line 615

builtin defined in line 366; used 6 times

- in line 513
- in /usr/src/usr.bin/f77/defs line 440
- in /usr/src/usr.bin/f77/expr.c line 755
- in /usr/src/usr.bin/f77/intr.c line 473, 479, 569

call0 defined in line 570; used 2 times

- in /usr/src/usr.bin/f77/io.c line 425-428(2)

call1 defined in line 561; used 7 times

- in /usr/src/usr.bin/f77/defs line 439
- in /usr/src/usr.bin/f77/exec.c line 250
- in /usr/src/usr.bin/f77/io.c line 673, 707, 719, 753, 766

call2 defined in line 547; used 10 times

- in /usr/src/usr.bin/f77/defs line 439
- in /usr/src/usr.bin/f77/expr.c line 463, 2153, 2160-2167(3)
- in /usr/src/usr.bin/f77/io.c line 501, 523
- in /usr/src/usr.bin/f77/putdmr.c line 851, 877

call3 defined in line 533; used 3 times

- in /usr/src/usr.bin/f77/defs line 439
- in /usr/src/usr.bin/f77/io.c line 501, 521

call4 defined in line 520; used 3 times

- in /usr/src/usr.bin/f77/defs line 439
- in /usr/src/usr.bin/f77/expr.c line 1100
- in /usr/src/usr.bin/f77/putdmr.c line 902

callk defined in line 506; used 5 times

- in line 527, 540, 555, 566, 574

ckalloc defined in line 594; used 8 times

- in line 189, 416
- in /usr/src/usr.bin/f77/defines line 38
- in /usr/src/usr.bin/f77/defs line 428
- in /usr/src/usr.bin/f77/expr.c line 98, 1750, 1800
- in /usr/src/usr.bin/f77/proc.c line 823

cmpstr defined in line 32; used 1 times

- in /usr/src/usr.bin/f77/expr.c line 1771

convcd defined in line 235; used 4 times

- in /usr/src/usr.bin/f77/defs line 435
- in /usr/src/usr.bin/f77/gram.expr line 87-88(2)
- in /usr/src/usr.bin/f77/gram.head line 23

convci defined in line 205; used 4 times

- in /usr/src/usr.bin/f77/defs line 432
- in /usr/src/usr.bin/f77/gram.dcl line 272
- in /usr/src/usr.bin/f77/gram.expr line 86
- in /usr/src/usr.bin/f77/gram.head line 22

convic defined in line 216; used 6 times

- in /usr/src/usr.bin/f77/defs line 433
- in /usr/src/usr.bin/f77/exec.c line 230
- in /usr/src/usr.bin/f77/gram.dcl line 264
- in /usr/src/usr.bin/f77/gram.head line 86-91(2)
- in /usr/src/usr.bin/f77/proc.c line 32

copyn defined in line 183; used 6 times

- in line 200
- in /usr/src/usr.bin/f77/defs line 430
- in /usr/src/usr.bin/f77/exec.c line 234
- in /usr/src/usr.bin/f77/expr.c line 240
- in /usr/src/usr.bin/f77/gram.head line 161
- in /usr/src/usr.bin/f77/lex.c line 108

copys defined in line 197; used 2 times

- in /usr/src/usr.bin/f77/defs line 430
- in /usr/src/usr.bin/f77/main.c line 102

cpblock defined in line 409; used 2 times

- in /usr/src/usr.bin/f77/expr.c line 214, 233

cpn defined in line 6; used 3 times

- in line 287, 349
- in /usr/src/usr.bin/f77/put.c line 209

eqn defined in line 16; used 7 times

- in line 277, 343
- in /usr/src/usr.bin/f77/intr.c line 532
- in /usr/src/usr.bin/f77/io.c line 364
- in /usr/src/usr.bin/f77/lex.c line 717
- in /usr/src/usr.bin/f77/proc.c line 524
- in /usr/src/usr.bin/f77/put.c line 181

frchain defined in line 393; used 14 times

- in /usr/src/usr.bin/f77/data.c line 316
- in /usr/src/usr.bin/f77/exec.c line 317
- in /usr/src/usr.bin/f77/expr.c line 328, 846
- in /usr/src/usr.bin/f77/gram.dcl line 217
- in /usr/src/usr.bin/f77/init.c line 200
- in /usr/src/usr.bin/f77/intr.c line 418, 441, 468
- in /usr/src/usr.bin/f77/io.c line 488
- in /usr/src/usr.bin/f77/proc.c line 508
- in /usr/src/usr.bin/f77/putdmr.c line 1129, 1138, 1189

frrpl defined in line 479; used 1 times

- in /usr/src/usr.bin/f77/gram.dcl line 139

hextoi defined in line 651; used 2 times

- in /usr/src/usr.bin/f77/expr.c line 81
- in /usr/src/usr.bin/f77/lex.c line 746

hookup defined in line 76; used 16 times

- in /usr/src/usr.bin/f77/defs line 431
- in /usr/src/usr.bin/f77/expr.c line 832
- in /usr/src/usr.bin/f77/gram.dcl line 219, 226
- in /usr/src/usr.bin/f77/gram.exec line 89, 108
- in /usr/src/usr.bin/f77/gram.expr line 9
- in /usr/src/usr.bin/f77/gram.head line 147
- in /usr/src/usr.bin/f77/gram.io line 139, 163-165(2)
- in /usr/src/usr.bin/f77/proc.c line 147, 666
- in /usr/src/usr.bin/f77/put.c line 63
- in /usr/src/usr.bin/f77/putdmr.c line 1069-1071(2)

isaddr defined in line 611; used 2 times

- in line 620-624(2)

lmax defined in line 431; used 3 times

- in /usr/src/usr.bin/f77/equiv.c line 4, 63, 215

lmin defined in line 437; used 3 times

- in /usr/src/usr.bin/f77/equiv.c line 4, 62, 214

log2 defined in line 461; never used
max defined in line 424; used 1 times

- in line 451

maxtype defined in line 446; used 4 times

- in /usr/src/usr.bin/f77/expr.c line 1558, 1777, 2163
- in /usr/src/usr.bin/f77/intr.c line 396

mkchain defined in line 104; used 47 times

- in line 526(4), 539(3), 554(2), 566
- in /usr/src/usr.bin/f77/defs line 431
- in /usr/src/usr.bin/f77/equiv.c line 43
- in /usr/src/usr.bin/f77/exec.c line 179
- in /usr/src/usr.bin/f77/expr.c line 254-256(2)
- in /usr/src/usr.bin/f77/gram.dcl line 206, 218
- in /usr/src/usr.bin/f77/gram.exec line 25, 86-90(3), 106-108(2)
- in /usr/src/usr.bin/f77/gram.expr line 7-9(2)
- in /usr/src/usr.bin/f77/gram.head line 145-147(2)
- in /usr/src/usr.bin/f77/gram.io line 137-139(2), 148-172(14)
- in /usr/src/usr.bin/f77/proc.c line 541, 666
- in /usr/src/usr.bin/f77/putdmr.c line 1069-1071(2)

mkext defined in line 327; used 12 times

- in line 373
- in /usr/src/usr.bin/f77/defs line 438
- in /usr/src/usr.bin/f77/expr.c line 681, 704, 1121, 1130
- in /usr/src/usr.bin/f77/proc.c line 97-99(2), 394, 417, 637, 644

mkiodo defined in line 579; used 5 times

- in /usr/src/usr.bin/f77/gram.head line 29
- in /usr/src/usr.bin/f77/gram.io line 144, 170-174(3)

mklabel defined in line 293; used 7 times

- in /usr/src/usr.bin/f77/defs line 437
- in /usr/src/usr.bin/f77/gram.dcl line 272
- in /usr/src/usr.bin/f77/gram.head line 81
- in /usr/src/usr.bin/f77/io.c line 242, 255, 261, 647

mklist defined in line 92; used 9 times

- in line 526, 539, 554, 566
- in /usr/src/usr.bin/f77/gram.exec line 44
- in /usr/src/usr.bin/f77/gram.expr line 66-68(2)
- in /usr/src/usr.bin/f77/gram.head line 27-28(2)

mkname defined in line 255; used 5 times

- in /usr/src/usr.bin/f77/defs line 436
- in /usr/src/usr.bin/f77/gram.head line 129
- in /usr/src/usr.bin/f77/proc.c line 78, 131, 303

newlabel defined in line 319; used 23 times

- in line 309
- in /usr/src/usr.bin/f77/exec.c line 12, 24-27(2), 43, 336-337(2), 355-356(2)
- in /usr/src/usr.bin/f77/io.c line 189, 278, 304, 450
- in /usr/src/usr.bin/f77/pdp11.c line 325
- in /usr/src/usr.bin/f77/proc.c line 80-84(2), 141-143(2), 150, 321
- in /usr/src/usr.bin/f77/put.c line 149
- in /usr/src/usr.bin/f77/putdmr.c line 42, 178

nounder defined in line 165; used 7 times

- in /usr/src/usr.bin/f77/defs line 429
- in /usr/src/usr.bin/f77/equiv.c line 153
- in /usr/src/usr.bin/f77/proc.c line 87, 130-131(2), 303, 526

popstack defined in line 492; used 1 times

- in /usr/src/usr.bin/f77/data.c line 120

varstr defined in line 124; used 24 times

- in /usr/src/usr.bin/f77/defs line 429
- in /usr/src/usr.bin/f77/error.c line 64, 120
- in /usr/src/usr.bin/f77/exec.c line 283
- in /usr/src/usr.bin/f77/expr.c line 755, 910, 1033, 1111, 1198
- in /usr/src/usr.bin/f77/intr.c line 474-479(2), 506-510(2), 555, 569, 578
- in /usr/src/usr.bin/f77/io.c line 371
- in /usr/src/usr.bin/f77/pdp11.c line 237, 318, 466, 508
- in /usr/src/usr.bin/f77/proc.c line 127, 404, 446

varunder defined in line 142; used 6 times

- in /usr/src/usr.bin/f77/defs line 429
- in /usr/src/usr.bin/f77/expr.c line 704, 1130
- in /usr/src/usr.bin/f77/proc.c line 99, 417, 644

Last modified: 1987-02-17 Generated: 2016-12-26 | Generated by src2html V0.67 page hit count: 1475 |