Increase timeout factor for hppa*-*-* in gcc.dg/long_branch.c
[official-gcc.git] / gcc / testsuite / gfortran.dg / class_72.f90
blob0fd6ec010f5f3e09aa335b9022ba4714836205ec
1 ! PR fortran/102745
3 implicit none
5 type t
6 end type t
8 type, extends(t) :: t2
9 end type t2
11 type t3
12 end type t3
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
21 call f(var)
22 call f(v2ar) ! { dg-error "passed TYPE.t2. to TYPE.t." }
23 call f(v2ar%t)
24 call f(cvar)
25 call f(c2var) ! { dg-error "passed CLASS.t2. to TYPE.t." }
26 call f(c2var%t)
28 call f2(var) ! { dg-error "passed TYPE.t. to TYPE.t2." }
29 call f2(v2ar)
30 call f2(cvar) ! { dg-error "passed CLASS.t. to TYPE.t2." }
31 call f2(c2var)
34 var = var
35 var = v2ar ! { dg-error "TYPE.t2. to TYPE.t." }
36 var = cvar
37 var = c2var ! { dg-error "TYPE.t2. to TYPE.t." }
39 v2ar = var ! { dg-error "Cannot convert TYPE.t. to TYPE.t2." }
40 v2ar = v2ar
41 v2ar = cvar ! { dg-error "Cannot convert TYPE.t. to TYPE.t2." }
42 v2ar = c2var
44 cvar = var
45 cvar = v2ar
46 cvar = cvar
47 cvar = c2var
49 c2var = var ! { dg-error "Cannot convert TYPE.t. to CLASS.t2." }
50 c2var = v3ar ! { dg-error "Cannot convert TYPE.t3. to CLASS.t2." }
51 c2var = v2ar
52 c2var = cvar ! { dg-error "Cannot convert CLASS.t. to CLASS.t2." }
53 c2var = c3var ! { dg-error "Cannot convert CLASS.t3. to CLASS.t2." }
54 c2var = c2var
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)
76 contains
77 subroutine f(x)
78 type(t) :: x
79 end
80 subroutine f2(x)
81 type(t2) :: x
82 end
83 end