- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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)
Link Copied
3 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
What happens when type node is not a null type?
Jim Dempsey
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I expect the fix for this to appear in Parallel Studio XE 2016 Update 3.
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