Hi!
On 2025-04-17T18:15:50+0000, ci_notify--- via Gcc-regression gcc-regression@gcc.gnu.org wrote:
Ah, sorry for that. This is due to 'targetm.arm_eabi_unwinder', as per:
gcc/config/arm/arm.cc:#define TARGET_ARM_EABI_UNWINDER true gcc/config/c6x/c6x.cc:#define TARGET_ARM_EABI_UNWINDER true
..., which for ARM is conditional to '#if ARM_UNWIND_INFO' (defined in 'gcc/config/arm/bpabi.h', used for various GCC configurations), and for C6x unconditional.
This gets us:
--- target-exceptions-pr118794-1.C.269t.optimized +++ target-exceptions-pr118794-1.C.270t.optimized [...] __attribute__((omp declare target)) void f () [...] gimple_call <__dt_comp , NULL, &c> - gimple_call <__builtin_eh_pointer, _7, 2> - gimple_call <__builtin_unwind_resume, NULL, _7> + gimple_call <__builtin_cxa_end_cleanup, NULL>
} [...]
There doesn't appear to be an effective-target keyword for 'targetm.arm_eabi_unwinder' specifically, do we need to add one? Or, other test cases appear to use effective-target 'arm_eabi' to disambiguate the two variants; is that the right thing to use here, too? (..., plus 'tic6x-*-*' in this case?) OK to push the attached "Adjust 'libgomp.c++/target-exceptions-pr118794-1.C' for 'targetm.arm_eabi_unwinder' [PR118794]"? (Could Arm/C6x maintainers please test this for me?)
Grüße Thomas
Hi!
On Tue, 22 Apr 2025 at 13:55, Thomas Schwinge tschwinge@baylibre.com wrote:
I confirm that on arm-linux-gnueabihf, with your patch: PASS: libgomp.c++/target-exceptions-pr118794-1.C (test for excess errors) PASS: libgomp.c++/target-exceptions-pr118794-1.C execution test PASS: libgomp.c++/target-exceptions-pr118794-1.C scan-tree-dump-times optimized "gimple_call <__builtin_cxa_end_cleanup, " 1 and the two FAILs have disappeared.
Thanks,
Christophe
linaro-toolchain@lists.linaro.org