! { dg-do run } ! ! Test the fix for PR100245 ! program main_p implicit none type :: foo_t integer :: a end type foo_t integer, parameter :: a = 42 class(foo_t), allocatable :: val class(foo_t), allocatable :: rs1 type(foo_t), allocatable :: rs2 allocate(val, source=foo_t(42)) if (val%a/=a) stop 1 rs1 = val if (rs1%a/=a) stop 2 rs2 = val if (rs2%a/=a) stop 3 deallocate(val, rs1, rs2) end program main_p