aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorBud Davis <bdavis9659@comcast.net>2004-06-19 16:42:05 +0000
committerBud Davis <bdavis@gcc.gnu.org>2004-06-19 16:42:05 +0000
commit04b0faec0878e8b47e732369bad771e8297a6baa (patch)
treece0db1391797050ac25dc55f5b988b01053e131f /gcc
parentbb60c95face9e13d4d62dc028bd20e073b4babcf (diff)
downloadgcc-04b0faec0878e8b47e732369bad771e8297a6baa.zip
gcc-04b0faec0878e8b47e732369bad771e8297a6baa.tar.gz
gcc-04b0faec0878e8b47e732369bad771e8297a6baa.tar.bz2
re PR libfortran/16080 (segmentation fault when reading empty string)
2004-06-19 Bud Davis <bdavis9659@comcast.net> PR gfortran/16080 * gfortran.fortran-torture/execute/read_null_string.f90: New file. * io/list_read.c(set_value): don't copy if the string is null. From-SVN: r83388
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gfortran.fortran-torture/execute/read_null_string.f9015
2 files changed, 20 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 92679a2..3061f06 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2004-06-19 Bud Davis <bdavis9659@comcast.net>
+
+ PR gfortran/16080
+ * gfortran.fortran-torture/execute/read_null_string.f90: New file.
+
2004-06-19 Andrew Pinski <pinskia@physics.uc.edu>
* g++.dg/lookup/crash3.C: Use __SIZE_TYPE__
diff --git a/gcc/testsuite/gfortran.fortran-torture/execute/read_null_string.f90 b/gcc/testsuite/gfortran.fortran-torture/execute/read_null_string.f90
new file mode 100644
index 0000000..7cf9492
--- /dev/null
+++ b/gcc/testsuite/gfortran.fortran-torture/execute/read_null_string.f90
@@ -0,0 +1,15 @@
+! pr 16080, segfault on reading an empty string
+ implicit none
+ integer t
+ character*20 temp_name
+ character*2 quotes
+ open(unit=7,status='SCRATCH')
+ quotes = '""""' ! "" in the file
+ write(7,*)1
+ write(7,'(A)')quotes
+ temp_name = 'hello' ! make sure the read overwrites it
+ rewind(7)
+ read(7, *) t
+ read(7, *) temp_name
+ if (temp_name.ne.'') call abort
+ end