- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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 ----------------------
Link Copied
4 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
We've seen this one before - I'll check it out in more detail on Monday.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I believe that any standards warning here is unwarranted. We have other reports of this diagnostic coming out for uses of PDTs. I have escalated it as issue DPD200363879.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I expect this to be fixed in Update 2, planned for February, as part of a set of fixes for PDTs.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Excellent news Steve. I look forward to the update.
Thanks,
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page