summaryrefslogtreecommitdiffstats
path: root/libgfortran/intrinsics/spread_generic.c
diff options
context:
space:
mode:
Diffstat (limited to 'libgfortran/intrinsics/spread_generic.c')
-rw-r--r--libgfortran/intrinsics/spread_generic.c35
1 files changed, 18 insertions, 17 deletions
diff --git a/libgfortran/intrinsics/spread_generic.c b/libgfortran/intrinsics/spread_generic.c
index 2eeb24b8444..2a478f18899 100644
--- a/libgfortran/intrinsics/spread_generic.c
+++ b/libgfortran/intrinsics/spread_generic.c
@@ -1,8 +1,8 @@
/* Generic implementation of the SPREAD intrinsic
- Copyright 2002, 2005, 2006, 2007, 2009, 2010 Free Software Foundation, Inc.
+ Copyright 2002, 2005, 2006, 2007, 2009, 2010, 2012 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
-This file is part of the GNU Fortran 95 runtime library (libgfortran).
+This file is part of the GNU Fortran runtime library (libgfortran).
Libgfortran is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public
@@ -66,7 +66,7 @@ spread_internal (gfc_array_char *ret, const gfc_array_char *source,
ncopies = *pncopies;
- if (ret->data == NULL)
+ if (ret->base_addr == NULL)
{
/* The front end has signalled that we need to populate the
return array descriptor. */
@@ -100,7 +100,7 @@ spread_internal (gfc_array_char *ret, const gfc_array_char *source,
GFC_DIMENSION_SET(ret->dim[n], 0, ub, stride);
}
ret->offset = 0;
- ret->data = internal_malloc_size (rs * size);
+ ret->base_addr = internal_malloc_size (rs * size);
if (rs <= 0)
return;
@@ -180,8 +180,8 @@ spread_internal (gfc_array_char *ret, const gfc_array_char *source,
}
sstride0 = sstride[0];
rstride0 = rstride[0];
- rptr = ret->data;
- sptr = source->data;
+ rptr = ret->base_addr;
+ sptr = source->base_addr;
while (sptr)
{
@@ -243,9 +243,9 @@ spread_internal_scalar (gfc_array_char *ret, const char *source,
if (*along > 1)
runtime_error ("dim outside of rank in spread()");
- if (ret->data == NULL)
+ if (ret->base_addr == NULL)
{
- ret->data = internal_malloc_size (ncopies * size);
+ ret->base_addr = internal_malloc_size (ncopies * size);
ret->offset = 0;
GFC_DIMENSION_SET(ret->dim[0], 0, ncopies - 1, 1);
}
@@ -258,7 +258,7 @@ spread_internal_scalar (gfc_array_char *ret, const char *source,
for (n = 0; n < ncopies; n++)
{
- dest = (char*)(ret->data + n * GFC_DESCRIPTOR_STRIDE_BYTES(ret,0));
+ dest = (char*)(ret->base_addr + n * GFC_DESCRIPTOR_STRIDE_BYTES(ret,0));
memcpy (dest , source, size);
}
}
@@ -374,7 +374,7 @@ spread (gfc_array_char *ret, const gfc_array_char *source,
#endif
case GFC_DTYPE_DERIVED_2:
- if (GFC_UNALIGNED_2(ret->data) || GFC_UNALIGNED_2(source->data))
+ if (GFC_UNALIGNED_2(ret->base_addr) || GFC_UNALIGNED_2(source->base_addr))
break;
else
{
@@ -384,7 +384,7 @@ spread (gfc_array_char *ret, const gfc_array_char *source,
}
case GFC_DTYPE_DERIVED_4:
- if (GFC_UNALIGNED_4(ret->data) || GFC_UNALIGNED_4(source->data))
+ if (GFC_UNALIGNED_4(ret->base_addr) || GFC_UNALIGNED_4(source->base_addr))
break;
else
{
@@ -394,7 +394,7 @@ spread (gfc_array_char *ret, const gfc_array_char *source,
}
case GFC_DTYPE_DERIVED_8:
- if (GFC_UNALIGNED_8(ret->data) || GFC_UNALIGNED_8(source->data))
+ if (GFC_UNALIGNED_8(ret->base_addr) || GFC_UNALIGNED_8(source->base_addr))
break;
else
{
@@ -405,7 +405,8 @@ spread (gfc_array_char *ret, const gfc_array_char *source,
#ifdef HAVE_GFC_INTEGER_16
case GFC_DTYPE_DERIVED_16:
- if (GFC_UNALIGNED_16(ret->data) || GFC_UNALIGNED_16(source->data))
+ if (GFC_UNALIGNED_16(ret->base_addr)
+ || GFC_UNALIGNED_16(source->base_addr))
break;
else
{
@@ -569,7 +570,7 @@ spread_scalar (gfc_array_char *ret, const char *source,
#endif
case GFC_DTYPE_DERIVED_2:
- if (GFC_UNALIGNED_2(ret->data) || GFC_UNALIGNED_2(source))
+ if (GFC_UNALIGNED_2(ret->base_addr) || GFC_UNALIGNED_2(source))
break;
else
{
@@ -579,7 +580,7 @@ spread_scalar (gfc_array_char *ret, const char *source,
}
case GFC_DTYPE_DERIVED_4:
- if (GFC_UNALIGNED_4(ret->data) || GFC_UNALIGNED_4(source))
+ if (GFC_UNALIGNED_4(ret->base_addr) || GFC_UNALIGNED_4(source))
break;
else
{
@@ -589,7 +590,7 @@ spread_scalar (gfc_array_char *ret, const char *source,
}
case GFC_DTYPE_DERIVED_8:
- if (GFC_UNALIGNED_8(ret->data) || GFC_UNALIGNED_8(source))
+ if (GFC_UNALIGNED_8(ret->base_addr) || GFC_UNALIGNED_8(source))
break;
else
{
@@ -599,7 +600,7 @@ spread_scalar (gfc_array_char *ret, const char *source,
}
#ifdef HAVE_GFC_INTEGER_16
case GFC_DTYPE_DERIVED_16:
- if (GFC_UNALIGNED_16(ret->data) || GFC_UNALIGNED_16(source))
+ if (GFC_UNALIGNED_16(ret->base_addr) || GFC_UNALIGNED_16(source))
break;
else
{
OpenPOWER on IntegriCloud