static int dt_pcb_pop_ident(dt_idhash_t *dhp, dt_ident_t *idp, void *arg) { dtrace_hdl_t *dtp = arg; if (idp->di_gen == dtp->dt_gen) dt_idhash_delete(dhp, idp); return (0); }
/*ARGSUSED*/ static void dt_pragma_apply(dt_idhash_t *dhp, dt_ident_t *idp) { dt_idhash_t *php; dt_ident_t *pdp; if ((php = yypcb->pcb_pragmas) == NULL) return; /* no pragmas pending for current compilation pass */ while ((pdp = dt_idhash_lookup(php, idp->di_name)) != NULL) { switch (pdp->di_kind) { case DT_IDENT_PRAGAT: idp->di_attr = pdp->di_attr; break; case DT_IDENT_PRAGBN: idp->di_vers = pdp->di_vers; break; } dt_idhash_delete(php, pdp); } }