- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This code illustrates another potential bug when CLASS, POINTER, and ASSOCIATED are mixed together. With the latest ifort and ifx the association status of CT changes after the call to S - I believe it should not.
PROGRAM P
IMPLICIT NONE
TYPE :: T
END TYPE T
CLASS(T), POINTER :: CT => NULL()
WRITE(*, *) 'Association status of CT: ', ASSOCIATED(CT)
CALL S(CT, NULL())
WRITE(*, *) 'Association status of CT: ', ASSOCIATED(CT)
CONTAINS
SUBROUTINE S(C, D)
IMPLICIT NONE
CLASS(T), POINTER, INTENT(INOUT) :: C
TYPE(T), POINTER, INTENT(IN) :: D
C => D
END SUBROUTINE S
END PROGRAM P
.
Link Copied
2 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I was able to test this issue internally. It has now been escalated to compiler engineering for a fix. Thank you for reporting this to us.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This issue is fixed in the 2025.1 ifx.

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