1! { dg-do run }
2! PR28354 Incorrect rounding of .99999 with f3.0 format specifier
3! PR30910 ES format not quite right...
4! Test case derived from PR. Submitted by Jerry DeLisle <jvdelisle@gcc.gnu.org>
5  write(*,50) 0.99999
6  write(*,50) -0.99999
7  write(*,50) -9.0
8  write(*,50) -0.99
9  write(*,50) -0.999
10  write(*,50) -0.999
11  write(*,50) -0.59
12  write(*,50) -0.49
13  write(*,100) 37.99999
14  write(*,100) 10345.0
15  write(*,100) 333.678
16  write(*,100) 333.499
17  50   format(f3.0,"<")
18 100   format(f8.0,"<")
19  write(6,'(es6.0)') 1.0e-1
20  write(*,150) -0.99999
21  write(*,150) 0.99999
22  write(*,150) -9.0
23  write(*,150) -0.99
24  write(*,150) -0.999
25  write(*,150) -0.999
26  write(*,150) -0.59
27  write(*,150) -0.49
28  write(*,200) 37.99999
29  write(*,200) 10345.0
30  write(*,200) 333.678
31  write(*,200) 333.499
32 150   format(es7.0,"<")
33 200   format(es8.0,"<")
34  write(*,250) -0.99999
35  write(*,250) 0.99999
36  write(*,250) -9.0
37  write(*,250) -0.99
38  write(*,250) -0.999
39  write(*,250) -0.999
40  write(*,250) -0.59
41  write(*,250) -0.49
42  write(*,300) 37.99999
43  write(*,300) 10345.0
44  write(*,300) 333.678
45  write(*,300) 333.499
46 250   format(1pe7.0,"<")
47 300   format(1pe6.0,"<")
48  end
49! { dg-output " 1\\.<(\n|\r\n|\r)" }
50! { dg-output "-1\\.<(\n|\r\n|\r)" }
51! { dg-output "-9\\.<(\n|\r\n|\r)" }
52! { dg-output "-1\\.<(\n|\r\n|\r)" }
53! { dg-output "-1\\.<(\n|\r\n|\r)" }
54! { dg-output "-1\\.<(\n|\r\n|\r)" }
55! { dg-output "-1\\.<(\n|\r\n|\r)" }
56! { dg-output "-0\\.<(\n|\r\n|\r)" }
57! { dg-output "     38\\.<(\n|\r\n|\r)" }
58! { dg-output "  10345\\.<(\n|\r\n|\r)" }
59! { dg-output "    334\\.<(\n|\r\n|\r)" }
60! { dg-output "    333\\.<(\n|\r\n|\r)" }
61! { dg-output "1\\.E-01(\n|\r\n|\r)" }
62! { dg-output "-1\\.E\\+00<(\n|\r\n|\r)" }
63! { dg-output " 1\\.E\\+00<(\n|\r\n|\r)" }
64! { dg-output "-9\\.E\\+00<(\n|\r\n|\r)" }
65! { dg-output "-1\\.E\\+00<(\n|\r\n|\r)" }
66! { dg-output "-1\\.E\\+00<(\n|\r\n|\r)" }
67! { dg-output "-1\\.E\\+00<(\n|\r\n|\r)" }
68! { dg-output "-6\\.E-01<(\n|\r\n|\r)" }
69! { dg-output "-5\\.E-01<(\n|\r\n|\r)" }
70! { dg-output "  4\\.E\\+01<(\n|\r\n|\r)" }
71! { dg-output "  1\\.E\\+04<(\n|\r\n|\r)" }
72! { dg-output "  3\\.E\\+02<(\n|\r\n|\r)" }
73! { dg-output "  3\\.E\\+02<(\n|\r\n|\r)" }
74! { dg-output "-1\\.E\\+00<(\n|\r\n|\r)" }
75! { dg-output " 1\\.E\\+00<(\n|\r\n|\r)" }
76! { dg-output "-9\\.E\\+00<(\n|\r\n|\r)" }
77! { dg-output "-1\\.E\\+00<(\n|\r\n|\r)" }
78! { dg-output "-1\\.E\\+00<(\n|\r\n|\r)" }
79! { dg-output "-1\\.E\\+00<(\n|\r\n|\r)" }
80! { dg-output "-6\\.E-01<(\n|\r\n|\r)" }
81! { dg-output "-5\\.E-01<(\n|\r\n|\r)" }
82! { dg-output "4\\.E\\+01<(\n|\r\n|\r)" }
83! { dg-output "1\\.E\\+04<(\n|\r\n|\r)" }
84! { dg-output "3\\.E\\+02<(\n|\r\n|\r)" }
85! { dg-output "3\\.E\\+02<(\n|\r\n|\r)" }
86