diff options
author | Thomas Koenig <Thomas.Koenig@online.de> | 2005-04-30 20:51:39 +0000 |
---|---|---|
committer | Thomas Koenig <tkoenig@gcc.gnu.org> | 2005-04-30 20:51:39 +0000 |
commit | 8e249b232d0538f19b6e76ef6f29ba21f2404611 (patch) | |
tree | f70607dd292f60d2f1f11a474ace6c3d9490898c | |
parent | f1aa042fee7a11e31d710aee13f381d716183d56 (diff) | |
download | gcc-8e249b232d0538f19b6e76ef6f29ba21f2404611.zip gcc-8e249b232d0538f19b6e76ef6f29ba21f2404611.tar.gz gcc-8e249b232d0538f19b6e76ef6f29ba21f2404611.tar.bz2 |
re PR libfortran/18958 ([4.0 only] eoshift segfaults when shifting off the end of an array)
2005-04-30 Thomas Koenig <Thomas.Koenig@online.de>
PR libfortran/18958
libgfortran.h: Change typedef of index_type from size_t
to ssize_t.
2005-04-30 Thomas Koenig <Thomas.Koenig@online.de>
PR libfortran/18958
* gfortran.dg/eoshift.f90: New test case.
From-SVN: r99047
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/eoshift.f90 | 6 | ||||
-rw-r--r-- | libgfortran/ChangeLog | 6 | ||||
-rw-r--r-- | libgfortran/libgfortran.h | 2 |
4 files changed, 18 insertions, 1 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 745c92c..00edc96 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2005-04-30 Thomas Koenig <Thomas.Koenig@online.de> + + PR libfortran/18958 + * gfortran.dg/eoshift.f90: New test case. + 2005-04-30 Paul Thomas <pault@gcc.gnu.org> PR libfortran/18857 diff --git a/gcc/testsuite/gfortran.dg/eoshift.f90 b/gcc/testsuite/gfortran.dg/eoshift.f90 new file mode 100644 index 0000000..bb1cba4 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/eoshift.f90 @@ -0,0 +1,6 @@ +! { dg-do run } +! PR 18958: We used to segfault for eoshifting off the end of an array. +program main + character(len=20) line + write (line,'(I4)') eoshift((/1, 3/), 3) +end program main diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index 64a3204..fe1ebfe 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,3 +1,9 @@ +2005-04-30 Thomas Koenig <Thomas.Koenig@online.de> + + PR libfortran/18958 + libgfortran.h: Change typedef of index_type from size_t + to ssize_t. + 2005-04-30 Paul Thomas <pault@gcc.gnu.org> PR libfortran/18857 diff --git a/libgfortran/libgfortran.h b/libgfortran/libgfortran.h index 7dd6993..c525fad 100644 --- a/libgfortran/libgfortran.h +++ b/libgfortran/libgfortran.h @@ -215,7 +215,7 @@ typedef complex double GFC_COMPLEX_8; /* The following two definitions must be consistent with the types used by the compiler. */ /* The type used of array indices, amongst other things. */ -typedef size_t index_type; +typedef ssize_t index_type; /* The type used for the lengths of character variables. */ typedef GFC_INTEGER_4 gfc_charlen_type; |