- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
Ifort complains that the name `node` inside the interface body for `two` isn't a type. I think it is getting confused by the use of `node` as a dummy argument in the previous interface body.
MODULE m IMPLICIT NONE TYPE :: Node END TYPE Node INTERFACE MODULE SUBROUTINE one(node) INTEGER :: node END SUBROUTINE one MODULE SUBROUTINE two(arg) TYPE(Node) :: arg END SUBROUTINE two END INTERFACE END MODULE m
>ifort /check:all /warn:all /standard-semantics "2016-01-25 node.f90" Intel(R) Visual Fortran Intel(R) 64 Compiler for applications running on Intel(R) 64, Version 16.0 Build 20151021 Copyright (C) 1985-2015 Intel Corporation. All rights reserved. 2016-01-25 node.f90(13): error #6463: This is not a derived type name. [NODE] TYPE(Node) :: arg -----------^ 2016-01-25 node.f90(12): warning #6717: This name has not been given an explicit type. [ARG] MODULE SUBROUTINE two(arg) --------------------------^ compilation aborted for 2016-01-25 node.f90 (code 1)
コピーされたリンク
3 返答(返信)
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
What happens when type node is not a null type?
Jim Dempsey
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
That doesn't change things. You're right that making the dummy argument named node is the key. This is a bug and I will let the developers know - thanks. Issue ID is DPD200381101.
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
I expect the fix for this to appear in Parallel Studio XE 2016 Update 3.
