2017-12-08 Richard Biener <rguenther@suse.de>
[official-gcc.git] / gcc / testsuite / gfortran.dg / associate_8.f03
bloba6f9938f0bb5ea1c29c704fd2e39c57020adb919
1 ! { dg-do run }
2 ! { dg-options "-std=f2003 -fall-intrinsics" }
4 ! PR fortran/38936
5 ! Check associate to polymorphic entities.
7 ! Contributed by Tobias Burnus, burnus@gcc.gnu.org.
9 type t
10 end type t
12 type, extends(t) :: t2
13 end type t2
15 class(t), allocatable :: a, b
16 allocate( t :: a)
17 allocate( t2 :: b)
19 associate ( one => a, two => b)
20   select type(two)
21     type is (t)
22       call abort ()
23     type is (t2)
24       print *, 'OK', two
25     class default
26       call abort ()
27   end select
28   select type(one)
29     type is (t2)
30       call abort ()
31     type is (t)
32       print *, 'OK', one
33     class default
34       call abort ()
35   end select
36 end associate
37 end