I can confirm this issue for ifort.
However, if I define
integer, parameter :: r8=selected_real_kind(15,9)
and use
real(kind=r8)
instead of real. Then it print T and T.
real
Perhaps can go to Intel website and report this issue.