| August 30, 2009 9:00 PM PDT | |
Reference Number : DPD200139304
Version : 11.1
Operating System : All
Problem Description : The compiler will incorrectly issue diagnostic 6405: The same named entity from different modules and/or program units cannot be referenced, in the following situation:
Resolution Status : This error will be corrected in a future product version. The simplest workaround is to recode the declaration in the module as an INTERFACE block. For example:
For information on other causes of this error, see Diagnostic 6405: The same named entity from different modules and/or program units cannot be referenced.
[DISCLAIMER: The information on this web site is intended for hardware system manufacturers and software developers. Intel does not warrant the accuracy, completeness or utility of any information on this site. Intel may make changes to the information or the site at any time without notice. Intel makes no commitment to update the information at this site. ALL INFORMATION PROVIDED ON THIS WEBSITE IS PROVIDED "as is" without any express, implied, or statutory warranty of any kind including but not limited to warranties of merchantability, non-infringement of intellectual property, or fitness for any particular purpose. Independent companies manufacture the third-party products that are mentioned on this site. Intel is not responsible for the quality or performance of third-party products and makes no representation or warranty regarding such products. The third-party supplier remains solely responsible for the design, manufacture, sale and functionality of its products. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries. *Other names and brands may be claimed as the property of others.]
Version : 11.1
Operating System : All
Problem Description : The compiler will incorrectly issue diagnostic 6405: The same named entity from different modules and/or program units cannot be referenced, in the following situation:
- A procedure (subroutine or function) is declared with an implicit interface (just a type and/or EXTERNAL) in a module.
- A program unit USEs the module and calls the procedure twice or more.
- The application is compiled with the generated interface checking feature enabled. (From the command line, the option /warn:interface (Windows) or -warn interface (Linux and Mac OS X); in the Visual Studio development environment, property Fortran > Diagnostics > Check Routine Interfaces is set to Yes.)
module MYMOD
logical, external :: func
end module MYMOD
program MAIN
use MYMOD
print *, FUNC(0)
print *, FUNC(1)
end program MAIN
Resolution Status : This error will be corrected in a future product version. The simplest workaround is to recode the declaration in the module as an INTERFACE block. For example:
module MYMODIf the procedure is written in Fortran, a preferable alternative is to place it in the module as a module procedure. This avoids the need to write a separate declaration of the procedure, but does require that any caller USE the module.
interface
logical function FUNC (ARG)
integer, intent(IN) :: ARG
end function FUNC
end interface
end module MYMOD
For information on other causes of this error, see Diagnostic 6405: The same named entity from different modules and/or program units cannot be referenced.
[DISCLAIMER: The information on this web site is intended for hardware system manufacturers and software developers. Intel does not warrant the accuracy, completeness or utility of any information on this site. Intel may make changes to the information or the site at any time without notice. Intel makes no commitment to update the information at this site. ALL INFORMATION PROVIDED ON THIS WEBSITE IS PROVIDED "as is" without any express, implied, or statutory warranty of any kind including but not limited to warranties of merchantability, non-infringement of intellectual property, or fitness for any particular purpose. Independent companies manufacture the third-party products that are mentioned on this site. Intel is not responsible for the quality or performance of third-party products and makes no representation or warranty regarding such products. The third-party supplier remains solely responsible for the design, manufacture, sale and functionality of its products. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries. *Other names and brands may be claimed as the property of others.]
Do you need more help?
This article applies to: Intel® Fortran Compiler for Linux* Knowledge Base, Intel® Fortran Compiler for Mac OS X* Knowledge Base, Intel® Visual Fortran Compiler for Windows* Knowledge Base
For more complete information about compiler optimizations, see our Optimization Notice.
Comments (0) 
Trackbacks (0)
Leave a comment 
To obtain technical support, please go to Software Support.
Author
Steve Lionel (Intel)
|

