aboutsummaryrefslogtreecommitdiff
path: root/build/bin
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2015-07-21 18:20:33 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2015-07-22 12:26:34 +0200
commit34e5a2da18f76c7d7de79a5c12b0e85ee89c4095 (patch)
tree3e825e3883bc1ed083b0c33afa30c74c95dbef1e /build/bin
parenta1cec9e0df14f3c1a833e2a447b5324ff9c430d3 (diff)
Fix postponed re-examination logic
Now postponed takes precedence over changed.
Diffstat (limited to 'build/bin')
-rw-r--r--build/bin/rule.cxx8
1 files changed, 4 insertions, 4 deletions
diff --git a/build/bin/rule.cxx b/build/bin/rule.cxx
index 0eb8363..f02029b 100644
--- a/build/bin/rule.cxx
+++ b/build/bin/rule.cxx
@@ -119,16 +119,16 @@ namespace build
if (m1 != nullptr)
{
ts = execute (a, *m1);
- if (ts == target_state::changed ||
- (ts == target_state::postponed && r == target_state::unchanged))
+ if (ts == target_state::postponed ||
+ (ts == target_state::changed && r == target_state::unchanged))
r = ts;
}
if (m2 != nullptr)
{
ts = execute (a, *m2);
- if (ts == target_state::changed ||
- (ts == target_state::postponed && r == target_state::unchanged))
+ if (ts == target_state::postponed ||
+ (ts == target_state::changed && r == target_state::unchanged))
r = ts;
}