diff options
Diffstat (limited to 'libbuild2/target.ixx')
-rw-r--r-- | libbuild2/target.ixx | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/libbuild2/target.ixx b/libbuild2/target.ixx index 611e562..445c413 100644 --- a/libbuild2/target.ixx +++ b/libbuild2/target.ixx @@ -522,7 +522,12 @@ namespace build2 newer (timestamp mt) const { assert (ctx.phase == run_phase::execute); + return newer (mt, executed_state_impl (action () /* inner */)); + } + inline bool mtime_target:: + newer (timestamp mt, target_state s) const + { timestamp mp (mtime ()); // What do we do if timestamps are equal? This can happen, for example, @@ -530,9 +535,7 @@ namespace build2 // much we can do here except detect the case where the target was // changed on this run. // - return mt < mp || (mt == mp && - executed_state_impl (action () /* inner */) == - target_state::changed); + return mt < mp || (mt == mp && s == target_state::changed); } // path_target |