Quantcast
Channel: Intel® Fortran Compiler
Viewing all articles
Browse latest Browse all 3270

Dummy argument names and interface bodies

$
0
0

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)

 


Viewing all articles
Browse latest Browse all 3270

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>