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 188.8.131.52.5 (F2008) says in part: "Two dummy arguments are distinguishable if one has the ALLOCATABLE attribute and the other has the POINTER attribute".