diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2018-02-16 16:24:07 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2018-02-16 16:40:45 +0200 |
commit | 6293ede7a742866a713050737cc2b43d51161b6f (patch) | |
tree | f259845f47c2e03432bdd98b4b665e1a3de85d55 /build2/test | |
parent | ad9cb7fec5cc74697322620909e0ff1ba9ecb61b (diff) |
Add support for detecting dependency cycles
Diffstat (limited to 'build2/test')
-rw-r--r-- | build2/test/rule.cxx | 12 | ||||
-rw-r--r-- | build2/test/script/parser.cxx | 12 |
2 files changed, 12 insertions, 12 deletions
diff --git a/build2/test/rule.cxx b/build2/test/rule.cxx index b21f0c3..4225d24 100644 --- a/build2/test/rule.cxx +++ b/build2/test/rule.cxx @@ -498,20 +498,20 @@ namespace build2 if (!sched.async (target::count_busy (), t[a].task_count, - [this] (scope_state& r, + [this] (const diag_frame* ds, + scope_state& r, const target& t, const testscript& ts, - const dir_path& wd, - const diag_frame* ds) + const dir_path& wd) { - diag_frame df (ds); + diag_frame::stack_guard dsg (ds); r = perform_script_impl (t, ts, wd, *this); }, + diag_frame::stack, ref (r), cref (t), cref (ts), - cref (wd), - diag_frame::stack)) + cref (wd))) { // Executed synchronously. If failed and we were not asked to keep // going, bail out. diff --git a/build2/test/script/parser.cxx b/build2/test/script/parser.cxx index 69fe979..d3cab0a 100644 --- a/build2/test/script/parser.cxx +++ b/build2/test/script/parser.cxx @@ -3018,18 +3018,18 @@ namespace build2 // const diag_frame* df (diag_frame::stack); // UBSan workaround. if (!sched.async (task_count, - [] (scope& s, + [] (const diag_frame* ds, + scope& s, script& scr, - runner& r, - const diag_frame* ds) + runner& r) { - diag_frame df (ds); + diag_frame::stack_guard dsg (ds); execute_impl (s, scr, r); }, + df, ref (*chain), ref (*script_), - ref (*runner_), - df)) + ref (*runner_))) { // Bail out if the scope has failed and we weren't instructed // to keep going. |