I opened PR114535 for the following ICE: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114535 The following code (which must be in two files to trigger the error) causes an ICE using the latest gfortran. $ cat ice1.F90 module iv type, public :: vs contains final :: destructor end type vs contains elemental subroutine destructor(s) type(vs), intent(inout) :: s end subroutine destructor end module iv $ cat ice2.F90 module d contains function en() result(dd) use :: iv type(vs) :: dd return end function en end module d module ni contains subroutine iss() use :: d return end subroutine iss end module ni $ gfortran -v Using built-in specs. COLLECT_GCC=gfortran COLLECT_LTO_WRAPPER=/data001/abenson/Galacticus/Tools_Devel/bin/../libexec/gcc/x86_64-pc-linux-gnu/14.0.1/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: ../gcc-git/configure --prefix=/home/abenson/Galacticus/Tools_Devel --enable-languages=c,c++,fortran --disable-multilib Thread model: posix Supported LTO compression algorithms: zlib gcc version 14.0.1 20240330 (experimental) (GCC) $ gfortran -c ice1.F90 -o ice1.o $ gfortran -c ice2.F90 -o ice2.o ice2.F90:16:13: 16 | end module ni | 1 internal compiler error: in gfc_trans_call, at fortran/trans-stmt.cc:400 0x78ddb6 gfc_trans_call(gfc_code*, bool, tree_node*, tree_node*, bool) ../../gcc-git/gcc/fortran/trans-stmt.cc:400 0xaa8a1b trans_code ../../gcc-git/gcc/fortran/trans.cc:2431 0xb47c14 gfc_trans_simple_do ../../gcc-git/gcc/fortran/trans-stmt.cc:2521 0xb47c14 gfc_trans_do(gfc_code*, tree_node*) ../../gcc-git/gcc/fortran/trans-stmt.cc:2653 0xaa898a trans_code ../../gcc-git/gcc/fortran/trans.cc:2463 0xb485e9 gfc_trans_integer_select ../../gcc-git/gcc/fortran/trans-stmt.cc:3199 0xb485e9 gfc_trans_select(gfc_code*) ../../gcc-git/gcc/fortran/trans-stmt.cc:3692 0xaa8957 trans_code ../../gcc-git/gcc/fortran/trans.cc:2475 0xadd6fb gfc_generate_function_code(gfc_namespace*) ../../gcc-git/gcc/fortran/trans-decl.cc:7879 0xaadbf1 gfc_generate_module_code(gfc_namespace*) ../../gcc-git/gcc/fortran/trans.cc:2785 0xa5113d translate_all_program_units ../../gcc-git/gcc/fortran/parse.cc:7086 0xa5113d gfc_parse_file() ../../gcc-git/gcc/fortran/parse.cc:7413 0xaa546f gfc_be_parse_file ../../gcc-git/gcc/fortran/f95-lang.cc:241 Please submit a full bug report, with preprocessed source (by using -freport-bug). Please include the complete backtrace with any bug report. See for instructions. This only occurs if the FINAL subroutine is ELEMENTAL. -- * Andrew Benson: http://users.obs.carnegiescience.edu/abenson * Galacticus: https://github.com/galacticusorg/galacticus