diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 745c92c3ece..00edc96465e 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2005-04-30 Thomas Koenig + + PR libfortran/18958 + * gfortran.dg/eoshift.f90: New test case. + 2005-04-30 Paul Thomas PR libfortran/18857 diff --git a/gcc/testsuite/gfortran.dg/eoshift.f90 b/gcc/testsuite/gfortran.dg/eoshift.f90 new file mode 100644 index 00000000000..bb1cba4712d --- /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 64a32041b59..fe1ebfe7bdb 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,3 +1,9 @@ +2005-04-30 Thomas Koenig + + PR libfortran/18958 + libgfortran.h: Change typedef of index_type from size_t + to ssize_t. + 2005-04-30 Paul Thomas PR libfortran/18857 diff --git a/libgfortran/libgfortran.h b/libgfortran/libgfortran.h index 7dd6993809f..c525fad7a2e 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;