Quantcast
Channel: Intel® Software - Intel® Fortran Compiler for Linux* and macOS*
Viewing all articles
Browse latest Browse all 2746

Pointless and warantless compiler warning about specific procedures

$
0
0

Why is the 13.1.1 compiler emitting a TKR warning for two specific subroutines for a generic that are clearly distinguishable according to F2008?  Is this some legacy of F2003?  The warning doesn't go away with "-stand f08" either.  Code appears to work correctly, but the warning is disturbing -- makes me wonder whether the compiler knows what it is doing.

Here's an example:

module example
interface generic
module procedure specific_1, specific_2
end interface
contains
subroutine specific_1 (array)
 integer, allocatable :: array(:)
 end subroutine
 subroutine specific_2 (array)
 integer, pointer :: array(:)
 end subroutine
end module

And the warning message from the compiler:

intel-bug-20130330a.F90(14): warning #6738: The type/rank/keyword signature for this specific procedure matches another specific procedure that shares the same generic-name. [SPECIFIC_2]
subroutine specific_2 (array)
-------------^

Both subroutines have a single rank-1 integer array argument, but one is a pointer and the other is allocatable.  Section 12.4.3.4.5 (F2008) says in part: "Two dummy arguments are distinguishable if one has the ALLOCATABLE attribute and the other has the POINTER attribute". 


Viewing all articles
Browse latest Browse all 2746

Trending Articles



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