------- Comment #10 from dfranke at gcc dot gnu dot org 2010-05-23 19:06 ------- Still an issue with gcc version 4.6.0 20100520 (experimental) (GCC)
Replaced ice-on-invalid with accepts-invalid keyword. The compiler is fine, the produced binary isn't - there should be no binary. Smaller testcase: real :: f print *, f( (/ 0.0, 1.0/) ) end function f(x) real, intent(in) :: x(:) ! assumed shape requires explicit interface in caller real :: f(size(x)) f = sin(x) ! array valued result requires explicit interface in caller end function What bothers me: how are we supposed to determine if an explicit interface would be required, if the function in questions is in a different compilation unit? Can -fwhole-program/-flto, or whatever else looks at the whole picture, tweaked to do that? -- dfranke at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords|ice-on-invalid-code |accepts-invalid http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36553