diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2015-07-21 18:20:33 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2015-07-22 12:26:34 +0200 |
commit | 34e5a2da18f76c7d7de79a5c12b0e85ee89c4095 (patch) | |
tree | 3e825e3883bc1ed083b0c33afa30c74c95dbef1e /build/algorithm.ixx | |
parent | a1cec9e0df14f3c1a833e2a447b5324ff9c430d3 (diff) |
Fix postponed re-examination logic
Now postponed takes precedence over changed.
Diffstat (limited to 'build/algorithm.ixx')
-rw-r--r-- | build/algorithm.ixx | 5 |
1 files changed, 4 insertions, 1 deletions
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 ()) { |