https://gcc.gnu.org/g:884637b6362391921100efa2c7db4f4452e2a13f
commit r15-5392-g884637b6362391921100efa2c7db4f4452e2a13f Author: Tobias Burnus <tbur...@baylibre.com> Date: Mon Nov 18 14:58:21 2024 +0100 libgomp/plugin/plugin-gcn.c: async-queue init - fix function-return type and fail fatally libgomp/ChangeLog: * plugin/plugin-gcn.c (GOMP_OFFLOAD_openacc_async_construct): In case of an error, call GOMP_PLUGIN_fatal not ..._error; use NULL not false in return. Diff: --- libgomp/plugin/plugin-gcn.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/libgomp/plugin/plugin-gcn.c b/libgomp/plugin/plugin-gcn.c index f2f2940de9db..d26b93657bf6 100644 --- a/libgomp/plugin/plugin-gcn.c +++ b/libgomp/plugin/plugin-gcn.c @@ -4388,7 +4388,9 @@ GOMP_OFFLOAD_openacc_async_exec (void (*fn_ptr) (void *), gcn_exec (kernel, devaddrs, dims, targ_mem_desc, true, aq); } -/* Create a new asynchronous thread and queue for running future kernels. */ +/* Create a new asynchronous thread and queue for running future kernels; + issues a fatal error if the queue cannot be created as all callers expect + that the queue exists. */ struct goacc_asyncqueue * GOMP_OFFLOAD_openacc_async_construct (int device) @@ -4416,18 +4418,18 @@ GOMP_OFFLOAD_openacc_async_construct (int device) if (pthread_mutex_init (&aq->mutex, NULL)) { - GOMP_PLUGIN_error ("Failed to initialize a GCN agent queue mutex"); - return false; + GOMP_PLUGIN_fatal ("Failed to initialize a GCN agent queue mutex"); + return NULL; } if (pthread_cond_init (&aq->queue_cond_in, NULL)) { - GOMP_PLUGIN_error ("Failed to initialize a GCN agent queue cond"); - return false; + GOMP_PLUGIN_fatal ("Failed to initialize a GCN agent queue cond"); + return NULL; } if (pthread_cond_init (&aq->queue_cond_out, NULL)) { - GOMP_PLUGIN_error ("Failed to initialize a GCN agent queue cond"); - return false; + GOMP_PLUGIN_fatal ("Failed to initialize a GCN agent queue cond"); + return NULL; } hsa_status_t status = hsa_fns.hsa_queue_create_fn (agent->id,