On 01/12/2025 19:20, Tobias Burnus wrote:
This patch seems to have caused a regression:
FAIL: libgomp.c/../libgomp.c-c++-common/requires-4.c (test for excess errors)
Excess errors:
<artificial>:(.text.startup+0x74): undefined reference to `foo'
I see this fail both without offloading support configured and with
(only) nvptx offload support.
And believing gcc-testresults,
OK:https://gcc.gnu.org/pipermail/gcc-testresults/2025-December/864066.html
FAIL:https://gcc.gnu.org/pipermail/gcc-testresults/2025-December/864067.html
it occurred between 31388b87dafe4103eb2c57658343cf176f91ee5f and
723b18ce3dd24ebcbb6426fb40a375642477123f, which is only:
r16-5792-g723b18ce3dd24e libgomp, amdgcn: Implement Managed Memory
Can you have a look?
* * *
The file has:
/* { dg-additional-sources requires-4-aux.c } */
and the actual problem seems to be a few lines above:
cc1: fatal error: ./requires-4-aux.c: No such file or directory
* * *
While in the older version, both were compiled:
PASS: libgomp.c/../libgomp.c-c++-common/requires-4a.c (test for excess errors)
Executing on qemu-rtx4080-01: ./requires-4a.exe (timeout = 360)
'./requires-4a.exe'; echo XYZ$?ZYX
Thus, some change you did caused that the file is not found - and the
test fails.
This does not show up with AMD GCN available (default device or not)
as there is an dg-excess-errors – which implies XFAIL.
* * *
BTW: If you go to the linked testresults email and wondered about the
ICE for ind-base-2.C, that's a PowePC-only ICE in c-family/c-omp.cc'
handle_omp_array_sections →https://gcc.gnu.org/PR113317
(I think we should eventually have a look. a FE ICE is odd!)
Tobias
The problem is inside libgomp_check_effective_target_offload_target,
somehow.
* If I change the dg-excess-errors to "target nomatch" then all is well.
* The problem occurs with "target offload_target_amdgcn" even when that
returns false (as it does for non-offloading toolchains, or with
-foffload=disable).
* If I insert "return 0" into
libgomp_check_effective_target_offload_target before the
libgomp_target_compile line, all is well.
So, something in [libgomp_target_compile "" "" "none" $options] changes
the behaviour of subsequent compile tests????
I've not yet figured out why that happens.
Andrew