diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2015-03-13 10:38:11 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2015-03-13 10:38:11 +0200 |
commit | 0cee33621a93d3348a1bf19a0c94441b717cbcbc (patch) | |
tree | 1f017e61794f705d9c0b872df108170cc4576b77 /build/algorithm.cxx | |
parent | cf6b3e34b59ad120111e0c1ead779bbb3a70c38d (diff) |
Add postponed recipe execution support
Diffstat (limited to 'build/algorithm.cxx')
-rw-r--r-- | build/algorithm.cxx | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/build/algorithm.cxx b/build/algorithm.cxx index cccda49..776ea3e 100644 --- a/build/algorithm.cxx +++ b/build/algorithm.cxx @@ -176,6 +176,7 @@ namespace build switch (target_state ts = t.state) { case target_state::unknown: + case target_state::postponed: { t.state = target_state::failed; // So the rule can just throw. @@ -196,7 +197,8 @@ namespace build } case target_state::unchanged: case target_state::changed: - assert (false); // Should have been handled by inline execute(). + // Should have been handled by inline execute(). + assert (false); case target_state::failed: throw failed (); } @@ -214,7 +216,7 @@ namespace build target& pt (*p.target); - if (execute (a, pt) != target_state::unchanged) + if (execute (a, pt) == target_state::changed) ts = target_state::changed; } |