http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48788
Summary: [4.6/4.7 Regression] ICE: SIGSEGV in resolve_global_procedure (resolve.c:2190) on invalid (?) fortran code Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran AssignedTo: unassig...@gcc.gnu.org ReportedBy: zso...@seznam.cz Host: x86_64-pc-linux-gnu Target: x86_64-pc-linux-gnu Created attachment 24113 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=24113 reduced testcase Compiler output: $ gfortran testcase.f90 testcase.f90:3.31: character(4), external :: foo 1 Error: Return type mismatch of function 'foo' at (1) (CHARACTER(1)/REAL(4)) ==3307== Invalid read of size 8 ==3307== at 0x55C8D2: resolve_global_procedure (resolve.c:2190) ==3307== by 0x560A8D: gfc_resolve_expr (resolve.c:3005) ==3307== by 0x5684C9: resolve_code (resolve.c:9028) ==3307== by 0x56A84E: resolve_codes (resolve.c:13614) ==3307== by 0x55C32B: gfc_resolve (resolve.c:13641) ==3307== by 0x5522BA: gfc_parse_file (parse.c:4200) ==3307== by 0x58B175: gfc_be_parse_file (f95-lang.c:250) ==3307== by 0x95E2BB: toplev_main (toplev.c:579) ==3307== by 0x644AB6C: (below main) (in /lib64/libc-2.11.3.so) ==3307== Address 0x0 is not stack'd, malloc'd or (recently) free'd ==3307== f951: internal compiler error: Segmentation fault Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. Tested revisions: r172960 - crash 4.6 r172337 - crash 4.5 r172337 - code is accepted