http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50974
kargl at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |kargl at gcc dot gnu.org Known to work| |4.5.4, 4.6.3 Summary|ICE on invalid on function |[4.7 regression] ICE on |used as variable |invalid on function used as | |variable Known to fail| |4.7.0 --- Comment #2 from kargl at gcc dot gnu.org 2011-11-03 14:55:53 UTC --- Here's a reduced testcase. module test_mod implicit none contains function func1() real func1 func1 = func2 end function func1 function func2() real func2 func2 = 1 end function func2 end module test_mod Note, if func2 is moved above func1 in the file, then we get the expected error. foo.f90:16.17: func1 = func2 1 Error: Function 'func2' requires an argument list at (1) Also, note that the code compiles with 4.5.4 and 4.6.3, so this is a regression.