Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/usr.bin/make make(1): extract condition from GNode_IsOODate ...



details:   https://anonhg.NetBSD.org/src/rev/c8eee4b27eaf
branches:  trunk
changeset: 956828:c8eee4b27eaf
user:      rillig <rillig%NetBSD.org@localhost>
date:      Sun Nov 08 09:48:52 2020 +0000

description:
make(1): extract condition from GNode_IsOODate into separate function

diffstat:

 usr.bin/make/make.c |  35 ++++++++++++++++++++---------------
 1 files changed, 20 insertions(+), 15 deletions(-)

diffs (63 lines):

diff -r 0845f7e2b8ca -r c8eee4b27eaf usr.bin/make/make.c
--- a/usr.bin/make/make.c       Sun Nov 08 09:34:55 2020 +0000
+++ b/usr.bin/make/make.c       Sun Nov 08 09:48:52 2020 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: make.c,v 1.194 2020/11/08 09:34:55 rillig Exp $        */
+/*     $NetBSD: make.c,v 1.195 2020/11/08 09:48:52 rillig Exp $        */
 
 /*
  * Copyright (c) 1988, 1989, 1990, 1993
@@ -108,7 +108,7 @@
 #include "job.h"
 
 /*     "@(#)make.c     8.1 (Berkeley) 6/6/93"  */
-MAKE_RCSID("$NetBSD: make.c,v 1.194 2020/11/08 09:34:55 rillig Exp $");
+MAKE_RCSID("$NetBSD: make.c,v 1.195 2020/11/08 09:48:52 rillig Exp $");
 
 /* Sequence # to detect recursion. */
 static unsigned int checked = 1;
@@ -192,6 +192,23 @@
        gn->youngestChild = cgn;
 }
 
+/*
+ * A node whose modification time is less than that of its
+ * youngest child or that has no children (youngestChild == NULL) and
+ * either doesn't exist (mtime == 0) and it isn't optional
+ * or was the object of a * :: operator is out-of-date.
+ * Why? Because that's the way Make does it.
+ */
+static Boolean
+IsOlderThanYoungestChild(GNode *gn)
+{
+    return (gn->youngestChild != NULL &&
+           gn->mtime < gn->youngestChild->mtime) ||
+          (gn->youngestChild == NULL &&
+           ((gn->mtime == 0 && !(gn->type & OP_OPTIONAL))
+            || gn->type & OP_DOUBLEDEP));
+}
+
 /* See if the node is out of date with respect to its sources.
  *
  * Used by Make_Run when deciding which nodes to place on the
@@ -275,19 +292,7 @@
            }
        }
        oodate = TRUE;
-    } else if ((gn->youngestChild != NULL &&
-               gn->mtime < gn->youngestChild->mtime) ||
-              (gn->youngestChild == NULL &&
-               ((gn->mtime == 0 && !(gn->type & OP_OPTIONAL))
-                || gn->type & OP_DOUBLEDEP)))
-    {
-       /*
-        * A node whose modification time is less than that of its
-        * youngest child or that has no children (youngestChild == NULL) and
-        * either doesn't exist (mtime == 0) and it isn't optional
-        * or was the object of a * :: operator is out-of-date.
-        * Why? Because that's the way Make does it.
-        */
+    } else if (IsOlderThanYoungestChild(gn)) {
        if (DEBUG(MAKE)) {
            if (gn->youngestChild != NULL &&
                gn->mtime < gn->youngestChild->mtime) {



Home | Main Index | Thread Index | Old Index