AMD compiler bug?

The program below appears to expose two bugs in the AMD Fortran compiler, one in treating ES42.33E4 as if it were ES42.33 for double precision huge, the other in printing Inf instead of a finite value for quadruple precision huge.

program hugetest
  use ieee_arithmetic
  implicit none
  integer,parameter:: dp = selected_real_kind(15), qp = selected_real_kind(33)
  character(*),parameter:: fmt = '(1X,A,SP,ES42.33E4,A)' 
  print *,'IEEE OK for kinds dp,qp?', &
       ieee_support_datatype(1._dp),ieee_support_datatype(1._qp)
  print fmt,'huge(1.0_dp) =  "',huge(1.0_dp),'"'
  print fmt,'huge(1.0_qp) =  "',huge(1.0_qp),'"'
end program hugetest

With AMD flang the output is

 IEEE OK for kinds dp,qp?  T  T
 huge(1.0_dp) =  "  +1.797693134862315708145274237317044+308"
 huge(1.0_qp) =  "                                      +Inf"

but with both gfortran and ifort the output, which I believe to be correct, is

IEEE OK for kinds dp,qp? T T
 huge(1.0_dp) =  "+1.797693134862315708145274237317044E+0308"
 huge(1.0_qp) =  "+1.189731495357231765085759326628007E+4932"