diff options
Diffstat (limited to 'src/build.cc')
-rw-r--r-- | src/build.cc | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/src/build.cc b/src/build.cc index ae6ebbb..25d3ba9 100644 --- a/src/build.cc +++ b/src/build.cc @@ -337,14 +337,9 @@ void Plan::CleanNode(BuildLog* build_log, Node* node) { if (!(*ni)->dirty_) continue; - // RecomputeOutputDirty will not modify dirty_ if the output is clean. - (*ni)->dirty_ = false; - - // Since we know that all non-order-only inputs are clean, we can pass - // "false" as the "dirty" argument here. - (*ei)->RecomputeOutputDirty(build_log, most_recent_input, false, - command, *ni); - if ((*ni)->dirty_) { + if ((*ei)->RecomputeOutputDirty(build_log, most_recent_input, command, + *ni)) { + (*ni)->dirty_ = true; all_outputs_clean = false; } else { CleanNode(build_log, *ni); |