endproc() { struct Labelblock *lp; if(parstate < INDATA) enddcl(); if(ctlstack >= ctls) err("DO loop or BLOCK IF not closed"); for(lp = labeltab ; lp < labtabend ; ++lp) if(lp->stateno!=0 && lp->labdefined==NO) errstr("missing statement number %s", convic(lp->stateno) ); if (optimflag) optimize(); outiodata(); epicode(); procode(); donmlist(); dobss(); #if FAMILY == PCC putbracket(); #endif fixlwm(); procinit(); /* clean up for next procedure */ }
void endproc() { struct labelblock *lp; if(parstate < INDATA) enddcl(); if(ctlstack >= ctls) err("DO loop or BLOCK IF not closed"); for(lp = labeltab ; lp < labtabend ; ++lp) if(lp->stateno!=0 && lp->labdefined==NO) err1("missing statement number %s", convic(lp->stateno) ); epicode(); procode(); dobss(); prdbginfo(); putbracket(); procinit(); /* clean up for next procedure */ }