Bit functions return wrong kind for INT8 arguments

Some of the bit functions in 18.4 return results with the wrong integer kind when used with INT8 arguments. The following example should compile without error. The compiler does the correct thing for the other integer kinds.

program main

  use,intrinsic :: iso_fortran_env
  
  call int8_arg(iand(1_int8,1_int8))
  call int8_arg(ibset(1_int8,1))
  call int8_arg(ieor(1_int8,1_int8))
  call int8_arg(ior(1_int8,1_int8))
  call int8_arg(ishft(1_int8,1))
  call int8_arg(not(1_int8))

contains

  subroutine int8_arg(n)
    integer(int8) :: n
  end subroutine

end program



$ pgfortran pgi-bitfun-kind.f90
PGF90-S-0450-Argument number 1 to int8_arg: kind mismatch (pgi-bitfun-kind.f90: 5)
PGF90-S-0450-Argument number 1 to int8_arg: kind mismatch (pgi-bitfun-kind.f90: 6)
PGF90-S-0450-Argument number 1 to int8_arg: kind mismatch (pgi-bitfun-kind.f90: 7)
PGF90-S-0450-Argument number 1 to int8_arg: kind mismatch (pgi-bitfun-kind.f90: 8)
PGF90-S-0450-Argument number 1 to int8_arg: kind mismatch (pgi-bitfun-kind.f90: 9)
PGF90-S-0450-Argument number 1 to int8_arg: kind mismatch (pgi-bitfun-kind.f90: 10)
0 inform, 0 warnings, 6 severes, 0 fatal for main

Thanks NeilC. I was able to reproduce the issue here and have submitted TPR#25692 to our engineers for further investigation.

-Mat