From 5463ad8a23cf11373a9401500b1592f3c98a4ded Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Mon, 19 Jun 2023 14:28:47 +0200 Subject: Work around Apple Clang 14.0.3 x86_64 ICE in worker --- bbot/worker/worker.cxx | 30 ++++++++++++++++++++---------- 1 file changed, 20 insertions(+), 10 deletions(-) (limited to 'bbot') 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); -- cgit v1.1