re PR fortran/45439 ([OOP] SELECT TYPE bogus complaint about INTENT)
2010-08-29 Janus Weil <janus@gcc.gnu.org> PR fortran/45439 * match.c (gfc_match_select_type): Give the associate-name the FL_VARIABLE attribute. 2010-08-29 Janus Weil <janus@gcc.gnu.org> PR fortran/45439 * gfortran.dg/select_type_16.f03: New. From-SVN: r163626
This commit is contained in:
parent
ae04c688c0
commit
f08f8b6a53
|
@ -1,4 +1,10 @@
|
||||||
2010-07-21 Steven G. Kargl <kargl@gcc.gnu.org>
|
2010-08-29 Janus Weil <janus@gcc.gnu.org>
|
||||||
|
|
||||||
|
PR fortran/45439
|
||||||
|
* match.c (gfc_match_select_type): Give the associate-name the
|
||||||
|
FL_VARIABLE attribute.
|
||||||
|
|
||||||
|
2010-07-28 Steven G. Kargl <kargl@gcc.gnu.org>
|
||||||
|
|
||||||
* simplify.c (gfc_simplify_bessel_n2): Fix indention
|
* simplify.c (gfc_simplify_bessel_n2): Fix indention
|
||||||
and argument type.
|
and argument type.
|
||||||
|
|
|
@ -4532,6 +4532,7 @@ gfc_match_select_type (void)
|
||||||
expr1->symtree->n.sym->attr.untyped = 1;
|
expr1->symtree->n.sym->attr.untyped = 1;
|
||||||
else
|
else
|
||||||
expr1->symtree->n.sym->ts = expr2->ts;
|
expr1->symtree->n.sym->ts = expr2->ts;
|
||||||
|
expr1->symtree->n.sym->attr.flavor = FL_VARIABLE;
|
||||||
expr1->symtree->n.sym->attr.referenced = 1;
|
expr1->symtree->n.sym->attr.referenced = 1;
|
||||||
expr1->symtree->n.sym->attr.class_ok = 1;
|
expr1->symtree->n.sym->attr.class_ok = 1;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,9 @@
|
||||||
2010-07-21 Steven G. Kargl <kargl@gcc.gnu.org>
|
2010-08-29 Janus Weil <janus@gcc.gnu.org>
|
||||||
|
|
||||||
|
PR fortran/45439
|
||||||
|
* gfortran.dg/select_type_16.f03: New.
|
||||||
|
|
||||||
|
2010-07-28 Steven G. Kargl <kargl@gcc.gnu.org>
|
||||||
Tobias Burnus <burnus@net-b.de>
|
Tobias Burnus <burnus@net-b.de>
|
||||||
|
|
||||||
* gfortran.dg/bessel_7.f90: Decrease required precision.
|
* gfortran.dg/bessel_7.f90: Decrease required precision.
|
||||||
|
|
|
@ -0,0 +1,41 @@
|
||||||
|
! { 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
|
||||||
|
|
||||||
|
|
||||||
|
! { dg-final { cleanup-modules "d_base_mat_mod" } }
|
Loading…
Reference in New Issue