https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85536
--- Comment #2 from Tiziano Müller <dev-zero at gentoo dot org> --- Ok, I got around to generate a backtrace from gfortran: [...] Starting program: /home/tiziano/tmp/gfortran/gcc/f951 ice_minimal_rep.f90 -quiet -dumpbase ice_minimal_rep.f90 -mtune=generic -march=x86-64 -auxbase ice_minimal_rep -fintrinsic-modules-path finclude -o /tmp/ccQdv1nJ.s Program received signal SIGSEGV, Segmentation fault. 0x0000000000844729 in compare_type (s1=0x2d78570, s2=0x2d78570) at ../../gcc/gcc/fortran/interface.c:744 744 return gfc_compare_types (&s1->ts, &s2->ts) || s2->ts.type == BT_ASSUMED; (gdb) bt #0 0x0000000000844729 in compare_type (s1=0x2d78570, s2=0x2d78570) at ../../gcc/gcc/fortran/interface.c:744 #1 0x00000000008457e3 in gfc_check_dummy_characteristics (s1=0x2d78570, s2=0x2d78570, type_must_agree=true, errmsg=0x7ffffbfff210 "", err_len=200) at ../../gcc/gcc/fortran/interface.c:1294 #2 0x0000000000846b91 in gfc_compare_interfaces (s1=0x2d78570, s2=0x2d78570, name2=0x7ffff6fe4370 "nextparser", generic_flag=0, strict_flag=1, errmsg=0x7ffffbfff210 "", err_len=200, p1=0x0, p2=0x0) at ../../gcc/gcc/fortran/interface.c:1755 #3 0x0000000000845cb3 in gfc_check_dummy_characteristics (s1=0x2d78570, s2=0x2d78570, type_must_agree=true, errmsg=0x7ffffbfff3c0 "", err_len=200) at ../../gcc/gcc/fortran/interface.c:1384 #4 0x0000000000846b91 in gfc_compare_interfaces (s1=0x2d78570, s2=0x2d78570, name2=0x7ffff6fe4370 "nextparser", generic_flag=0, strict_flag=1, errmsg=0x7ffffbfff3c0 "", err_len=200, p1=0x0, p2=0x0) at ../../gcc/gcc/fortran/interface.c:1755 #5 0x0000000000845cb3 in gfc_check_dummy_characteristics (s1=0x2d78570, s2=0x2d78570, type_must_agree=true, errmsg=0x7ffffbfff570 "", err_len=200) at ../../gcc/gcc/fortran/interface.c:1384 #6 0x0000000000846b91 in gfc_compare_interfaces (s1=0x2d78570, s2=0x2d78570, name2=0x7ffff6fe4370 "nextparser", generic_flag=0, strict_flag=1, errmsg=0x7ffffbfff570 "", err_len=200, p1=0x0, p2=0x0) at ../../gcc/gcc/fortran/interface.c:1755 #7 0x0000000000845cb3 in gfc_check_dummy_characteristics (s1=0x2d78570, s2=0x2d78570, type_must_agree=true, errmsg=0x7ffffbfff720 "", err_len=200) at ../../gcc/gcc/fortran/interface.c:1384 #8 0x0000000000846b91 in gfc_compare_interfaces (s1=0x2d78570, s2=0x2d78570, name2=0x7ffff6fe4370 "nextparser", generic_flag=0, strict_flag=1, errmsg=0x7ffffbfff720 "", err_len=200, p1=0x0, p2=0x0) at ../../gcc/gcc/fortran/interface.c:1755 #9 0x0000000000845cb3 in gfc_check_dummy_characteristics (s1=0x2d78570, s2=0x2d78570, type_must_agree=true, errmsg=0x7ffffbfff8d0 "", err_len=200) at ../../gcc/gcc/fortran/interface.c:1384 [...] which seems to be an endless loop between gfc_check_dummy_characteristics and gfc_compare_interfaces. What I find interesting is the fact that ifort (18.0.2) chokes the same way on the same example: $ ifort -o ice_minimal_rep ice_minimal_rep.f90 ice_minimal_rep.f90(19): internal error: Please visit 'http://www.intel.com/software/products/support' for assistance. end program ^ [ Aborting due to internal error. ] compilation aborted for ice_minimal_rep.f90 (code 1)