summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/read_float_3.f90
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gfortran.dg/read_float_3.f90')
-rw-r--r--gcc/testsuite/gfortran.dg/read_float_3.f9021
1 files changed, 21 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/read_float_3.f90 b/gcc/testsuite/gfortran.dg/read_float_3.f90
new file mode 100644
index 000000000..0fa2f5c4e
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/read_float_3.f90
@@ -0,0 +1,21 @@
+! { 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