| ! { dg-do run } |
| ! Tests the fix for PR32047, in which the null agument |
| ! function for the character length would cause an ICE. |
| ! |
| ! Contributed by Tobias Burnus <burnus@gcc.gnu.org > |
| ! |
| module test1 |
| implicit none |
| contains |
| character(f()) function test2() result(r) |
| interface |
| pure function f() |
| integer f |
| end function f |
| end interface |
| r = '123' |
| end function test2 |
| end module test1 |
| |
| pure function f() |
| integer :: f |
| f = 3 |
| end function f |
| |
| program test |
| use test1 |
| implicit none |
| if(len (test2()) /= 3) call abort () |
| if(test2() /= '123') call abort () |
| end program test |
| ! { dg-final { cleanup-modules "test1" } } |