Quantcast
Channel: Intel® Software - Intel® Visual Fortran Compiler for Windows*
Viewing all articles
Browse latest Browse all 5691

Unexpected "warning #7026: Non-standard extension" for a parameterized derived type with type-bound procedures.

$
0
0

This builds on the code snippet in Quote #2 in the topic:  https://software.intel.com/en-us/forums/topic/536577.  Compiler 15, Update 1 gives "warning #7026: Non-standard extension." with /stand:f08.  To me, this is unexpected.  Comments?

MODULE m

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

   IMPLICIT NONE

   !..
   PRIVATE

   !..
   PUBLIC :: I4, SP, DP

   TYPE, PUBLIC :: t(k,n)
      PRIVATE
      INTEGER(I4), KIND :: k = SP
      INTEGER(I4), LEN  :: n = 1
      REAL(k) :: m_X(n)
   CONTAINS
      PRIVATE
      PROCEDURE, PASS(This) :: GetX_SP
      PROCEDURE, PASS(This) :: GetX_DP
      PROCEDURE, PASS(This) :: SetX_SP
      PROCEDURE, PASS(This) :: SetX_DP
      GENERIC, PUBLIC :: X => GetX_SP, GetX_DP
      GENERIC, PUBLIC :: SetX => SetX_SP, SetX_DP
   END TYPE t

CONTAINS

   PURE FUNCTION GetX_SP(This) RESULT(RetVal)

      CLASS(t(SP,*)), INTENT(IN) :: This
      !.. Function result
      REAL(SP), ALLOCATABLE :: RetVal(:)

      RetVal = This%m_X

      RETURN

   END FUNCTION GetX_SP

   PURE FUNCTION GetX_DP(This) RESULT(RetVal)

      CLASS(t(DP,*)), INTENT(IN) :: This
      !.. Function result
      REAL(DP), ALLOCATABLE :: RetVal(:)

      RetVal = This%m_X

      RETURN

   END FUNCTION GetX_DP

   PURE SUBROUTINE SetX_SP(This, Arr)

      CLASS(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(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

 

------ Build started: Project: TestFor, Configuration: Debug|Win32 ------

Compiling with Intel(R) Visual Fortran Compiler XE 15.0.1.148 [IA-32]...
TestMod.f90
C:\..\TestMod.f90(56): warning #7026: Non-standard extension.   [T#4&*]
C:\..\TestMod.f90(69): warning #7026: Non-standard extension.   [T#8&*]

Build log written to  "file://C:\..\Debug\Win32\TestForBuildLog.htm"
TestFor - 0 error(s), 2 warning(s)


---------------------- Done ----------------------

 


Viewing all articles
Browse latest Browse all 5691

Trending Articles



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