! { dg-do run } ! { dg-options "-fdump-tree-original" } ! ! Test the fix for PR100097 ! program main_p implicit none class(*), pointer :: bar_p(:) class(*), allocatable :: bar_a(:) call foo_p(bar_p) call foo_a(bar_a) contains subroutine foo_p(that) class(*), pointer, intent(out) :: that(..) select rank(that) rank(1) rank default stop 1 end select end subroutine foo_p subroutine foo_a(that) class(*), allocatable, intent(out) :: that(..) select rank(that) rank(1) rank default stop 2 end select end subroutine foo_a end program main_p ! { dg-final { scan-tree-dump "bar_a._data.dtype = \\{.* .rank=1,.*\\}" "original" } } ! { dg-final { scan-tree-dump "bar_p._data.dtype = \\{.* .rank=1,.*\\}" "original" } }