From d9099df88397aebc1ff7c0f116c1afb3602cbedc Mon Sep 17 00:00:00 2001 From: Jerry DeLisle Date: Thu, 10 May 2007 01:09:57 +0000 Subject: [PATCH] re PR libfortran/31880 ([4.2 only] silent data corruption in gfortran read statement) 2007-05-09 Jerry DeLisle PR libfortran/31880 * gfortran.dg/unf_read_corrupted_2.f90: New test. From-SVN: r124590 --- gcc/testsuite/ChangeLog | 5 ++++ .../gfortran.dg/unf_read_corrupted_2.f90 | 27 +++++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 gcc/testsuite/gfortran.dg/unf_read_corrupted_2.f90 diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 53f02053155..385a25c1524 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2007-05-09 Jerry DeLisle + + PR libfortran/31880 + * gfortran.dg/unf_read_corrupted_2.f90: New test. + 2007-05-09 Mike Stump * g++.dg/other/first-global.C: Add -fpie for darwin. diff --git a/gcc/testsuite/gfortran.dg/unf_read_corrupted_2.f90 b/gcc/testsuite/gfortran.dg/unf_read_corrupted_2.f90 new file mode 100644 index 00000000000..2a75da7c855 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/unf_read_corrupted_2.f90 @@ -0,0 +1,27 @@ +! { dg-do run } +! PR31880 silent data corruption in gfortran read statement +! Test from PR. + program r3 + + integer(kind=4) :: a(1025),b(1025),c(1025),d(2048),e(1022) + + a = 5 + b = 6 + c = 7 + e = 8 + + do i=1,2048 + d(i)=i + end do + + open (3,file='a',form='unformatted') + write (3) a,b,c,d,e + rewind 3 + d = 0 + read (3) a,b,c,d + close (3) + + if (d(1).ne.1) call abort + if (d(2048).ne.2048) call abort + + end