aboutsummaryrefslogtreecommitdiff
path: root/build/algorithm
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2015-08-13 14:48:41 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2015-08-13 14:48:41 +0200
commit9fa5209175dffb881e8ec6c5f6ad4fc54448244a (patch)
treeb937763e9605832f9cac87b846a2996c8727af12 /build/algorithm
parent467d700c66582471013a07384318d0142d2f3de2 (diff)
Rework postponed logic
Specifically, now postponed is only used by the execution mode logic and rules should not return it directly.
Diffstat (limited to 'build/algorithm')
-rw-r--r--build/algorithm10
1 files changed, 6 insertions, 4 deletions
diff --git a/build/algorithm b/build/algorithm
index 99e6c2b..af461dc 100644
--- a/build/algorithm
+++ b/build/algorithm
@@ -67,13 +67,15 @@ namespace build
// Match and apply a rule to the action/target with ambiguity
// detection. Increment the target's dependents count, which
// means that you should call this function with the intent
- // to also call execute(). In case of optimizations that
- // would avoid calling execute(), decrement the dependents
- // cound manually to compensate.
+ // to also call execute(). In case of optimizations that would
+ // avoid calling execute(), call unmatch() to indicate this.
//
void
match (action, target&);
+ void
+ unmatch (action, target&);
+
// Match (but do not apply) a rule to the action/target with
// ambiguity detection. Note that this function does not touch
// the dependents count.
@@ -84,7 +86,7 @@ namespace build
// Match a "delegate rule" from withing another rules' apply()
// function. Return recipe and recipe action (if any). Note
// that unlike match(), this call doesn't increment the
- // dependents count. See also execute_delegate().
+ // dependents count. See also the companion execute_delegate().
//
std::pair<recipe, action>
match_delegate (action, target&);