All pastes #2099188 Raw Edit

Someone

public text v1 · immutable
#2099188 ·published 2012-01-04 15:26 UTC
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