On Wed, May 22, 2024 at 9:21 AM Roger Sayle <ro...@nextmovesoftware.com> wrote:
>
>
> A number of testcases currently fail on nvptx with the ICE:
>
> during RTL pass: final
> openmp-simd-2.c: In function 'foo':
> openmp-simd-2.c:28:1: internal compiler error: in get_personality_function,
> at expr.cc:14037
>    28 | }
>       | ^
> 0x98a38f get_personality_function(tree_node*)
>         /home/roger/GCC/nvptx-none/gcc/gcc/expr.cc:14037
> 0x969d3b output_function_exception_table(int)
>         /home/roger/GCC/nvptx-none/gcc/gcc/except.cc:3226
> 0x9b760d rest_of_handle_final
>         /home/roger/GCC/nvptx-none/gcc/gcc/final.cc:4252
>
> The simple oversight in output_function_exception_table is that it calls
> get_personality_function (immediately) before checking the target's
> except_unwind_info hook (which on nvptx always returns UI_NONE).
> The (perhaps obvious) fix is to move the assignments of fname and
> personality after the tests that they are needed, and before their
> first use.
>
> This patch has been tested on nvptx-none hosted on x86_64-pc-linux-gnu
> with no new failures in the testsuite, and ~220 fewer FAILs.
> Ok for mainline?

OK.

Richard.

> 2024-05-22  Roger Sayle  <ro...@nextmovesoftware.com>
>
> gcc/ChangeLog
>         * except.cc (output_function_exception_table): Move call to
>         get_personality_function after targetm_common.except_unwind_info
>         check, to avoid ICE on targets that don't support exceptions.
>
>
> Thanks in advance,
> Roger
> --
>

Reply via email to