aboutsummaryrefslogtreecommitdiff
path: root/build/bin/rule.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'build/bin/rule.cxx')
-rw-r--r--build/bin/rule.cxx16
1 files changed, 3 insertions, 13 deletions
diff --git a/build/bin/rule.cxx b/build/bin/rule.cxx
index f02029b..0a7f2ee 100644
--- a/build/bin/rule.cxx
+++ b/build/bin/rule.cxx
@@ -114,23 +114,13 @@ namespace build
if (current_mode == execution_mode::last)
swap (m1, m2);
- target_state r (target_state::unchanged), ts;
+ target_state r (target_state::unchanged);
if (m1 != nullptr)
- {
- ts = execute (a, *m1);
- if (ts == target_state::postponed ||
- (ts == target_state::changed && r == target_state::unchanged))
- r = ts;
- }
+ r |= execute (a, *m1);
if (m2 != nullptr)
- {
- ts = execute (a, *m2);
- if (ts == target_state::postponed ||
- (ts == target_state::changed && r == target_state::unchanged))
- r = ts;
- }
+ r |= execute (a, *m2);
return r;
}