+2009-04-05 Daniel Kraft <d@domob.eu>
+
+ PR fortran/38654
+ * gfortran.dg/read_float_2.f03
+ * gfortran.dg/read_float_3.f90
+
2009-04-05 Richard Guenther <rguenther@suse.de>
PR tree-optimization/39648
--- /dev/null
+! { dg-do run }
+! Contributed by Dominique Dhumieres <dominiq@lps.ens.fr>
+
+character(15) :: str="+ .339 567+2"
+real, parameter :: should_be = .339567e2
+real, parameter :: eps = 10 * epsilon (should_be)
+real :: x, y
+
+read(str,'(BN,F15.6)') x
+print *, x
+read(str,'(G15.7)') y
+print *, y
+
+if (abs (x - should_be) > eps .or. abs (y - should_be) > eps) then
+ call abort ()
+end if
+
+end
--- /dev/null
+! { dg-do run }
+! Contributed by Dominique Dhumieres <dominiq@lps.ens.fr>
+
+character(100) :: str1 = &
+ "123.00456.88 0.123E+01 +0.987+1 -0.2345+02 -0.6879E+2+0.7E+03 0.4E+03"
+character(100), parameter :: should_be = &
+ "123.00456.88 0.123E+01 0.987E+01-0.2345E+02-0.6879E+02 0.7E+03 0.4E+03"
+character(100) :: output
+complex :: c1, c2, c3, c4
+
+100 format ( 2F6.2, 2E10.3, 2E11.4, 2E8.1)
+read (str1,100) c1, c2, c3, c4
+write (output, 100) c1, c2, c3, c4
+
+print *, output
+if (output /= should_be) then
+ print *, should_be
+ call abort ()
+end if
+
+end