Mercurial > hg > CbC > CbC_gcc
diff libgfortran/intrinsics/eoshift0.c @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children | 1830386684a0 |
line wrap: on
line diff
--- a/libgfortran/intrinsics/eoshift0.c Fri Oct 27 22:46:09 2017 +0900 +++ b/libgfortran/intrinsics/eoshift0.c Thu Oct 25 07:37:49 2018 +0900 @@ -1,5 +1,5 @@ /* Generic implementation of the EOSHIFT intrinsic - Copyright (C) 2002-2017 Free Software Foundation, Inc. + Copyright (C) 2002-2018 Free Software Foundation, Inc. Contributed by Paul Brook <paul@nowt.org> This file is part of the GNU Fortran runtime library (libgfortran). @@ -26,12 +26,10 @@ #include "libgfortran.h" #include <string.h> -/* TODO: make this work for large shifts when - sizeof(int) < sizeof (index_type). */ static void eoshift0 (gfc_array_char * ret, const gfc_array_char * array, - int shift, const char * pbound, int which, index_type size, + index_type shift, const char * pbound, int which, index_type size, const char *filler, index_type filler_len) { /* r.* indicates the return array. */ @@ -68,7 +66,7 @@ int i; ret->offset = 0; - ret->dtype = array->dtype; + GFC_DTYPE_COPY(ret,array); for (i = 0; i < GFC_DESCRIPTOR_RANK (array); i++) { index_type ub, str; @@ -107,7 +105,7 @@ if (which > 0) { /* Test if both ret and array are contiguous. */ - size_t r_ex, a_ex; + index_type r_ex, a_ex; r_ex = 1; a_ex = 1; do_blocked = true;