A better illustration perhaps is
NOT STANDARD
program testit
!! THIS IS NOT STANDARD
! bad: gfortran, ifort; good: nvfortran
complex :: cx2=(sin(40.0),cos(40.0))
write(*,*)cx2
end program testit
STANDARD
program testit
!! THIS IS
real,parameter :: r1=sin(40.0), r2=cos(40.0)
complex :: cx2=(r1,r2)
write(*,*)cx2
end program testit
QUIZ
So what will this do (hint: depends on which standard level)?
program testit
complex :: cx2=cmplx(sin(40.0),cos(40.0))
write(*,*)cx2
end program testit