aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gfortran.dg/select_type_16.f03
blob: 109252ee547bbe56d0aead6491be7d4977e75017 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
! { dg-do compile }
!
! PR 45439: [OOP] SELECT TYPE bogus complaint about INTENT
!
! Contributed by Salvatore Filippone <sfilippone@uniroma2.it>


module d_base_mat_mod

  implicit none

  type :: d_base_sparse_mat
  contains
    procedure, pass(a) :: mv_to_coo   => d_base_mv_to_coo   
  end type d_base_sparse_mat

  interface 
    subroutine d_base_mv_to_coo(a)
      import d_base_sparse_mat
      class(d_base_sparse_mat), intent(inout) :: a
    end subroutine d_base_mv_to_coo
  end interface

  type :: d_sparse_mat
    class(d_base_sparse_mat), allocatable  :: a 
  end type d_sparse_mat

contains

  subroutine bug21(ax)
    type(d_sparse_mat), intent(inout) :: ax
    select type(aa=> ax%a)
    class default
      call aa%mv_to_coo() 
    end select
  end subroutine bug21

end module d_base_mat_mod