- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
I get an access violation error with ifort 2021.9.0 ... and an ICE with ifx 2023.1.0 with the following code.
MODULE M
IMPLICIT NONE (TYPE, EXTERNAL)
CONTAINS
SUBROUTINE S(X)
IMPLICIT NONE (TYPE, EXTERNAL)
CLASS(*) :: X(..)
SELECT RANK (X)
RANK (0)
SELECT TYPE (XX => X)
TYPE IS (INTEGER)
WRITE(*, *) 'X is of type INTEGER.'
END SELECT
END SELECT
END SUBROUTINE S
END MODULE M
PROGRAM P
USE M
IMPLICIT NONE (TYPE, EXTERNAL)
INTEGER :: I
CALL S(I)
END PROGRAM P
Either there is a missing check in the compiler to prevent those nested constructs, or this is a legal code but there is a compiler bug.
링크가 복사됨
6 응답
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
The code appears conformant, it looks like a bug in IFORT.
Intel team: FYI, IFX encounters ICE with this.
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
This issue has been fixed in the recently released Intel Fortran Compiler, available for download as part of Intel HPC Toolkit 2024.2.1
