https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67219
kargl at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2015-08-14 CC| |kargl at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #1 from kargl at gcc dot gnu.org --- This is a really weird bug. This reduced test produces the error: function foo(bar) integer(8) :: foo integer(4), intent(in) :: bar integer(4), parameter :: huge_4 = huge(0_4) foo = (huge_4 - int(bar,kind=8)) end function This reduced test does not produce the error: function foo(bar) integer(8) :: foo integer(4), intent(in) :: bar integer(4), parameter :: huge_4 = huge(0_4) foo = huge_4 - int(bar,kind=8) end function The only difference is the outer ( ) in the assignment to foo.