/* Special implementation of the SPREAD intrinsic
- Copyright (C) 2008-2017 Free Software Foundation, Inc.
+ Copyright (C) 2008-2020 Free Software Foundation, Inc.
Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>, based on
spread_generic.c written by Paul Brook <paul@nowt.org>
/* The front end has signalled that we need to populate the
return array descriptor. */
- ret->dtype = (source->dtype & ~GFC_DTYPE_RANK_MASK) | rrank;
+ ret->dtype.rank = rrank;
+
dim = 0;
rs = 1;
for (n = 0; n < rrank; n++)
void
spread_scalar_i16 (gfc_array_i16 *ret, const GFC_INTEGER_16 *source,
- const index_type along, const index_type pncopies)
+ const index_type along, const index_type ncopies)
{
- int n;
- int ncopies = pncopies;
GFC_INTEGER_16 * restrict dest;
index_type stride;
dest = ret->base_addr;
stride = GFC_DESCRIPTOR_STRIDE(ret,0);
- for (n = 0; n < ncopies; n++)
+ for (index_type n = 0; n < ncopies; n++)
{
*dest = *source;
dest += stride;