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