aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2023-06-19 14:28:47 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2023-06-19 14:28:47 +0200
commit5463ad8a23cf11373a9401500b1592f3c98a4ded (patch)
tree1303a423165c90858a749af235e8264840eea487
parent11ec1612ed66d1f0d9c8c89c621b37f0cc13cb29 (diff)
Work around Apple Clang 14.0.3 x86_64 ICE in worker
-rw-r--r--bbot/worker/worker.cxx30
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);