|
|
1.1 ! root 1: /* C compiler: UNIX code generator ! 2: * ! 3: * Outputs `stab' entries for the UNIX dbx debugger, ! 4: * if -g is specified. ! 5: */ ! 6: ! 7: #include "c.h" ! 8: ! 9: static char *currentfile; ! 10: ! 11: /* stabblock - output a stab entry for '{' or '}' at level lev */ ! 12: void stabblock(brace, lev, p) Symbol *p; { &brace; &lev; &p; } ! 13: ! 14: /* stabend - finalize stab output */ ! 15: void stabend(cp, p, cpp, sp, syms) Coordinate *cp; Symbol p, *sp, *syms; Coordinate **cpp; { &cp; &p; &cpp; &sp; &syms; } ! 16: ! 17: /* stabfend - end of function p */ ! 18: void stabfend(p, line) Symbol p; { &p; &line; } ! 19: ! 20: /* stabinit - initialize stab output */ ! 21: void stabinit(file, argc, argv) char *file, *argv[]; { ! 22: if (file) { ! 23: print(".file 2,\"%s\"\n", file); ! 24: currentfile = file; ! 25: } ! 26: } ! 27: ! 28: /* stabline - emit stab entry for source coordinate *cp */ ! 29: void stabline(cp) Coordinate *cp; { ! 30: if (cp->file && cp->file != currentfile) { ! 31: print(".file 2,\"%s\"\n", cp->file); ! 32: currentfile = cp->file; ! 33: } ! 34: print(".loc 2,%d\n", cp->y); ! 35: } ! 36: ! 37: /* stabsym - output a stab entry for symbol p */ ! 38: void stabsym(p) Symbol p; { ! 39: if (p == cfunc) ! 40: stabline(&p->src); ! 41: } ! 42: ! 43: /* stabtype - output a stab entry for type *p */ ! 44: void stabtype(p) Symbol p; { &p; }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.