diff options
-rw-r--r-- | build2/operation.cxx | 41 |
1 files changed, 20 insertions, 21 deletions
diff --git a/build2/operation.cxx b/build2/operation.cxx index b900835..f2e3a29 100644 --- a/build2/operation.cxx +++ b/build2/operation.cxx @@ -109,32 +109,31 @@ namespace build2 // vector<reference_wrapper<target>> psp; - auto body ( - [a, quiet, &psp, &trace] (void* v) - { - target& t (*static_cast<target*> (v)); + auto body = [a, quiet, &psp, &trace] (void* v) + { + target& t (*static_cast<target*> (v)); - l5 ([&]{trace << diag_doing (a, t);}); + l5 ([&]{trace << diag_doing (a, t);}); - switch (execute (a, t)) + switch (execute (a, t)) + { + case target_state::unchanged: { - case target_state::unchanged: - { - if (!quiet) - info << diag_done (a, t); - break; - } - case target_state::postponed: - psp.push_back (t); - break; - case target_state::changed: + if (!quiet) + info << diag_done (a, t); break; - case target_state::failed: - //@@ This could probably happen in a parallel build. - default: - assert (false); } - }); + case target_state::postponed: + psp.push_back (t); + break; + case target_state::changed: + break; + case target_state::failed: + //@@ This could probably happen in a parallel build. + default: + assert (false); + } + }; if (current_mode == execution_mode::first) for (void* v: ts) body (v); |