! { dg-do run } ! program test0 implicit none real, parameter :: & r = transfer(int(b'01000000001010010101001111111101',kind=4),0.) complex, parameter :: z = r * (0, 1.) real(kind=8), parameter :: rd = dble(b'00000000000000000000000000000000& &01000000001010010101001111111101') complex(kind=8), parameter :: zd = (0._8, 1._8) * rd integer :: x = 0 if (cmplx(b'01000000001010010101001111111101',x,4) /= r) STOP 1 if (cmplx(x,b'01000000001010010101001111111101',4) /= z) STOP 2 if (complex(b'01000000001010010101001111111101',0) /= r) STOP 3 if (complex(0,b'01000000001010010101001111111101') /= z) STOP 4 !if (cmplx(b'00000000000000000000000000000000& ! &01000000001010010101001111111101',x,8) /= rd) STOP 5 !if (cmplx(x,b'00000000000000000000000000000000& ! &01000000001010010101001111111101',8) /= zd) STOP 6 !if (dcmplx(b'00000000000000000000000000000000& ! &01000000001010010101001111111101',x) /= rd) STOP 7 !if (dcmplx(x,b'00000000000000000000000000000000& ! &01000000001010010101001111111101') /= zd) STOP 8 end program test0