2 ! PR 47065 - make sure that impure functions are not evaluated twice when
3 ! replacing calls to trim with expression(1:len_trim)
18 character(len=10) :: line
19 character(len=4) :: b(2)
22 write(unit=line,fmt='(A,A)') trim(b(f())), "X"
23 if (line /= "aX ") call abort
24 if (f() .ne. 2) call abort
27 ! { dg-final { cleanup-modules "foo" } }