------- Comment #5 from janus at gcc dot gnu dot org 2010-06-18 23:54 ------- (In reply to comment #3) > /export/gnu/import/svn/gcc-test/src-trunk/gcc/testsuite/gfortran.dg/typebound_proc_15.f03:15.23: > > procedure :: bar, baz { dg-error "PROCEDURE list" } > 1 > Error: Fortran 2008: PROCEDURE list at (1) > > Program received signal SIGSEGV, Segmentation fault. > 0x40000000001d4681 in resolve_fl_derived (sym=0x60000000002cf0d0) > at ../../src-trunk/gcc/fortran/resolve.c:959 > 959 if (!a.implicit_type && sym->ts.type != BT_UNKNOWN) > (gdb) bt > #0 0x40000000001d4681 in resolve_fl_derived (sym=0x60000000002cf0d0) > at ../../src-trunk/gcc/fortran/resolve.c:959
Ok, actually I also get an ICE. But for some reason only when compiling by hand, not in the testsuite. It is fixed by this patch: Index: gcc/fortran/resolve.c =================================================================== --- gcc/fortran/resolve.c (revision 160948) +++ gcc/fortran/resolve.c (working copy) @@ -10850,7 +10850,7 @@ c->ts.u.cl = cl; } } - else if (c->ts.interface->name[0] != '\0' && !sym->attr.vtype) + else if (!sym->attr.vtype && c->ts.interface->name[0] != '\0') { gfc_error ("Interface '%s' of procedure pointer component " "'%s' at %L must be explicit", c->ts.interface->name, Does this fix the issue for you? -- janus at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|0000-00-00 00:00:00 |2010-06-18 23:54:28 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44584