subroutine a(fun) implicit none integer, intent(in) :: fun real, external :: funget real v v = funget(fun) funget = -99.9 end subroutine a
laptop:kargl[221] gfc4x -c -O g.f90 g.f90: In function 'a': g.f90:6: internal compiler error: in gfc_conv_variable, at fortran/trans-expr.c:444 Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://gcc.gnu.org/bugs.html> for instructions. Clearly, the assignment to funget is not legal. -- Summary: Assigning to an EXTERNAL leads to ICE Product: gcc Version: 4.3.0 Status: UNCONFIRMED Keywords: ice-on-invalid-code Severity: normal Priority: P3 Component: fortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: kargl at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31559