Module Name: othersrc Committed By: dholland Date: Mon Mar 4 23:31:57 UTC 2013
Modified Files: othersrc/usr.bin/dholland-make2: make.c make.h targ.c Log Message: Use (far) fewer void pointers now that we're free of that list library. Also drop meaningless always-zero integer return values that the list library needed for its function pointers. To generate a diff of this commit: cvs rdiff -u -r1.5 -r1.6 othersrc/usr.bin/dholland-make2/make.c \ othersrc/usr.bin/dholland-make2/targ.c cvs rdiff -u -r1.6 -r1.7 othersrc/usr.bin/dholland-make2/make.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: othersrc/usr.bin/dholland-make2/make.c diff -u othersrc/usr.bin/dholland-make2/make.c:1.5 othersrc/usr.bin/dholland-make2/make.c:1.6 --- othersrc/usr.bin/dholland-make2/make.c:1.5 Mon Mar 4 23:03:42 2013 +++ othersrc/usr.bin/dholland-make2/make.c Mon Mar 4 23:31:57 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: make.c,v 1.5 2013/03/04 23:03:42 dholland Exp $ */ +/* $NetBSD: make.c,v 1.6 2013/03/04 23:31:57 dholland Exp $ */ /* * Copyright (c) 1988, 1989, 1990, 1993 @@ -111,7 +111,7 @@ #include "dir.h" #include "job.h" -MAKE_RCSID("$NetBSD: make.c,v 1.5 2013/03/04 23:03:42 dholland Exp $"); +MAKE_RCSID("$NetBSD: make.c,v 1.6 2013/03/04 23:31:57 dholland Exp $"); static unsigned int checked = 1;/* Sequence # to detect recursion */ static Lst toBeMade; /* The current fringe of the graph. These @@ -120,18 +120,17 @@ static Lst toBeMade; /* The current * Make_Update and subtracted from by * MakeStartJobs */ -static int MakeAddChild2(void *, void *); -static int MakeFindChild(void *, void *); -static int MakeUnmark(void *, void *); -static int MakeAddAllSrc(void *, void *); -static int MakeTimeStamp(void *, void *); -static int MakeHandleUse(void *, void *); +static void MakeAddChild(GNode *, GList *); +static void MakeFindChild(GNode *, GNode *); +static void MakeUnmark(GNode *); +static void MakeAddAllSrc(GNode *, GNode *); +static void MakeHandleUse(GNode *, GNode *); static Boolean MakeStartJobs(void); -static int MakePrintStatus(void *, void *); -static int MakeCheckOrder(void *, void *); +static int MakePrintStatus(GNode *, int *); +static int MakeCheckOrder(GNode *); static int DoMakeCheckOrder(GList *); -static int MakeBuildChild(void *, void *); -static int MakeBuildParent(void *, void *); +static int MakeBuildChild(GNode *, LstNode); +static void MakeBuildParent(GNode *, LstNode); MAKE_ATTR_DEAD static void make_abort(GNode *gn, int line) @@ -156,33 +155,21 @@ make_abort(GNode *gn, int line) * cgn the child we've just examined * * Results: - * Always returns 0. + * None * * Side Effects: * The cmgn of the parent node will be changed if the mtime * field of the child is greater than it. *----------------------------------------------------------------------- */ -int +void Make_TimeStamp(GNode *pgn, GNode *cgn) { if (pgn->cmgn == NULL || cgn->mtime > pgn->cmgn->mtime) { pgn->cmgn = cgn; } - return (0); } -/* - * Input: - * pgn the current parent - * cgn the child we've just examined - * - */ -static int -MakeTimeStamp(void *pgn, void *cgn) -{ - return Make_TimeStamp((GNode *)pgn, (GNode *)cgn); -} /*- *----------------------------------------------------------------------- @@ -342,7 +329,7 @@ Make_OODate(GNode *gn) unsigned i; for (i=0; i<glist_num(&gn->parents); i++) { - MakeTimeStamp(glist_get(&gn->parents, i), gn); + Make_TimeStamp(glist_get(&gn->parents, i), gn); } } @@ -354,51 +341,28 @@ Make_OODate(GNode *gn) * MakeAddChild -- * Function used by Make_Run to add a child to the list l. * It will only add the child if its make field is FALSE. - * MakeAddChild2 -- - * Same but lp is a GList, not a Lst. * * Input: * gnp the node to add * lp the list to which to add it * * Results: - * Always returns 0 + * None * * Side Effects: * The given list is extended *----------------------------------------------------------------------- */ -#if 0 -static int -MakeAddChild(void *gnp, void *lp) -{ - GNode *gn = (GNode *)gnp; - Lst l = (Lst) lp; - if ((gn->flags & REMAKE) == 0 && !(gn->type & (OP_USE|OP_USEBEFORE))) { - if (DEBUG(MAKE)) - fprintf(debug_file, "MakeAddChild: need to examine %s%s\n", - gn->name, gn->cohort_num); - (void)Lst_EnQueue(l, gn); - } - return (0); -} -#endif - -/* array variant */ -static int -MakeAddChild2(void *gnp, void *lp) +static void +MakeAddChild(GNode *gn, GList *l) { - GNode *gn = (GNode *)gnp; - GList *l = lp; - if ((gn->flags & REMAKE) == 0 && !(gn->type & (OP_USE|OP_USEBEFORE))) { if (DEBUG(MAKE)) fprintf(debug_file, "MakeAddChild: need to examine %s%s\n", gn->name, gn->cohort_num); glist_add(l, gn, NULL); } - return (0); } /*- @@ -408,27 +372,23 @@ MakeAddChild2(void *gnp, void *lp) * that was already made. * * Input: - * gnp the node to find + * gn the node to find + * pgn parent of gn * * Results: - * Always returns 0 + * None * * Side Effects: * The path and mtime of the node and the cmgn of the parent are * updated; the unmade children count of the parent is decremented. *----------------------------------------------------------------------- */ -static int -MakeFindChild(void *gnp, void *pgnp) +static void +MakeFindChild(GNode *gn, GNode *pgn) { - GNode *gn = (GNode *)gnp; - GNode *pgn = (GNode *)pgnp; - (void)Dir_MTime(gn, 0); Make_TimeStamp(pgn, gn); pgn->unmade--; - - return (0); } /*- @@ -536,25 +496,23 @@ Make_HandleUse(GNode *cgn, GNode *pgn) * pgnp the current parent * * Results: - * returns 0. + * None * * Side Effects: * After expansion, .USE child nodes are removed from the parent * *----------------------------------------------------------------------- */ -static int -MakeHandleUse(void *cgnp, void *pgnp) +static void +MakeHandleUse(GNode *cgn, GNode *pgn) { - GNode *cgn = (GNode *)cgnp; - GNode *pgn = (GNode *)pgnp; int unmarked; unmarked = ((cgn->type & OP_MARK) == 0); cgn->type |= OP_MARK; if ((cgn->type & (OP_USE|OP_USEBEFORE)) == 0) - return (0); + return; if (unmarked) Make_HandleUse(cgn, pgn); @@ -570,7 +528,6 @@ MakeHandleUse(void *cgnp, void *pgnp) glist_removeval(&pgn->children, cgn); pgn->unmade--; } - return (0); } @@ -746,9 +703,7 @@ Make_Update(GNode *cgn) for (i=0; i<glist_num(¢urion->order_succ); i++) { succ = glist_get(¢urion->order_succ, i); - if (MakeBuildParent(succ, Lst_First(toBeMade))) { - break; - } + MakeBuildParent(succ, Lst_First(toBeMade)); } } @@ -888,19 +843,16 @@ Make_Update(GNode *cgn) * modification times, the comparison is rather unfair...).. * * Results: - * Always returns 0 + * None * * Side Effects: * The ALLSRC variable for the given node is extended. *----------------------------------------------------------------------- */ -static int -MakeUnmark(void *cgnp, void *pgnp MAKE_ATTR_UNUSED) +static void +MakeUnmark(GNode *cgn) { - GNode *cgn = (GNode *)cgnp; - cgn->type &= ~OP_MARK; - return (0); } /* @@ -910,14 +862,11 @@ MakeUnmark(void *cgnp, void *pgnp MAKE_A * be added * */ -static int -MakeAddAllSrc(void *cgnp, void *pgnp) +static void +MakeAddAllSrc(GNode *cgn, GNode *pgn) { - GNode *cgn = (GNode *)cgnp; - GNode *pgn = (GNode *)pgnp; - if (cgn->type & OP_MARK) - return (0); + return; cgn->type |= OP_MARK; if ((cgn->type & (OP_EXEC|OP_USE|OP_USEBEFORE|OP_INVISIBLE)) == 0) { @@ -965,7 +914,6 @@ MakeAddAllSrc(void *cgnp, void *pgnp) if (p1) free(p1); } - return (0); } /*- @@ -999,15 +947,11 @@ Make_DoAllVar(GNode *gn) return; for (i=0; i<glist_num(&gn->children); i++) { - if (MakeUnmark(glist_get(&gn->children, i), gn)) { - break; - } + MakeUnmark(glist_get(&gn->children, i)); } /* XXX: does this need to be a separate loop? */ for (i=0; i<glist_num(&gn->children); i++) { - if (MakeAddAllSrc(glist_get(&gn->children, i), gn)) { - break; - } + MakeAddAllSrc(glist_get(&gn->children, i), gn); } if (!Var_Exists (OODATE, gn)) { @@ -1044,10 +988,8 @@ Make_DoAllVar(GNode *gn) */ static int -MakeCheckOrder(void *v_bn, void *ignore MAKE_ATTR_UNUSED) +MakeCheckOrder(GNode *bn) { - GNode *bn = v_bn; - if (bn->made >= MADE || !(bn->flags & REMAKE)) return 0; if (DEBUG(MAKE)) @@ -1070,7 +1012,7 @@ DoMakeCheckOrder(GList *order_pred) return 0; } for (i=0; i<n; i++) { - if (MakeCheckOrder(glist_get(order_pred, i), 0)) { + if (MakeCheckOrder(glist_get(order_pred, i))) { return 1; } } @@ -1078,10 +1020,8 @@ DoMakeCheckOrder(GList *order_pred) } static int -MakeBuildChild(void *v_cn, void *toBeMade_next) +MakeBuildChild(GNode *cn, LstNode toBeMade_next) { - GNode *cn = v_cn; - if (DEBUG(MAKE)) fprintf(debug_file, "MakeBuildChild: inspect %s%s, made %d, type %x\n", cn->name, cn->cohort_num, cn->made, cn->type); @@ -1123,20 +1063,16 @@ MakeBuildChild(void *v_cn, void *toBeMad } /* When a .ORDER LHS node completes we do this on each RHS */ -static int -MakeBuildParent(void *v_pn, void *toBeMade_next) +static void +MakeBuildParent(GNode *pn, LstNode toBeMade_next) { - GNode *pn = v_pn; - if (pn->made != DEFERRED) - return 0; + return; if (MakeBuildChild(pn, toBeMade_next) == 0) { /* Mark so that when this node is built we reschedule its parents */ pn->flags |= DONE_ORDER; } - - return 0; } static Boolean @@ -1240,22 +1176,20 @@ MakeStartJobs(void) * inferior. * * Results: - * Always returns 0. + * 1 to stop printing * * Side Effects: * A message may be printed. * *----------------------------------------------------------------------- */ -static int -MakePrintStatusOrder(void *ognp, void *gnp) +static void +MakePrintStatusOrder(GNode *ogn, GNode *gn) { - GNode *ogn = ognp; - GNode *gn = gnp; - - if (!(ogn->flags & REMAKE) || ogn->made > REQUESTED) + if (!(ogn->flags & REMAKE) || ogn->made > REQUESTED) { /* not waiting for this one */ - return 0; + return; + } printf(" `%s%s' has .ORDER dependency against %s%s " "(made %d, flags %x, type %x)\n", @@ -1266,19 +1200,17 @@ MakePrintStatusOrder(void *ognp, void *g "(made %d, flags %x, type %x)\n", gn->name, gn->cohort_num, ogn->name, ogn->cohort_num, ogn->made, ogn->flags, ogn->type); - return 0; } static int -MakePrintStatus(void *gnp, void *v_errors) +MakePrintStatus(GNode *gn, int *errors) { - GNode *gn = (GNode *)gnp; - int *errors = v_errors; unsigned i; - if (gn->flags & DONECYCLE) + if (gn->flags & DONECYCLE) { /* We've completely processed this node before, don't do it again. */ return 0; + } if (gn->unmade == 0) { gn->flags |= DONECYCLE; @@ -1352,6 +1284,14 @@ MakePrintStatus(void *gnp, void *v_error } return 0; } + +/* non-typesafe thunk for list library; remove when possible (XXX) */ +static int +doMakePrintStatus(void *gnp, void *errors) +{ + return MakePrintStatus(gnp, errors); +} + /*- @@ -1434,7 +1374,7 @@ Make_ExpandUse(Lst targs) (void)Dir_MTime(gn, 0); Var_Set(TARGET, gn->path ? gn->path : gn->name, gn, 0); for (i=0; i<glist_num(&gn->children); i++) { - MakeUnmark(glist_get(&gn->children, i), gn); + MakeUnmark(glist_get(&gn->children, i)); } /* XXX: does this need to be a separate loop? */ for (i=0; i<glist_num(&gn->children); i++) { @@ -1455,7 +1395,7 @@ Make_ExpandUse(Lst targs) if (gn->unmade != 0) { for (i=0; i<glist_num(&gn->children); i++) { - MakeAddChild2(glist_get(&gn->children, i), &examine); + MakeAddChild(glist_get(&gn->children, i), &examine); } } } @@ -1488,11 +1428,8 @@ link_parent(void *cnp, void *pnp) } static int -add_wait_dep(void *v_cn, void *v_wn) +add_wait_dep(GNode *cn, GNode *wn) { - GNode *cn = v_cn; - GNode *wn = v_wn; - if (cn == wn) return 1; @@ -1669,7 +1606,7 @@ Make_Run(Lst targs) if (DEBUG(MAKE)) fprintf(debug_file, "done: errors %d\n", errors); if (errors == 0) { - Lst_ForEach(targs, MakePrintStatus, &errors); + Lst_ForEach(targs, doMakePrintStatus, &errors); if (DEBUG(MAKE)) { fprintf(debug_file, "done: errors %d\n", errors); if (errors) Index: othersrc/usr.bin/dholland-make2/targ.c diff -u othersrc/usr.bin/dholland-make2/targ.c:1.5 othersrc/usr.bin/dholland-make2/targ.c:1.6 --- othersrc/usr.bin/dholland-make2/targ.c:1.5 Mon Mar 4 23:03:42 2013 +++ othersrc/usr.bin/dholland-make2/targ.c Mon Mar 4 23:31:57 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: targ.c,v 1.5 2013/03/04 23:03:42 dholland Exp $ */ +/* $NetBSD: targ.c,v 1.6 2013/03/04 23:31:57 dholland Exp $ */ /* * Copyright (c) 1988, 1989, 1990, 1993 @@ -127,7 +127,7 @@ #include "hash.h" #include "dir.h" -MAKE_RCSID("$NetBSD: targ.c,v 1.5 2013/03/04 23:03:42 dholland Exp $"); +MAKE_RCSID("$NetBSD: targ.c,v 1.6 2013/03/04 23:31:57 dholland Exp $"); static Lst allTargets; /* the list of all targets found so far */ #ifdef CLEANUP @@ -138,11 +138,11 @@ static Hash_Table targets; /* a hash tab #define HTSIZE 191 /* initial size of hash table */ static int TargPrintOnlySrc(void *, void *); -static int TargPrintName(void *, void *); +static void TargPrintName(GNode *); #ifdef CLEANUP static void TargFreeGN(void *); #endif -static int TargPropagateCohort(void *, void *); +static void TargPropagateCohort(GNode *, GNode *); static int TargPropagateNode(void *, void *); /*- @@ -510,14 +510,10 @@ Targ_SetMain(GNode *gn) mainTarg = gn; } -static int -TargPrintName(void *gnp, void *pflags MAKE_ATTR_UNUSED) +static void +TargPrintName(GNode *gn) { - GNode *gn = (GNode *)gnp; - fprintf(debug_file, "%s%s ", gn->name, gn->cohort_num); - - return 0; } @@ -661,7 +657,7 @@ Targ_PrintNode(void *gnp, void *passp) fprintf(debug_file, "# implicit parents: "); for (i=0; i<glist_num(&gn->iParents); i++) { - TargPrintName(glist_get(&gn->iParents, i), NULL); + TargPrintName(glist_get(&gn->iParents, i)); } fprintf(debug_file, "\n"); } @@ -674,7 +670,7 @@ Targ_PrintNode(void *gnp, void *passp) fprintf(debug_file, "# parents: "); for (i=0; i<glist_num(&gn->parents); i++) { - TargPrintName(glist_get(&gn->parents, i), NULL); + TargPrintName(glist_get(&gn->parents, i)); } fprintf(debug_file, "\n"); } @@ -683,7 +679,7 @@ Targ_PrintNode(void *gnp, void *passp) fprintf(debug_file, "# order_pred: "); for (i=0; i<glist_num(&gn->order_pred); i++) { - TargPrintName(glist_get(&gn->order_pred, i), NULL); + TargPrintName(glist_get(&gn->order_pred, i)); } fprintf(debug_file, "\n"); } @@ -692,7 +688,7 @@ Targ_PrintNode(void *gnp, void *passp) fprintf(debug_file, "# order_succ: "); for (i=0; i<glist_num(&gn->order_succ); i++) { - TargPrintName(glist_get(&gn->order_succ, i), NULL); + TargPrintName(glist_get(&gn->order_succ, i)); } fprintf(debug_file, "\n"); } @@ -711,7 +707,7 @@ Targ_PrintNode(void *gnp, void *passp) unsigned i; for (i=0; i<glist_num(&gn->children); i++) { - TargPrintName(glist_get(&gn->children, i), NULL); + TargPrintName(glist_get(&gn->children, i)); } } fprintf(debug_file, "\n"); @@ -846,14 +842,10 @@ TargPropagateNode(void *gnp, void *junk * bits from gnp's type bitmask. (XXX need a better explanation.) *----------------------------------------------------------------------- */ -static int -TargPropagateCohort(void *cgnp, void *pgnp) +static void +TargPropagateCohort(GNode *cgn, GNode *pgn) { - GNode *cgn = (GNode *)cgnp; - GNode *pgn = (GNode *)pgnp; - cgn->type |= pgn->type & ~OP_OPMASK; - return (0); } /*- Index: othersrc/usr.bin/dholland-make2/make.h diff -u othersrc/usr.bin/dholland-make2/make.h:1.6 othersrc/usr.bin/dholland-make2/make.h:1.7 --- othersrc/usr.bin/dholland-make2/make.h:1.6 Mon Mar 4 05:50:49 2013 +++ othersrc/usr.bin/dholland-make2/make.h Mon Mar 4 23:31:57 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: make.h,v 1.6 2013/03/04 05:50:49 dholland Exp $ */ +/* $NetBSD: make.h,v 1.7 2013/03/04 23:31:57 dholland Exp $ */ /* * Copyright (c) 1988, 1989, 1990, 1993 @@ -266,7 +266,7 @@ extern int debug; #include "nonints.h" -int Make_TimeStamp(GNode *, GNode *); +void Make_TimeStamp(GNode *, GNode *); Boolean Make_OODate(GNode *); void Make_ExpandUse(Lst); time_t Make_Recheck(GNode *);