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/rule.cxx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'build/rule.cxx') diff --git a/build/rule.cxx b/build/rule.cxx index f53d9d9..f9b9a3c 100644 --- a/build/rule.cxx +++ b/build/rule.cxx @@ -228,10 +228,14 @@ namespace build rmdir_status rs (rmdir (t.dir, t)); target_state ts (target_state::unchanged); - if (t.has_prerequisites ()) + { ts = reverse_execute_prerequisites (a, t); + if (ts == target_state::postponed) + return ts; + } + // If we couldn't remove the directory, return postponed meaning // that the operation could not be performed at this time. // -- cgit v1.1