| ! { 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 |