1! { dg-do compile }
2! { dg-options "-O2" }
3
4program test
5  call test2 ()
6contains
7  subroutine test2 ()
8    type t
9      integer, allocatable :: x
10    end type t
11
12    type t2
13      class(t), allocatable :: a
14    end type t2
15
16    type(t2) :: one, two
17
18    allocate (two%a)
19    one = two
20  end subroutine test2
21end program test
22
23