URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [gfortran.dg/] [interface_10.f90] - Rev 700
Go to most recent revision | Compare with Previous | Blame | View Log
! { dg-do compile }! PR fortran/30683! Code contributed by Salvatore Filippone.!module class_fldinteger, parameter :: int_ = 1integer, parameter :: bnd_ = 2type fldinteger :: size(2)end type fld!! This interface is extending the SIZE intrinsic procedure,! which led to a segmentation fault when trying to resolve! the intrinsic symbol name.!interface sizemodule procedure get_fld_sizeend interfacecontainsfunction get_fld_size(f)integer :: get_fld_size(2)type(fld), intent(in) :: fget_fld_size(int_) = f%size(int_)get_fld_size(bnd_) = f%size(bnd_)end function get_fld_sizeend module class_fldmodule class_s_flduse class_fldtype s_fldtype(fld) :: basereal(kind(1.d0)), pointer :: x(:) => null()end type s_fldinterface x_module procedure get_s_fld_xend interfacecontainsfunction get_s_fld_x(fld)real(kind(1.d0)), pointer :: get_s_fld_x(:)type(s_fld), intent(in) :: fldget_s_fld_x => fld%xend function get_s_fld_xend module class_s_fldmodule class_s_foocontainssubroutine solve_s_foo(phi,var)use class_s_fldtype(s_fld), intent(inout) :: phireal(kind(1.d0)), intent(out), optional :: varinteger :: nszreal(kind(1.d0)), pointer :: x(:)x => x_(phi)nsz=size(x)end subroutine solve_s_fooend module class_s_foo! { dg-final { cleanup-modules "class_s_fld class_fld class_s_foo" } }
Go to most recent revision | Compare with Previous | Blame | View Log
