2014-07-12 Paul Thomas <pault@gcc.gnu.org>
[official-gcc.git] / gcc / testsuite / gfortran.dg / whole_file_33.f90
blob4163b77a4bc1242df8d5a8b925657d125aa8db97
1 ! { dg-do compile }
3 ! PR fortran/48588
5 ! Contributed by Andres Legarra.
8 MODULE LA_PRECISION
9 IMPLICIT NONE
10 INTEGER, PARAMETER :: dp = KIND(1.0D0)
11 END MODULE LA_PRECISION
13 module lapack90
14 INTERFACE
15 SUBROUTINE DGESV_F90( A, B, IPIV, INFO )
16 USE la_precision, ONLY: wp => dp
17 IMPLICIT NONE
18 INTEGER, INTENT(OUT), OPTIONAL :: INFO
19 INTEGER, INTENT(OUT), OPTIONAL, TARGET :: IPIV(:)
20 REAL(WP), INTENT(IN OUT) :: A(:,:), B(:,:)
21 END SUBROUTINE DGESV_F90
22 END INTERFACE
23 end module
25 SUBROUTINE DGESV_F90( A, B, IPIV, INFO )
26 USE la_precision, ONLY: wp => dp
27 IMPLICIT NONE
28 INTEGER, INTENT(OUT), OPTIONAL :: INFO
29 INTEGER, INTENT(OUT), OPTIONAL, TARGET :: IPIV(:)
30 REAL(WP), INTENT(IN OUT) :: A(:,:), B(:,:)
31 END SUBROUTINE DGESV_F90
33 MODULE DENSEOP
34 USE LAPACK90
35 implicit none
36 integer, parameter :: r8 = SELECTED_REAL_KIND( 15, 307 )
37 real(r8)::denseop_tol=1.d-50
39 CONTAINS
41 SUBROUTINE GEINV8 (x)
42 real(r8)::x(:,:)
43 real(r8),allocatable::x_o(:,:)
44 allocate(x_o(size(x,1),size(x,1)))
45 CALL dgesv_f90(x,x_o)
46 x=x_o
47 END SUBROUTINE GEINV8
48 END MODULE DENSEOP