http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52059
Bug #: 52059 Summary: [4.7 Regression] ICE in gfc_conv_variable Classification: Unclassified Product: gcc Version: 4.7.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: fortran AssignedTo: unassig...@gcc.gnu.org ReportedBy: ja...@gcc.gnu.org CC: mik...@gcc.gnu.org subroutine baz real(kind=8) :: a(99), b interface bar function bar (x, y) integer, intent(in) :: x, y real(kind=8), dimension((y-x)) :: bar end function bar end interface b = 1.0_8 a = foo (bar(0,35) / dble(34), b) contains elemental real(kind=8) function foo(x, y) real(kind=8), intent(in) :: x, y foo = 1 end function foo end subroutine baz ICEs starting with http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=180906 (and, when b in the call is replaced with say 1.0_8, ICEs in gfc_conv_constant and when the y argument from y is removed and the caller is adjusted too, ICEs in gfc_trans_assignment.