2 ! { dg-require-effective-target fortran_large_real }
3 ! { dg-require-effective-target fortran_large_int }
7 ! Check reading and writing of real(10/16) BOZ,
8 ! which needs integer(16) support.
11 character(len
=256) :: str
12 integer,parameter :: xp
= selected_real_kind (precision (0.0d0)+1)
19 write(str
,'(b128)') r1
20 read (str
,'(b128)') r2
21 if(r2
/= r1
) call abort()
24 write(str
,'(o126)') r1
25 read (str
,'(o126)') r2
26 if(r2
/= r1
) call abort()
29 write(str
,'(z126)') r1
30 read (str
,'(z126)') r2
31 if(r2
/= r1
) call abort()
33 z2
= cmplx(5.0_xp
,7.0_xp
)
34 z1
= cmplx(2.0_xp
,3.0_xp
)
36 write(str
,'(2b128)') z1
37 read (str
,'(2b128)') z2
38 if(z2
/= z1
) call abort()
40 z2
= cmplx(5.0_xp
,7.0_xp
)
41 write(str
,'(2o126)') z1
42 read (str
,'(2o126)') z2
43 if(z2
/= z1
) call abort()
45 z2
= cmplx(5.0_xp
,7.0_xp
)
46 write(str
,'(2z126)') z1
47 read (str
,'(2z126)') z2
48 if(z2
/= z1
) call abort()