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/rule.cxx | |
parent | a1cec9e0df14f3c1a833e2a447b5324ff9c430d3 (diff) |
Fix postponed re-examination logic
Now postponed takes precedence over changed.
Diffstat (limited to 'build/rule.cxx')
-rw-r--r-- | build/rule.cxx | 6 |
1 files changed, 5 insertions, 1 deletions
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. // |