diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2023-06-19 14:28:47 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2023-06-19 14:28:47 +0200 |
commit | 5463ad8a23cf11373a9401500b1592f3c98a4ded (patch) | |
tree | 1303a423165c90858a749af235e8264840eea487 | |
parent | 11ec1612ed66d1f0d9c8c89c621b37f0cc13cb29 (diff) |
Work around Apple Clang 14.0.3 x86_64 ICE in worker
-rw-r--r-- | bbot/worker/worker.cxx | 30 |
1 files changed, 20 insertions, 10 deletions
diff --git a/bbot/worker/worker.cxx b/bbot/worker/worker.cxx index 400430e..366d75a 100644 --- a/bbot/worker/worker.cxx +++ b/bbot/worker/worker.cxx @@ -2281,7 +2281,8 @@ build (size_t argc, const char* argv[]) // Configure. // { - operation_result& r (add_result ("configure")); + operation_result* pr (&add_result ("configure")); + operation_result& r (*pr); // @@ TMP: Apple Clang 14.0.3 ICE // Noop, just for the log record. // @@ -3418,7 +3419,8 @@ build (size_t argc, const char* argv[]) // Update the main package. // { - operation_result& r (add_result ("update")); + operation_result* pr (&add_result ("update")); + operation_result& r (*pr); // @@ TMP: Apple Clang 14.0.3 ICE change_wd (trace, &r.log, rwd / main_pkg_conf); @@ -3612,7 +3614,8 @@ build (size_t argc, const char* argv[]) if (has_internal_tests || has_runtime_tests || has_buildtime_tests) { - operation_result& r (add_result ("test")); + operation_result* pr (&add_result ("test")); + operation_result& r (*pr); // @@ TMP: Apple Clang 14.0.3 ICE // Run internal tests. // @@ -3739,7 +3742,8 @@ build (size_t argc, const char* argv[]) // if (install_root) { - operation_result& r (add_result ("install")); + operation_result* pr (&add_result ("install")); + operation_result& r (*pr); // @@ TMP: Apple Clang 14.0.3 ICE change_wd (trace, &r.log, effective_install_conf); @@ -3872,7 +3876,8 @@ build (size_t argc, const char* argv[]) if (bindist) { - operation_result& r (add_result ("bindist")); + operation_result* pr (&add_result ("bindist")); + operation_result& r (*pr); // @@ TMP: Apple Clang 14.0.3 ICE // Fail if the breakpoint refers to a bpkg.bindist.* step but this // step differs from the enabled one. @@ -4184,7 +4189,8 @@ build (size_t argc, const char* argv[]) // if (sys_install) { - operation_result& r (add_result ("sys-install")); + operation_result* pr (&add_result ("sys-install")); + operation_result& r (*pr); // @@ TMP: Apple Clang 14.0.3 ICE // Fail if the breakpoint refers to the bbot.sys-install step since // it has no specific command associated. @@ -4485,7 +4491,8 @@ build (size_t argc, const char* argv[]) if (has_internal_tests || has_runtime_tests || has_buildtime_tests) { - operation_result& r (add_result ("test-installed")); + operation_result* pr (&add_result ("test-installed")); + operation_result& r (*pr); // @@ TMP: Apple Clang 14.0.3 ICE change_wd (trace, &r.log, rwd); @@ -5270,7 +5277,8 @@ build (size_t argc, const char* argv[]) (*bindist == step_id::bpkg_bindist_debian || *bindist == step_id::bpkg_bindist_fedora)) { - operation_result& r (add_result ("sys-uninstall")); + operation_result* pr (&add_result ("sys-uninstall")); + operation_result& r (*pr); // @@ TMP: Apple Clang 14.0.3 ICE // Noop, just for the log record. // @@ -5389,7 +5397,8 @@ build (size_t argc, const char* argv[]) // if (install_root) { - operation_result& r (add_result ("uninstall")); + operation_result* pr (&add_result ("uninstall")); + operation_result& r (*pr); // @@ TMP: Apple Clang 14.0.3 ICE change_wd (trace, &r.log, effective_install_conf); @@ -5447,7 +5456,8 @@ build (size_t argc, const char* argv[]) if (bindist_upload) { - operation_result& r (add_result ("upload")); + operation_result* pr (&add_result ("upload")); + operation_result& r (*pr); // @@ TMP: Apple Clang 14.0.3 ICE change_wd (trace, &r.log, rwd); |