https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103058
--- Comment #11 from Martin Liška <marxin at gcc dot gnu.org> --- Minimal reproducer: $ cat x.f90 SUBROUTINE quick_sort(list) REAL, DIMENSION (INOUT) :: list CALL quick_sort_1(1, SIZE(list)) CONTAINS RECURSIVE SUBROUTINE quick_sort_1(left_end, right_end) INTEGER right_end IF (right_end < max_simple_sort_size) THEN DO DO IF (list(j) <= reference) EXIT END DO IF (i < j) THEN EXIT END IF END DO CALL quick_sort_1(i, right_end) END IF END end $ gcc -O2 -flto -g x.f90 -c -march=znver1 && gcc -flto-partition=max x.o -shared lto-wrapper: warning: using serial compilation of 2 LTRANS jobs lto-wrapper: note: see the ‘-flto’ option documentation for more information during GIMPLE pass: alias x.f90: In function ‘quick_sort’: x.f90:1:21: internal compiler error: in gimple_call_static_chain_flags, at gimple.c:1667 1 | SUBROUTINE quick_sort(list) | ^ 0xcf2c45 gimple_call_static_chain_flags(gcall const*) /home/marxin/Programming/gcc/gcc/gimple.c:1667 0x13b40a5 handle_rhs_call /home/marxin/Programming/gcc/gcc/tree-ssa-structalias.c:4258 0x13b5da0 find_func_aliases_for_call /home/marxin/Programming/gcc/gcc/tree-ssa-structalias.c:4911 0x13b632b find_func_aliases /home/marxin/Programming/gcc/gcc/tree-ssa-structalias.c:5024 0x13bd743 compute_points_to_sets /home/marxin/Programming/gcc/gcc/tree-ssa-structalias.c:7440 0x13bf32c compute_may_aliases() /home/marxin/Programming/gcc/gcc/tree-ssa-structalias.c:7948 0x101203a execute_function_todo /home/marxin/Programming/gcc/gcc/passes.c:2014 0x1010f7f do_per_function /home/marxin/Programming/gcc/gcc/passes.c:1687 0x10123aa execute_todo /home/marxin/Programming/gcc/gcc/passes.c:2096 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <https://gcc.gnu.org/bugs/> for instructions. lto-wrapper: fatal error: gcc returned 1 exit status compilation terminated. /usr/bin/ld: fatal error: lto-wrapper failed collect2: error: ld returned 1 exit status