1! { dg-do run } 2! 3program test0 4 implicit none 5 real, parameter :: & 6 r = transfer(int(b'01000000001010010101001111111101',kind=4),0.) 7 complex, parameter :: z = r * (0, 1.) 8 real(kind=8), parameter :: rd = dble(b'00000000000000000000000000000000& 9 &01000000001010010101001111111101') 10 complex(kind=8), parameter :: zd = (0._8, 1._8) * rd 11 integer :: x = 0 12 13 if (cmplx(b'01000000001010010101001111111101',x,4) /= r) STOP 1 14 if (cmplx(x,b'01000000001010010101001111111101',4) /= z) STOP 2 15 if (complex(b'01000000001010010101001111111101',0) /= r) STOP 3 16 if (complex(0,b'01000000001010010101001111111101') /= z) STOP 4 17 18 !if (cmplx(b'00000000000000000000000000000000& 19 ! &01000000001010010101001111111101',x,8) /= rd) STOP 5 20 !if (cmplx(x,b'00000000000000000000000000000000& 21 ! &01000000001010010101001111111101',8) /= zd) STOP 6 22 !if (dcmplx(b'00000000000000000000000000000000& 23 ! &01000000001010010101001111111101',x) /= rd) STOP 7 24 !if (dcmplx(x,b'00000000000000000000000000000000& 25 ! &01000000001010010101001111111101') /= zd) STOP 8 26 27end program test0 28