Created attachment 25277 [details] just compile it SIGSEGV in resolve_transfer
The obvious fix: Index: gcc/fortran/resolve.c =================================================================== --- gcc/fortran/resolve.c (revision 178876) +++ gcc/fortran/resolve.c (working copy) @@ -8222,7 +8222,7 @@ } } - if (sym->as != NULL && sym->as->type == AS_ASSUMED_SIZE + if (sym->as != NULL && sym->as->type == AS_ASSUMED_SIZE && exp->ref && exp->ref->type == REF_ARRAY && exp->ref->u.ar.type == AR_FULL) { gfc_error ("Data transfer element at %L cannot be a full reference to "
Author: janus Date: Thu Sep 15 17:48:27 2011 New Revision: 178889 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=178889 Log: 2011-09-15 Janus Weil <janus@gcc.gnu.org> PR fortran/50401 * resolve.c (resolve_transfer): Check if component 'ref' is defined. PR fortran/50403 * symbol.c (gfc_use_derived): Check if argument 'sym' is defined. 2011-09-15 Janus Weil <janus@gcc.gnu.org> PR fortran/50401 PR fortran/50403 * gfortran.dg/function_types_3.f90: New. Added: trunk/gcc/testsuite/gfortran.dg/function_types_3.f90 Modified: trunk/gcc/fortran/ChangeLog trunk/gcc/fortran/resolve.c trunk/gcc/fortran/symbol.c trunk/gcc/testsuite/ChangeLog
Fixed on trunk with r178889. Closing.