! { dg-do compile } ! ! PR 44044: [OOP] SELECT TYPE with class-valued function ! comment #1 ! ! Note: All three error messages are being checked for double occurrence, ! using the trick from PR 30612. ! ! Contributed by Janus Weil implicit none type :: t end type type :: s sequence end type contains function fun() ! { dg-bogus "must be dummy, allocatable or pointer.*must be dummy, allocatable or pointer" } class(t) :: fun end function function fun2() ! { dg-bogus "cannot have a deferred shape.*cannot have a deferred shape" } integer,dimension(:) :: fun2 end function function fun3() result(res) ! { dg-bogus "is not extensible.*is not extensible" } class(s),pointer :: res end function end ! { dg-error "must be dummy, allocatable or pointer" "" { target *-*-* } 23 } ! { dg-error "cannot have a deferred shape" "" { target *-*-* } 27 } ! { dg-error "is not extensible" "" { target *-*-* } 31 }