1! { dg-do compile } 2! 3! PR 54134: [OOP] ICE overriding derived type bound function with allocatable character as result 4! 5! Contributed by <koen.poppe@cs.kuleuven.be> 6 7module dtAs 8 implicit none 9 type :: A 10 contains 11 procedure, nopass :: name => name_A 12 end type 13contains 14 function name_A() result( name ) 15 character(:), allocatable :: name 16 name = "name_A" 17 end function 18end module 19 20module dtBs 21 use dtAs 22 implicit none 23 type, extends( A ) :: B 24 contains 25 procedure, nopass :: name => name_B 26 end type 27contains 28 function name_B() result( name ) 29 character(:), allocatable :: name 30 name = "name_B" 31 end function 32end module 33 34! { dg-final { cleanup-modules "dtAs dtBs" } } 35