summaryrefslogtreecommitdiff
path: root/gnu/usr.bin/diff/diff3.1
diff options
context:
space:
mode:
authorpk <pk@NetBSD.org>2002-02-07 16:48:22 +0000
committerpk <pk@NetBSD.org>2002-02-07 16:48:22 +0000
commitd5e7cd89bf3ce542d57f0cd14dbd9d21e3b7170b (patch)
tree98f635625a42fb9aa990dc4a6b92e8a41a6d6d6b /gnu/usr.bin/diff/diff3.1
parentada5327a7a4a39e2e248d522b929011861fef483 (diff)
When making a node which is the source of both a .MADE target and a
normal target (the latter dependency being the reason why it's made), the .MADE parent should not be put on the `toBeMade' list again (in Make_Update()) since it was already put on it in Make_ExpandUse(). Doing so would cause the rules for the .MADE target to be executed (at least) twice, and also mess up the unmade children count of _its_ parent, resulting in spurious graph cylce detection. To achieve this, make sure the unmade children count of the .MADE target is set to zero before enqueueing it on the `toBeMade' list in Make_ExpandUse(). Then, in Make_Update(), check if the parent has the .MADE attribute before diddling with the queue. For the same reason the status of a node must not be set to UPTODATE unconditionally in compat mode, since that will prevent the node from being built even if it is the source of a normal target. Instead, check both its state and the type of the parent to decide whether to continue on behalf of the current parent.
Diffstat (limited to 'gnu/usr.bin/diff/diff3.1')
0 files changed, 0 insertions, 0 deletions