1! { dg-do compile }
2! PR 62242
3! A subprogram calling an array constructor with an array element whose
4! value is the result of calling a character function with both an
5! assumed-length argument and an assumed-length result
6module gfbug
7    implicit none
8contains
9    function inner(inner_str) result(upper)
10        character(*), intent(IN) :: inner_str
11        character(LEN(inner_str)) :: upper
12
13        upper = '123'
14    end function
15
16    subroutine outer(outer_str)
17        character(*), intent(IN) :: outer_str
18        character(5) :: z(1)
19
20        z = [inner(outer_str)]
21    end subroutine
22end module gfbug
23