From 34e5a2da18f76c7d7de79a5c12b0e85ee89c4095 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Tue, 21 Jul 2015 18:20:33 +0200 Subject: Fix postponed re-examination logic Now postponed takes precedence over changed. --- build/algorithm.ixx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'build/algorithm.ixx') diff --git a/build/algorithm.ixx b/build/algorithm.ixx index 4581d5b..7849713 100644 --- a/build/algorithm.ixx +++ b/build/algorithm.ixx @@ -108,7 +108,10 @@ namespace build inline target_state execute (action a, target& t) { - t.dependents--; + // This can happen when we re-examine the state after being postponed. + // + if (t.dependents != 0) + t.dependents--; switch (target_state ts = t.state ()) { -- cgit v1.1