diff options
author | jvdelisle <jvdelisle@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-04-20 21:06:16 +0000 |
---|---|---|
committer | jvdelisle <jvdelisle@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-04-20 21:06:16 +0000 |
commit | 883accb67f63aeac025ca3b482f4a5f74115a790 (patch) | |
tree | f392bf9a9962fd4049778c221da2165cfc7cf5b9 /libgfortran/intrinsics/cshift0.c | |
parent | c808637ebd40215efaffc70b76d51cdda632bf57 (diff) | |
download | ppe42-gcc-883accb67f63aeac025ca3b482f4a5f74115a790.tar.gz ppe42-gcc-883accb67f63aeac025ca3b482f4a5f74115a790.zip |
2008-04-20 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/35991
* intrinsics/cshift0.c (cshift0): Avoid divide by zero.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134491 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libgfortran/intrinsics/cshift0.c')
-rw-r--r-- | libgfortran/intrinsics/cshift0.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/libgfortran/intrinsics/cshift0.c b/libgfortran/intrinsics/cshift0.c index 75762a8158f..aa466ff3b6b 100644 --- a/libgfortran/intrinsics/cshift0.c +++ b/libgfortran/intrinsics/cshift0.c @@ -202,7 +202,7 @@ cshift0 (gfc_array_char * ret, const gfc_array_char * array, rptr = ret->data; sptr = array->data; - shift = shift % (ssize_t)len; + shift = len == 0 ? 0 : shift % (ssize_t)len; if (shift < 0) shift += len; |