rendered paste body! compilation with
! gfortran -std=f2008 -Wimplicit-procedure <thisfile> -lblas
! fails
!
! when removing USE BLAS_INTERFACE it works as expected...
MODULE BLAS_INTERFACE
!
USE ISO_FORTRAN_ENV, ONLY: dp=>REAL64
!
IMPLICIT NONE
!
PUBLIC
!
PRIVATE :: dp
!
INTERFACE
!
SUBROUTINE DGEMM(TRANSA,TRANSB,M,N,K,ALPHA,A,LDA,B,LDB,BETA,C,LDC)
!
IMPORT
!
CHARACTER(LEN=1) :: TRANSA
CHARACTER(LEN=1) :: TRANSB
INTEGER :: M
INTEGER :: N
INTEGER :: K
REAL(dp) :: ALPHA
REAL(dp),DIMENSION(:,:) :: A
INTEGER :: LDA
REAL(dp),DIMENSION(:,:) :: B
INTEGER :: LDB
REAL(dp) :: BETA
REAL(dp),DIMENSION(:,:) :: C
INTEGER :: LDC
!
!
END SUBROUTINE DGEMM
!
END INTERFACE
!
END MODULE BLAS_INTERFACE
PROGRAM TEST
!
USE ISO_FORTRAN_ENV, ONLY: dp=>REAL64
!
USE BLAS_INTERFACE
!
IMPLICIT NONE
!
INTEGER,PARAMETER :: M=10
!
REAL(dp),DIMENSION(M,M) :: A,B,C
REAL(dp),DIMENSION(M,M) :: D
!
CALL RANDOM_NUMBER(A)
CALL RANDOM_NUMBER(B)
!
CALL DGEMM('N','N',M,M,M,1.0_dp,A,M,B,M,0.0_dp,C,M)
!
D=MATMUL(A,B)
!
WRITE(*,*) C
WRITE(*,*) D
!
STOP
!
END PROGRAM TEST