Quantcast
Channel: Intel® Fortran Compiler
Viewing all articles
Browse latest Browse all 3270

Compiler 15, Update 1 seems to hang up: parameterized derived type extension with type-bound procedures

$
0
0

I think the simple code below that makes use of a parameterized derived type extension with type-bound procedures is ok, but Intel(R) Visual Fortran Compiler XE 15.0.1.148 seems to hang up for me and the process never exits.  I wonder if this problem is reproducible.

MODULE m

   USE, INTRINSIC :: ISO_FORTRAN_ENV, ONLY : I4 => INT32, SP => REAL32, DP => REAL64

   IMPLICIT NONE

   !..
   PRIVATE

   !..
   PUBLIC :: I4, SP, DP

   TYPE :: b_t(k,n)
      PRIVATE
      INTEGER(I4), KIND :: k = SP
      INTEGER(I4), LEN  :: n = 1
   END TYPE b_t

   TYPE, EXTENDS(b_t), PUBLIC :: e_t
      PRIVATE
      REAL(k) :: m_X(n)
   CONTAINS
      PRIVATE
      PROCEDURE, PASS(This) :: SetX_SP
      PROCEDURE, PASS(This) :: SetX_DP
      GENERIC, PUBLIC :: SetX => SetX_SP, SetX_DP
   END TYPE e_t

CONTAINS

   PURE SUBROUTINE SetX_SP(This, Arr)

      CLASS(e_t(SP,*)), INTENT(INOUT) :: This
      REAL(SP), INTENT(IN)            :: Arr(:)

      IF (SIZE(Arr) == This%n) THEN
         This%m_X = Arr
      END IF

      RETURN

   END SUBROUTINE SetX_SP

   PURE SUBROUTINE SetX_DP(This, Arr)

      CLASS(e_t(DP,*)), INTENT(INOUT) :: This
      REAL(DP), INTENT(IN)            :: Arr(:)

      IF (SIZE(Arr) == This%n) THEN
         This%m_X = Arr
      END IF

      RETURN

   END SUBROUTINE SetX_DP

END MODULE m

 


Viewing all articles
Browse latest Browse all 3270

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>