[Bug fortran/50401] SIGSEGV in resolve_transfer

2011-09-15 Thread janus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50401

janus at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Keywords||ice-on-invalid-code
   Last reconfirmed||2011-09-15
 CC||janus at gcc dot gnu.org
 AssignedTo|unassigned at gcc dot   |janus at gcc dot gnu.org
   |gnu.org |
 Ever Confirmed|0   |1

--- Comment #1 from janus at gcc dot gnu.org 2011-09-15 11:17:16 UTC ---
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 


[Bug fortran/50401] SIGSEGV in resolve_transfer

2011-09-15 Thread janus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50401

--- Comment #2 from janus at gcc dot gnu.org 2011-09-15 17:48:36 UTC ---
Author: janus
Date: Thu Sep 15 17:48:27 2011
New Revision: 178889

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=178889
Log:
2011-09-15  Janus Weil  ja...@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  ja...@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


[Bug fortran/50401] SIGSEGV in resolve_transfer

2011-09-15 Thread janus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50401

janus at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #3 from janus at gcc dot gnu.org 2011-09-15 17:50:04 UTC ---
Fixed on trunk with r178889. Closing.