! { dg-do compile } ! PR35680 - used to ICE because the argument of SIZE, being in a restricted ! expression, was not checked if it too is restricted or is a variable. Since ! it is neither, an error should be produced. ! ! Contributed by Francois-Xavier Coudert ! program main print *, foo (), bar (), foobar () contains function foo () integer foo(size (transfer (x, [1]))) ! { dg-error "cannot appear" } real x end function function bar() real x integer bar(size (transfer (x, [1]))) ! { dg-error "cannot appear" } end function function foobar() ! { dg-error "no IMPLICIT" } implicit none integer foobar(size (transfer (x, [1]))) ! { dg-error "used before" } real x end function end program