14 type(t
), allocatable
:: var
15 type(t2
), allocatable
:: v2ar
16 type(t3
), allocatable
:: v3ar
17 class(t
), allocatable
:: cvar
18 class(t2
), allocatable
:: c2var
19 class(t3
), allocatable
:: c3var
22 call f(v2ar
) ! { dg-error "passed TYPE.t2. to TYPE.t." }
25 call f(c2var
) ! { dg-error "passed CLASS.t2. to TYPE.t." }
28 call f2(var
) ! { dg-error "passed TYPE.t. to TYPE.t2." }
30 call f2(cvar
) ! { dg-error "passed CLASS.t. to TYPE.t2." }
35 var
= v2ar
! { dg-error "TYPE.t2. to TYPE.t." }
37 var
= c2var
! { dg-error "TYPE.t2. to TYPE.t." }
39 v2ar
= var
! { dg-error "Cannot convert TYPE.t. to TYPE.t2." }
41 v2ar
= cvar
! { dg-error "Cannot convert TYPE.t. to TYPE.t2." }
49 c2var
= var
! { dg-error "Cannot convert TYPE.t. to CLASS.t2." }
50 c2var
= v3ar
! { dg-error "Cannot convert TYPE.t3. to CLASS.t2." }
52 c2var
= cvar
! { dg-error "Cannot convert CLASS.t. to CLASS.t2." }
53 c2var
= c3var
! { dg-error "Cannot convert CLASS.t3. to CLASS.t2." }
56 allocate (var
, source
=var
)
57 allocate (var
, source
=v2ar
) ! { dg-error "incompatible with source-expr" }
58 allocate (var
, source
=cvar
)
59 allocate (var
, source
=c2var
) ! { dg-error "incompatible with source-expr" }
61 allocate (v2ar
, source
=var
) ! { dg-error "incompatible with source-expr" }
62 allocate (v2ar
, source
=v2ar
)
63 allocate (v2ar
, source
=cvar
) ! { dg-error "incompatible with source-expr" }
64 allocate (v2ar
, source
=c2var
)
66 allocate (cvar
, source
=var
)
67 allocate (cvar
, source
=v2ar
)
68 allocate (cvar
, source
=cvar
)
69 allocate (cvar
, source
=c2var
)
71 allocate (c2var
, source
=var
) ! { dg-error "incompatible with source-expr" }
72 allocate (c2var
, source
=v2ar
)
73 allocate (c2var
, source
=cvar
) ! { dg-error "incompatible with source-expr" }
74 allocate (c2var
, source
=c2var
)