pgfortran emits PGF90-W-0155-END inappropriately

Compiling

interface
  subroutine a
  end
end interface
end

pgfortran 18.10 gives the following warning:

There is no internal procedure to be seen.

Hi iabpab,

There is no internal procedure to be seen.

Correct. This compiler is issuing a generic error message that’s catching this issue but emitting a string tailored to a separate issue.

I can add an issue report. Though since other compilers compile this code without complaint, would you rather that I request that we accept this code without warnings or ask for the warning message be made more specific?

FYI, you can work around the warning by adding:

interface 
  subroutine a 
  end subroutine
end interface 
end

-Mat

I certainly prefer the form with “end subroutine/function”, so I’d be happy with a warning message being more clear.

But I’d probably want it to be optional - using the MKL headers from Intel:

Although there’s an argument for not having a warning: the compiler seems content with

subroutine a
end

Sounds good. I added TPR#26894 to track this issue and will let our compiler folks determine the best course of action.

-Mat