! { dg-do compile } ! { dg-options "-fdump-tree-optimized -O" } ! ! PR 50960: [OOP] vtables not marked as constant ! ! This test case checks whether the type-bound call to "x%bar" ! is optimized into a static call to "base". ! ! Contributed by Tobias Burnus module m type t contains procedure, nopass :: bar => base end type contains subroutine base() write(*,*) 'base' end subroutine end module program test use m class(t), allocatable :: x allocate (t :: x) call x%bar () end program ! { dg-final { scan-tree-dump-times "base \\(\\);" 1 "optimized" } } ! { dg-final { cleanup-tree-dump "optimized" } }