! { dg-do compile } ! { dg-options "-fno-tree-fre -fno-tree-ccp -Og" } program simplify_transfer call pr30881 () contains subroutine pr18769 () type t end type t end subroutine pr18769 subroutine pr30881 () INTEGER, PARAMETER :: K=1 I=TRANSFER(.TRUE.,K) SELECT CASE(I) CASE(TRANSFER(.TRUE.,K)) CASE(TRANSFER(.FALSE.,K)) STOP 2 CASE DEFAULT STOP 3 END SELECT END subroutine pr30881 subroutine pr31194 () end subroutine pr31194 subroutine pr31216 () END subroutine pr31216 subroutine pr31427 () END subroutine pr31427 end program simplify_transfer