From 0cee33621a93d3348a1bf19a0c94441b717cbcbc Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Fri, 13 Mar 2015 10:38:11 +0200 Subject: Add postponed recipe execution support --- build/algorithm.cxx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'build/algorithm.cxx') 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; } -- cgit v1.1