OSDN Git Service

Add NIOS2 support. Code from SourceyG++.
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gfortran.dg / fmt_read_bz_bn.f90
1 ! { dg-do run }
2 ! { dg-options "-std=legacy" }
3 !
4 ! Test various uses of BZ and BN format specifiers.
5 ! Portions inspired by NIST F77 testsuite FM711.f
6 ! Contributed by jvdelisle@verizon.net
7 program test_bn
8         
9 integer I1(2,2), I2(2,2,2)
10 real A1(5)
11 real(kind=8) A2(0:3)
12 character*80 :: IDATA1="111 2 2 3 3. 3E-1  44 5 5 6 . 67 . 78 8. 8E-1"
13 character*80 :: IDATA2="2345 1 34512 45123 51234 2345 1 34512 45123 5"
14 character*80 :: IDATA3="-8.0D0  1.0D-4  0.50D0  0.250D0"
15 character*80 :: ODATA=""
16 character*80 :: CORRECT1=" 1110 2020 .30303E-07   44   55   6.6 70.07 .888E+01"
17 character*80 :: CORRECT2="23450 10345. 12.45 1235 1234 2345  1345. 12.45 1235"
18 character*80 :: CORRECT3="   -0.8000000000D+01    0.1000000000D-03&
19                          &    0.5000000000D+00    0.2500000000D+00"
20 READ(IDATA1, 10) I1(1,2), IVI, A1(3), JVI, KVI, A1(2), AVS, A1(1)
21 10 FORMAT (BZ,(2I4, E10.1, BN, 2I4, F5.2, BZ, F5.2, BN, E10.1))
22
23 WRITE(ODATA, 20) I1(1,2), IVI, A1(3), JVI, KVI, A1(2), AVS, A1(1)
24 20 FORMAT (2I5, 1X, E10.5, BN, 2I5, F6.1, BZ, F6.2, BN, 1X, E8.3, I5)
25
26 if (ODATA /= CORRECT1) call abort
27 ODATA=""
28
29 READ(IDATA2, 30) I2(1,2,1), A1(3), AVS, IVI, I1(1,1), JVI, BVS, A1(2), I2(1,1,1)
30 30 FORMAT (BZ, (I5, F5.0, BN, F5.2, 2I5, I5, F5.0, BN, F5.2, I5))
31
32 WRITE(ODATA, 40) I2(1,2,1), A1(3), AVS, IVI, I1(1,1), JVI, BVS, A1(2), I2(1,1,1)
33 40 FORMAT (I5, F7.0, BZ, 1X, F5.2, 2(1X,I4),I5, F7.0, BZ, 1X, F5.2, 1X, I4)
34
35 if (ODATA /= CORRECT2) call abort
36 ODATA=""
37
38 READ(IDATA3, 50) A2
39 50 FORMAT (4D8.0)
40
41 WRITE(ODATA,60) A2
42 60 FORMAT (4D20.10)
43
44 if (ODATA /= CORRECT3) call abort
45
46 end program test_bn