5 ! Contributed by Vivek Rao
7 ! Compiling the program below gave an ICE
12 elemental function trim_append(xx,yy) result(xy)
13 character (len=*), intent(in) :: xx,yy
14 character (len=len(xx) + len(yy)) :: xy
16 end function trim_append
17 function same(xx) result(yy)
18 character (len=*), intent(in) :: xx(:)
19 character (len=len(xx)) :: yy(size(xx))
22 subroutine foo(labels)
23 character (len=*), intent(in) :: labels(:)
24 print*,"size(labels)=",size(labels)
27 call foo(trim_append(["a"],same(["b"])))
36 ! { dg-final { cleanup-modules "bar" } }