| ! { dg-do run } |
| ! { dg-options "-std=f2003 " } |
| |
| ! PR fortran/38936 |
| ! Check associate to polymorphic entities. |
| |
| ! Contributed by Tobias Burnus, burnus@gcc.gnu.org. |
| |
| type t |
| end type t |
| |
| type, extends(t) :: t2 |
| end type t2 |
| |
| class(t), allocatable :: a, b |
| allocate( t :: a) |
| allocate( t2 :: b) |
| |
| associate ( one => a, two => b) |
| select type(two) |
| type is (t) |
| STOP 1 |
| type is (t2) |
| print *, 'OK', two |
| class default |
| STOP 2 |
| end select |
| select type(one) |
| type is (t2) |
| STOP 3 |
| type is (t) |
| print *, 'OK', one |
| class default |
| STOP 4 |
| end select |
| end associate |
| end |