blob: 4bda696e9b251a5694a9ad1052d4e6d1aa836e6e [file] [log] [blame]
! Check that character valued statement functions honour length parameters
program st_function_1
character(8) :: foo
character(15) :: bar
character(6) :: p
character (7) :: s
foo(p) = p // "World"
bar(p) = p // "World"
! Expression longer than function, actual arg shorter than dummy.
call check (foo("Hello"), "Hello Wo") ! { dg-warning "Character length of actual argument shorter" }
! Expression shorter than function, actual arg longer than dummy.
! Result shorter than type
s = "Hello"
call check (bar(s), "Hello World ")
contains
subroutine check(a, b)
character (len=*) :: a, b
if ((a .ne. b) .or. (len(a) .ne. len(b))) STOP 1
end subroutine
end program