1! { dg-do run }
2! { dg-options "-std=f2008" }
3! { dg-require-effective-target fortran_real_16 }
4!
5! PR fortran/51407
6!
7! Fortran 2008 allows BOZ edit descriptors for real/complex.
8!
9       real(kind=4) :: x
10       complex(kind=4) :: z
11       character(len=64) :: str1
12
13       x = 1.0_16 + 2.0_16**(-105)
14       z = cmplx (1.0, 2.0)
15
16       write (str1,'(b32)') x
17       read (str1,'(b32)') x
18       write (str1,'(o32)') x
19       read (str1,'(o32)') x
20       write (str1,'(z32)') x
21       read (str1,'(z32)') x
22       write (str1,'(b0)') x
23       write (str1,'(o0)') x
24       write (str1,'(z0)') x
25
26       write (str1,'(2b32)') z
27       read (str1,'(2b32)') z
28       write (str1,'(2o32)') z
29       read (str1,'(2o32)') z
30       write (str1,'(2z32)') z
31       read (str1,'(2z32)') z
32       write (str1,'(2b0)') z
33       write (str1,'(2o0)') z
34       write (str1,'(2z0)') z
35       end
36