http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58471
Bug ID: 58471 Summary: ICE on invalid with missing type constructor and -Wall Product: gcc Version: 4.9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran Assignee: unassigned at gcc dot gnu.org Reporter: abensonca at gmail dot com The following causes an ICE with gfortran 4.9.0 (r202667) when compiled with -Wall: module cf type :: cfmde end type cfmde interface cfmde module procedure mdedc end interface cfmde contains subroutine cfi() implicit none type(cfmde), pointer :: cfd cfd=cfmde() return end subroutine cfi end module cf $ gfortran -v Using built-in specs. COLLECT_GCC=/opt/gcc-trunk/bin/gfortran COLLECT_LTO_WRAPPER=/opt/gcc-trunk/libexec/gcc/x86_64-unknown-linux-gnu/4.9.0/lto-wrapper Target: x86_64-unknown-linux-gnu Configured with: ../gcc-trunk/configure --prefix=/opt/gcc-trunk --enable-languages=c,c++,fortran --disable-multilib Thread model: posix gcc version 4.9.0 20130917 (experimental) (GCC) $ gfortran -c bug1.F90 -o bug1.o -Wall bug1.F90:5.22: module procedure mdedc 1 Error: Procedure 'mdedc' in generic interface 'cfmde' at (1) is neither function nor subroutine f951: internal compiler error: Segmentation fault 0x99112f crash_signal ../../gcc-trunk/gcc/toplev.c:335 0x582892 gfc_expr_attr(gfc_expr*) ../../gcc-trunk/gcc/fortran/primary.c:2259 0x53a40c gfc_check_assign(gfc_expr*, gfc_expr*, int) ../../gcc-trunk/gcc/fortran/expr.c:3160 0x58f872 resolve_ordinary_assign ../../gcc-trunk/gcc/fortran/resolve.c:9200 0x58f872 resolve_code ../../gcc-trunk/gcc/fortran/resolve.c:9810 0x591b0e resolve_codes ../../gcc-trunk/gcc/fortran/resolve.c:14507 0x591a17 resolve_codes ../../gcc-trunk/gcc/fortran/resolve.c:14493 0x591bf2 gfc_resolve ../../gcc-trunk/gcc/fortran/resolve.c:14535 0x57efdf gfc_parse_file() ../../gcc-trunk/gcc/fortran/parse.c:4645 0x5baab5 gfc_be_parse_file ../../gcc-trunk/gcc/fortran/f95-lang.c:189 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <http://gcc.gnu.org/bugs.html> for instructions. without -Wall the correct error message is generated: $ gfortran -c bug1.F90 -o bug1.o bug1.F90:5.22: module procedure mdedc 1 Error: Procedure 'mdedc' in generic interface 'cfmde' at (1) is neither function nor subroutine bug1.F90:11.8: cfd=cfmde() 1 Error: Can't convert REAL(4) to TYPE(cfmde) at (1) Adding a suitable "mdedc" procedure results in successful compilation.