]> rtime.felk.cvut.cz Git - l4.git/blobdiff - l4/pkg/libgfortran/lib/contrib/generated/spread_r10.c
Update
[l4.git] / l4 / pkg / libgfortran / lib / contrib / generated / spread_r10.c
index ef86bc59007999271249f266f2ead4146c2d499f..9de46e3ba229700bb0d9f4806665b3cb76cce144 100644 (file)
@@ -1,9 +1,9 @@
 /* Special implementation of the SPREAD intrinsic
-   Copyright 2008, 2009 Free Software Foundation, Inc.
+   Copyright (C) 2008-2015 Free Software Foundation, Inc.
    Contributed by Thomas Koenig <tkoenig@gcc.gnu.org>, based on
    spread_generic.c written 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
@@ -67,7 +67,7 @@ spread_r10 (gfc_array_r10 *ret, const gfc_array_r10 *source,
 
   ncopies = pncopies;
 
-  if (ret->data == NULL)
+  if (ret->base_addr == NULL)
     {
 
       size_t ub, stride;
@@ -101,8 +101,8 @@ spread_r10 (gfc_array_r10 *ret, const gfc_array_r10 *source,
        }
       ret->offset = 0;
 
-      /* internal_malloc_size allocates a single byte for zero size.  */
-      ret->data = internal_malloc_size (rs * sizeof(GFC_REAL_10));
+      /* xmallocarray allocates a single byte for zero size.  */
+      ret->base_addr = xmallocarray (rs, sizeof(GFC_REAL_10));
       if (rs <= 0)
         return;
     }
@@ -181,8 +181,8 @@ spread_r10 (gfc_array_r10 *ret, const gfc_array_r10 *source,
     }
   sstride0 = sstride[0];
   rstride0 = rstride[0];
-  rptr = ret->data;
-  sptr = source->data;
+  rptr = ret->base_addr;
+  sptr = source->base_addr;
 
   while (sptr)
     {
@@ -242,9 +242,9 @@ spread_scalar_r10 (gfc_array_r10 *ret, const GFC_REAL_10 *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 * sizeof (GFC_REAL_10));
+      ret->base_addr = xmallocarray (ncopies, sizeof (GFC_REAL_10));
       ret->offset = 0;
       GFC_DIMENSION_SET(ret->dim[0], 0, ncopies - 1, 1);
     }
@@ -255,7 +255,7 @@ spread_scalar_r10 (gfc_array_r10 *ret, const GFC_REAL_10 *source,
        runtime_error ("dim too large in spread()");
     }
 
-  dest = ret->data;
+  dest = ret->base_addr;
   stride = GFC_DESCRIPTOR_STRIDE(ret,0);
 
   for (n = 0; n < ncopies; n++)