In case this is not a known issue: consider the code shown below: procedure with IMPURE attribute doesn't show up in the members drop-down list in Visual Studio. Also, this particular keyword doesn't receive the syntax highlighting either.
module m contains subroutine foo() end subroutine foo pure subroutine bar() end subroutine bar elemental subroutine foobar() end subroutine foobar impure elemental subroutine snafu() end subroutine snafu end module m