diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2017-11-21 08:34:22 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2017-11-21 08:34:22 +0200 |
commit | c7dabff3aaab59649fba8dc18ae5dadf0c0b8f20 (patch) | |
tree | 77a5a41ce83b4534690be24b3ab7945f3434fb6c /build2/context.hxx | |
parent | a3bb87987bf152eaa63cc0ffda475ebd33247763 (diff) |
Improve skipped update diagnostics
Instead of printing a line for each target skipped we now print a summary
with count at the end. We also now show the skip count in progress.
Diffstat (limited to 'build2/context.hxx')
-rw-r--r-- | build2/context.hxx | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/build2/context.hxx b/build2/context.hxx index dbb41ae..c3e0595 100644 --- a/build2/context.hxx +++ b/build2/context.hxx @@ -283,11 +283,13 @@ namespace build2 // with the expectation of it reaching 0. Used as a sanity check. // // The target count is incremented after a non-noop recipe is matched and - // decremented after such recipe has been executed. Used for progress - // monitoring. + // decremented after such recipe has been executed. If such a recipe has + // skipped updating the target, then it should increment the skip count. + // These two counters are used for progress monitoring and diagnostics. // extern atomic_count dependency_count; extern atomic_count target_count; + extern atomic_count skip_count; inline void set_current_mif (const meta_operation_info& mif) @@ -307,9 +309,11 @@ namespace build2 current_on++; current_mode = inner_oif.mode; - // Serial. + // Reset counters (serial execution). + // dependency_count.store (0, memory_order_relaxed); target_count.store (0, memory_order_relaxed); + skip_count.store (0, memory_order_relaxed); } // Keep going flag. |