| ! { dg-do compile } |
| ! Tests the patch for PR28890, in which a reference to a legal reference |
| ! to an assumed character length function, passed as a dummy, would |
| ! cause an ICE. |
| ! |
| ! Contributed by Paul Thomas <pault@gcc.gnu.org> |
| ! |
| character(*) function charrext (n) ! { dg-warning "Obsolescent feature" } |
| character(26) :: alpha ="abcdefghijklmnopqrstuvwxyz" |
| charrext = alpha (1:n) |
| end function charrext |
| |
| character(26), external :: charrext |
| interface |
| integer(4) function test(charr, i) ! { dg-warning "Obsolescent feature" } |
| character(*), external :: charr |
| integer :: i |
| end function test |
| end interface |
| |
| do j = 1 , 26 |
| m = test (charrext, j) |
| m = ctest (charrext, 27 - j) |
| end do |
| contains |
| integer(4) function ctest(charr, i) ! { dg-warning "Obsolescent feature" } |
| character(*) :: charr |
| integer :: i |
| print *, charr(i) |
| ctest = 1 |
| end function ctest |
| end |
| |
| integer(4) function test(charr, i) ! { dg-warning "Obsolescent feature" } |
| character(*) :: charr |
| integer :: i |
| print *, charr(i) |
| test = 1 |
| end function test |
| |