! This testcase was miscompiled, because ts.cl ! in function bar was initially shared between both ! dummy arguments. Although it was later unshared, ! all expressions which copied ts.cl from bar2 ! before that used incorrectly bar1's length ! instead of bar2. ! { dg-do run } subroutine foo (foo1, foo2) implicit none integer, intent(in) :: foo2 character(*), intent(in) :: foo1(foo2) end subroutine foo subroutine bar (bar1, bar2) implicit none character(*), intent(in) :: bar1, bar2 call foo ((/ bar2 /), 1) end subroutine bar program test character(80) :: str1 character(5) :: str2 str1 = 'String' str2 = 'Strng' call bar (str2, str1) end program test