Hi Tobias!
Thanks for picking this up!
Yes, in this patch I'd not updated any target except the posix one and
left updating to the next patch in the series.
The reason I chose to do that was that the way I'd split patches 3 and 4
left patch 3 with some tricky behaviour that disappears with the
application of patch 4.
That tricky behaviour requires change in the backend of other targets
(on top of dummy changes in declarations), and I don't have the setup to
test the the correctness of these other targets so didn't want to leave
a "seemingly correct, but actually broken" mid-state.
I tried to highlight it in the "points I would like feedback on" section
in the cover letter on the patch.
Do you think that it might be sensible to merge the two patches into one
to avoid a broken intermediate state?
I kept them separate mostly to help with clarity of each patches purpose
for reviewers.
Regards,
Matthew
On 2/17/26 09:45, Tobias Burnus wrote:
*External email: Use caution opening links or attachments*
Tobias Burnus wrote:
Hi Mat,
However, first, I want to point out a compilation issue:
This fails for the GCN compilation with: […]
Glancing at it, I don't quite see why the Nvptx compilation succeeds,
but it seems to work.
The wonders of incremental builds …
On the other hand, this issue is fixed by applying 4/5 on top of it.
Still, it would be useful to have a patch that doesn't intermittently
break building the (GCN) compiler.
... nor the Nvptx build.
For nvptx, the fail is:
In file included from /home/tob/repos/gcc/libgomp/config/nvptx/task.c:41:
/home/tob/repos/gcc/libgomp/config/nvptx/../../task.c: In function
‘gomp_barrier_handle_tasks’:
/home/tob/repos/gcc/libgomp/config/nvptx/../../task.c:1573:10: error: too many
arguments to function ‘gomp_barrier_has_completed’; expected 2, have 3
1573 | && gomp_barrier_has_completed (state, &team->barrier,
use_cancel))
| ^~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~
In file included from /home/tob/repos/gcc/libgomp/libgomp.h:219,
from /home/tob/repos/gcc/libgomp/config/nvptx/task.c:31:
/home/tob/repos/gcc/libgomp/config/nvptx/bar.h:181:1: note: declared here
181 | gomp_barrier_has_completed (gomp_barrier_state_t state, gomp_barrier_t
*bar)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/tob/repos/gcc/libgomp/config/nvptx/../../task.c:1583:11: error: too many
arguments to function ‘gomp_team_barrier_done’; expected 2, have 3
1583 | gomp_team_barrier_done (&team->barrier, state, use_cancel);
| ^~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~
Tobias