aboutsummaryrefslogtreecommitdiff
path: root/libgfortran
diff options
context:
space:
mode:
authorThomas Koenig <tkoenig@gcc.gnu.org>2024-09-24 21:59:10 +0200
committerThomas Koenig <tkoenig@gcc.gnu.org>2024-09-24 21:59:10 +0200
commit5e918a4db9e4a5bdbeafec6881fa8b22a55d3789 (patch)
tree95bc57dc02c17a52e89b3d403815d7f85a0e8f3f /libgfortran
parent5d98fe096b5d17021875806ffc32ba41ea0e87b0 (diff)
downloadgcc-5e918a4db9e4a5bdbeafec6881fa8b22a55d3789.zip
gcc-5e918a4db9e4a5bdbeafec6881fa8b22a55d3789.tar.gz
gcc-5e918a4db9e4a5bdbeafec6881fa8b22a55d3789.tar.bz2
Implement SUM and PRODUCT for unsigned.
gcc/fortran/ChangeLog: * gfortran.texi: Document SUM and PRODUCT. * iresolve.cc (resolve_transformational): New argument, use_integer, to translate calls to unsigned to calls to integer. (gfc_resolve_product): Use it (gfc_resolve_sum): Use it. * simplify.cc (init_result_expr): Handle BT_UNSIGNED. libgfortran/ChangeLog: * generated/product_c10.c: Regenerated. * generated/product_c16.c: Regenerated. * generated/product_c17.c: Regenerated. * generated/product_c4.c: Regenerated. * generated/product_c8.c: Regenerated. * generated/product_i1.c: Regenerated. * generated/product_i16.c: Regenerated. * generated/product_i2.c: Regenerated. * generated/product_i4.c: Regenerated. * generated/product_i8.c: Regenarated. * generated/product_r10.c: Regenerated. * generated/product_r16.c: Regenerated. * generated/product_r17.c: Regenerated. * generated/product_r4.c: Regenerated. * generated/product_r8.c: Regenarated. * generated/sum_c10.c: Regenerated. * generated/sum_c16.c: Regenerated. * generated/sum_c17.c: Regenerated. * generated/sum_c4.c: Regenerated. * generated/sum_c8.c: Regenerated. * generated/sum_i1.c: Regenerated. * generated/sum_i16.c: Regenerated. * generated/sum_i2.c: Regenerated. * generated/sum_i4.c: Regenerated. * generated/sum_i8.c: Regenerated. * generated/sum_r10.c: Regenerated. * generated/sum_r16.c: Regenerated. * generated/sum_r17.c: Regenerated. * generated/sum_r4.c: Regenerated. * generated/sum_r8.c: Regenerated. * m4/ifunction.m4: Whitespace fix. * m4/product.m4: If type is integer, change to unsigned. * m4/sum.m4: Likewise.
Diffstat (limited to 'libgfortran')
-rw-r--r--libgfortran/generated/product_c10.c22
-rw-r--r--libgfortran/generated/product_c16.c22
-rw-r--r--libgfortran/generated/product_c17.c22
-rw-r--r--libgfortran/generated/product_c4.c22
-rw-r--r--libgfortran/generated/product_c8.c22
-rw-r--r--libgfortran/generated/product_i1.c54
-rw-r--r--libgfortran/generated/product_i16.c54
-rw-r--r--libgfortran/generated/product_i2.c54
-rw-r--r--libgfortran/generated/product_i4.c54
-rw-r--r--libgfortran/generated/product_i8.c54
-rw-r--r--libgfortran/generated/product_r10.c22
-rw-r--r--libgfortran/generated/product_r16.c22
-rw-r--r--libgfortran/generated/product_r17.c22
-rw-r--r--libgfortran/generated/product_r4.c22
-rw-r--r--libgfortran/generated/product_r8.c22
-rw-r--r--libgfortran/generated/sum_c10.c22
-rw-r--r--libgfortran/generated/sum_c16.c22
-rw-r--r--libgfortran/generated/sum_c17.c22
-rw-r--r--libgfortran/generated/sum_c4.c22
-rw-r--r--libgfortran/generated/sum_c8.c22
-rw-r--r--libgfortran/generated/sum_i1.c54
-rw-r--r--libgfortran/generated/sum_i16.c54
-rw-r--r--libgfortran/generated/sum_i2.c54
-rw-r--r--libgfortran/generated/sum_i4.c54
-rw-r--r--libgfortran/generated/sum_i8.c54
-rw-r--r--libgfortran/generated/sum_r10.c22
-rw-r--r--libgfortran/generated/sum_r16.c22
-rw-r--r--libgfortran/generated/sum_r17.c22
-rw-r--r--libgfortran/generated/sum_r4.c22
-rw-r--r--libgfortran/generated/sum_r8.c22
-rw-r--r--libgfortran/m4/ifunction.m422
-rw-r--r--libgfortran/m4/product.m45
-rw-r--r--libgfortran/m4/sum.m45
33 files changed, 511 insertions, 501 deletions
diff --git a/libgfortran/generated/product_c10.c b/libgfortran/generated/product_c10.c
index 9438f5d..c57f164 100644
--- a/libgfortran/generated/product_c10.c
+++ b/libgfortran/generated/product_c10.c
@@ -29,13 +29,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#if defined (HAVE_GFC_COMPLEX_10) && defined (HAVE_GFC_COMPLEX_10)
-extern void product_c10 (gfc_array_c10 * const restrict,
+extern void product_c10 (gfc_array_c10 * const restrict,
gfc_array_c10 * const restrict, const index_type * const restrict);
export_proto(product_c10);
void
-product_c10 (gfc_array_c10 * const restrict retarray,
- gfc_array_c10 * const restrict array,
+product_c10 (gfc_array_c10 * const restrict retarray,
+ gfc_array_c10 * const restrict array,
const index_type * const restrict pdim)
{
index_type count[GFC_MAX_DIMENSIONS];
@@ -188,15 +188,15 @@ product_c10 (gfc_array_c10 * const restrict retarray,
}
-extern void mproduct_c10 (gfc_array_c10 * const restrict,
+extern void mproduct_c10 (gfc_array_c10 * const restrict,
gfc_array_c10 * const restrict, const index_type * const restrict,
gfc_array_l1 * const restrict);
export_proto(mproduct_c10);
void
-mproduct_c10 (gfc_array_c10 * const restrict retarray,
- gfc_array_c10 * const restrict array,
- const index_type * const restrict pdim,
+mproduct_c10 (gfc_array_c10 * const restrict retarray,
+ gfc_array_c10 * const restrict array,
+ const index_type * const restrict pdim,
gfc_array_l1 * const restrict mask)
{
index_type count[GFC_MAX_DIMENSIONS];
@@ -378,15 +378,15 @@ mproduct_c10 (gfc_array_c10 * const restrict retarray,
}
-extern void sproduct_c10 (gfc_array_c10 * const restrict,
+extern void sproduct_c10 (gfc_array_c10 * const restrict,
gfc_array_c10 * const restrict, const index_type * const restrict,
GFC_LOGICAL_4 *);
export_proto(sproduct_c10);
void
-sproduct_c10 (gfc_array_c10 * const restrict retarray,
- gfc_array_c10 * const restrict array,
- const index_type * const restrict pdim,
+sproduct_c10 (gfc_array_c10 * const restrict retarray,
+ gfc_array_c10 * const restrict array,
+ const index_type * const restrict pdim,
GFC_LOGICAL_4 * mask)
{
index_type count[GFC_MAX_DIMENSIONS];
diff --git a/libgfortran/generated/product_c16.c b/libgfortran/generated/product_c16.c
index c654032..9c5a231 100644
--- a/libgfortran/generated/product_c16.c
+++ b/libgfortran/generated/product_c16.c
@@ -29,13 +29,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#if defined (HAVE_GFC_COMPLEX_16) && defined (HAVE_GFC_COMPLEX_16)
-extern void product_c16 (gfc_array_c16 * const restrict,
+extern void product_c16 (gfc_array_c16 * const restrict,
gfc_array_c16 * const restrict, const index_type * const restrict);
export_proto(product_c16);
void
-product_c16 (gfc_array_c16 * const restrict retarray,
- gfc_array_c16 * const restrict array,
+product_c16 (gfc_array_c16 * const restrict retarray,
+ gfc_array_c16 * const restrict array,
const index_type * const restrict pdim)
{
index_type count[GFC_MAX_DIMENSIONS];
@@ -188,15 +188,15 @@ product_c16 (gfc_array_c16 * const restrict retarray,
}
-extern void mproduct_c16 (gfc_array_c16 * const restrict,
+extern void mproduct_c16 (gfc_array_c16 * const restrict,
gfc_array_c16 * const restrict, const index_type * const restrict,
gfc_array_l1 * const restrict);
export_proto(mproduct_c16);
void
-mproduct_c16 (gfc_array_c16 * const restrict retarray,
- gfc_array_c16 * const restrict array,
- const index_type * const restrict pdim,
+mproduct_c16 (gfc_array_c16 * const restrict retarray,
+ gfc_array_c16 * const restrict array,
+ const index_type * const restrict pdim,
gfc_array_l1 * const restrict mask)
{
index_type count[GFC_MAX_DIMENSIONS];
@@ -378,15 +378,15 @@ mproduct_c16 (gfc_array_c16 * const restrict retarray,
}
-extern void sproduct_c16 (gfc_array_c16 * const restrict,
+extern void sproduct_c16 (gfc_array_c16 * const restrict,
gfc_array_c16 * const restrict, const index_type * const restrict,
GFC_LOGICAL_4 *);
export_proto(sproduct_c16);
void
-sproduct_c16 (gfc_array_c16 * const restrict retarray,
- gfc_array_c16 * const restrict array,
- const index_type * const restrict pdim,
+sproduct_c16 (gfc_array_c16 * const restrict retarray,
+ gfc_array_c16 * const restrict array,
+ const index_type * const restrict pdim,
GFC_LOGICAL_4 * mask)
{
index_type count[GFC_MAX_DIMENSIONS];
diff --git a/libgfortran/generated/product_c17.c b/libgfortran/generated/product_c17.c
index 45b5f18..cfc2d6c 100644
--- a/libgfortran/generated/product_c17.c
+++ b/libgfortran/generated/product_c17.c
@@ -29,13 +29,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#if defined (HAVE_GFC_COMPLEX_17) && defined (HAVE_GFC_COMPLEX_17)
-extern void product_c17 (gfc_array_c17 * const restrict,
+extern void product_c17 (gfc_array_c17 * const restrict,
gfc_array_c17 * const restrict, const index_type * const restrict);
export_proto(product_c17);
void
-product_c17 (gfc_array_c17 * const restrict retarray,
- gfc_array_c17 * const restrict array,
+product_c17 (gfc_array_c17 * const restrict retarray,
+ gfc_array_c17 * const restrict array,
const index_type * const restrict pdim)
{
index_type count[GFC_MAX_DIMENSIONS];
@@ -188,15 +188,15 @@ product_c17 (gfc_array_c17 * const restrict retarray,
}
-extern void mproduct_c17 (gfc_array_c17 * const restrict,
+extern void mproduct_c17 (gfc_array_c17 * const restrict,
gfc_array_c17 * const restrict, const index_type * const restrict,
gfc_array_l1 * const restrict);
export_proto(mproduct_c17);
void
-mproduct_c17 (gfc_array_c17 * const restrict retarray,
- gfc_array_c17 * const restrict array,
- const index_type * const restrict pdim,
+mproduct_c17 (gfc_array_c17 * const restrict retarray,
+ gfc_array_c17 * const restrict array,
+ const index_type * const restrict pdim,
gfc_array_l1 * const restrict mask)
{
index_type count[GFC_MAX_DIMENSIONS];
@@ -378,15 +378,15 @@ mproduct_c17 (gfc_array_c17 * const restrict retarray,
}
-extern void sproduct_c17 (gfc_array_c17 * const restrict,
+extern void sproduct_c17 (gfc_array_c17 * const restrict,
gfc_array_c17 * const restrict, const index_type * const restrict,
GFC_LOGICAL_4 *);
export_proto(sproduct_c17);
void
-sproduct_c17 (gfc_array_c17 * const restrict retarray,
- gfc_array_c17 * const restrict array,
- const index_type * const restrict pdim,
+sproduct_c17 (gfc_array_c17 * const restrict retarray,
+ gfc_array_c17 * const restrict array,
+ const index_type * const restrict pdim,
GFC_LOGICAL_4 * mask)
{
index_type count[GFC_MAX_DIMENSIONS];
diff --git a/libgfortran/generated/product_c4.c b/libgfortran/generated/product_c4.c
index baa3a9a..517778e 100644
--- a/libgfortran/generated/product_c4.c
+++ b/libgfortran/generated/product_c4.c
@@ -29,13 +29,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#if defined (HAVE_GFC_COMPLEX_4) && defined (HAVE_GFC_COMPLEX_4)
-extern void product_c4 (gfc_array_c4 * const restrict,
+extern void product_c4 (gfc_array_c4 * const restrict,
gfc_array_c4 * const restrict, const index_type * const restrict);
export_proto(product_c4);
void
-product_c4 (gfc_array_c4 * const restrict retarray,
- gfc_array_c4 * const restrict array,
+product_c4 (gfc_array_c4 * const restrict retarray,
+ gfc_array_c4 * const restrict array,
const index_type * const restrict pdim)
{
index_type count[GFC_MAX_DIMENSIONS];
@@ -188,15 +188,15 @@ product_c4 (gfc_array_c4 * const restrict retarray,
}
-extern void mproduct_c4 (gfc_array_c4 * const restrict,
+extern void mproduct_c4 (gfc_array_c4 * const restrict,
gfc_array_c4 * const restrict, const index_type * const restrict,
gfc_array_l1 * const restrict);
export_proto(mproduct_c4);
void
-mproduct_c4 (gfc_array_c4 * const restrict retarray,
- gfc_array_c4 * const restrict array,
- const index_type * const restrict pdim,
+mproduct_c4 (gfc_array_c4 * const restrict retarray,
+ gfc_array_c4 * const restrict array,
+ const index_type * const restrict pdim,
gfc_array_l1 * const restrict mask)
{
index_type count[GFC_MAX_DIMENSIONS];
@@ -378,15 +378,15 @@ mproduct_c4 (gfc_array_c4 * const restrict retarray,
}
-extern void sproduct_c4 (gfc_array_c4 * const restrict,
+extern void sproduct_c4 (gfc_array_c4 * const restrict,
gfc_array_c4 * const restrict, const index_type * const restrict,
GFC_LOGICAL_4 *);
export_proto(sproduct_c4);
void
-sproduct_c4 (gfc_array_c4 * const restrict retarray,
- gfc_array_c4 * const restrict array,
- const index_type * const restrict pdim,
+sproduct_c4 (gfc_array_c4 * const restrict retarray,
+ gfc_array_c4 * const restrict array,
+ const index_type * const restrict pdim,
GFC_LOGICAL_4 * mask)
{
index_type count[GFC_MAX_DIMENSIONS];
diff --git a/libgfortran/generated/product_c8.c b/libgfortran/generated/product_c8.c
index 18016af..1138d8a 100644
--- a/libgfortran/generated/product_c8.c
+++ b/libgfortran/generated/product_c8.c
@@ -29,13 +29,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#if defined (HAVE_GFC_COMPLEX_8) && defined (HAVE_GFC_COMPLEX_8)
-extern void product_c8 (gfc_array_c8 * const restrict,
+extern void product_c8 (gfc_array_c8 * const restrict,
gfc_array_c8 * const restrict, const index_type * const restrict);
export_proto(product_c8);
void
-product_c8 (gfc_array_c8 * const restrict retarray,
- gfc_array_c8 * const restrict array,
+product_c8 (gfc_array_c8 * const restrict retarray,
+ gfc_array_c8 * const restrict array,
const index_type * const restrict pdim)
{
index_type count[GFC_MAX_DIMENSIONS];
@@ -188,15 +188,15 @@ product_c8 (gfc_array_c8 * const restrict retarray,
}
-extern void mproduct_c8 (gfc_array_c8 * const restrict,
+extern void mproduct_c8 (gfc_array_c8 * const restrict,
gfc_array_c8 * const restrict, const index_type * const restrict,
gfc_array_l1 * const restrict);
export_proto(mproduct_c8);
void
-mproduct_c8 (gfc_array_c8 * const restrict retarray,
- gfc_array_c8 * const restrict array,
- const index_type * const restrict pdim,
+mproduct_c8 (gfc_array_c8 * const restrict retarray,
+ gfc_array_c8 * const restrict array,
+ const index_type * const restrict pdim,
gfc_array_l1 * const restrict mask)
{
index_type count[GFC_MAX_DIMENSIONS];
@@ -378,15 +378,15 @@ mproduct_c8 (gfc_array_c8 * const restrict retarray,
}
-extern void sproduct_c8 (gfc_array_c8 * const restrict,
+extern void sproduct_c8 (gfc_array_c8 * const restrict,
gfc_array_c8 * const restrict, const index_type * const restrict,
GFC_LOGICAL_4 *);
export_proto(sproduct_c8);
void
-sproduct_c8 (gfc_array_c8 * const restrict retarray,
- gfc_array_c8 * const restrict array,
- const index_type * const restrict pdim,
+sproduct_c8 (gfc_array_c8 * const restrict retarray,
+ gfc_array_c8 * const restrict array,
+ const index_type * const restrict pdim,
GFC_LOGICAL_4 * mask)
{
index_type count[GFC_MAX_DIMENSIONS];
diff --git a/libgfortran/generated/product_i1.c b/libgfortran/generated/product_i1.c
index 1ffef4a..fbcd76e 100644
--- a/libgfortran/generated/product_i1.c
+++ b/libgfortran/generated/product_i1.c
@@ -26,24 +26,24 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#include "libgfortran.h"
-#if defined (HAVE_GFC_INTEGER_1) && defined (HAVE_GFC_INTEGER_1)
+#if defined (HAVE_GFC_UINTEGER_1) && defined (HAVE_GFC_UINTEGER_1)
-extern void product_i1 (gfc_array_i1 * const restrict,
- gfc_array_i1 * const restrict, const index_type * const restrict);
+extern void product_i1 (gfc_array_m1 * const restrict,
+ gfc_array_m1 * const restrict, const index_type * const restrict);
export_proto(product_i1);
void
-product_i1 (gfc_array_i1 * const restrict retarray,
- gfc_array_i1 * const restrict array,
+product_i1 (gfc_array_m1 * const restrict retarray,
+ gfc_array_m1 * const restrict array,
const index_type * const restrict pdim)
{
index_type count[GFC_MAX_DIMENSIONS];
index_type extent[GFC_MAX_DIMENSIONS];
index_type sstride[GFC_MAX_DIMENSIONS];
index_type dstride[GFC_MAX_DIMENSIONS];
- const GFC_INTEGER_1 * restrict base;
- GFC_INTEGER_1 * restrict dest;
+ const GFC_UINTEGER_1 * restrict base;
+ GFC_UINTEGER_1 * restrict dest;
index_type rank;
index_type n;
index_type len;
@@ -104,7 +104,7 @@ product_i1 (gfc_array_i1 * const restrict retarray,
alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
- retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_INTEGER_1));
+ retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_UINTEGER_1));
if (alloc_size == 0)
return;
}
@@ -135,8 +135,8 @@ product_i1 (gfc_array_i1 * const restrict retarray,
continue_loop = 1;
while (continue_loop)
{
- const GFC_INTEGER_1 * restrict src;
- GFC_INTEGER_1 result;
+ const GFC_UINTEGER_1 * restrict src;
+ GFC_UINTEGER_1 result;
src = base;
{
@@ -188,15 +188,15 @@ product_i1 (gfc_array_i1 * const restrict retarray,
}
-extern void mproduct_i1 (gfc_array_i1 * const restrict,
- gfc_array_i1 * const restrict, const index_type * const restrict,
+extern void mproduct_i1 (gfc_array_m1 * const restrict,
+ gfc_array_m1 * const restrict, const index_type * const restrict,
gfc_array_l1 * const restrict);
export_proto(mproduct_i1);
void
-mproduct_i1 (gfc_array_i1 * const restrict retarray,
- gfc_array_i1 * const restrict array,
- const index_type * const restrict pdim,
+mproduct_i1 (gfc_array_m1 * const restrict retarray,
+ gfc_array_m1 * const restrict array,
+ const index_type * const restrict pdim,
gfc_array_l1 * const restrict mask)
{
index_type count[GFC_MAX_DIMENSIONS];
@@ -204,8 +204,8 @@ mproduct_i1 (gfc_array_i1 * const restrict retarray,
index_type sstride[GFC_MAX_DIMENSIONS];
index_type dstride[GFC_MAX_DIMENSIONS];
index_type mstride[GFC_MAX_DIMENSIONS];
- GFC_INTEGER_1 * restrict dest;
- const GFC_INTEGER_1 * restrict base;
+ GFC_UINTEGER_1 * restrict dest;
+ const GFC_UINTEGER_1 * restrict base;
const GFC_LOGICAL_1 * restrict mbase;
index_type rank;
index_type dim;
@@ -296,7 +296,7 @@ mproduct_i1 (gfc_array_i1 * const restrict retarray,
retarray->offset = 0;
retarray->dtype.rank = rank;
- retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_INTEGER_1));
+ retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_UINTEGER_1));
if (alloc_size == 0)
return;
}
@@ -327,9 +327,9 @@ mproduct_i1 (gfc_array_i1 * const restrict retarray,
while (base)
{
- const GFC_INTEGER_1 * restrict src;
+ const GFC_UINTEGER_1 * restrict src;
const GFC_LOGICAL_1 * restrict msrc;
- GFC_INTEGER_1 result;
+ GFC_UINTEGER_1 result;
src = base;
msrc = mbase;
{
@@ -378,21 +378,21 @@ mproduct_i1 (gfc_array_i1 * const restrict retarray,
}
-extern void sproduct_i1 (gfc_array_i1 * const restrict,
- gfc_array_i1 * const restrict, const index_type * const restrict,
+extern void sproduct_i1 (gfc_array_m1 * const restrict,
+ gfc_array_m1 * const restrict, const index_type * const restrict,
GFC_LOGICAL_4 *);
export_proto(sproduct_i1);
void
-sproduct_i1 (gfc_array_i1 * const restrict retarray,
- gfc_array_i1 * const restrict array,
- const index_type * const restrict pdim,
+sproduct_i1 (gfc_array_m1 * const restrict retarray,
+ gfc_array_m1 * const restrict array,
+ const index_type * const restrict pdim,
GFC_LOGICAL_4 * mask)
{
index_type count[GFC_MAX_DIMENSIONS];
index_type extent[GFC_MAX_DIMENSIONS];
index_type dstride[GFC_MAX_DIMENSIONS];
- GFC_INTEGER_1 * restrict dest;
+ GFC_UINTEGER_1 * restrict dest;
index_type rank;
index_type n;
index_type dim;
@@ -455,7 +455,7 @@ sproduct_i1 (gfc_array_i1 * const restrict retarray,
alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
- retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_INTEGER_1));
+ retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_UINTEGER_1));
if (alloc_size == 0)
return;
}
diff --git a/libgfortran/generated/product_i16.c b/libgfortran/generated/product_i16.c
index 1bb2ace..92baef5 100644
--- a/libgfortran/generated/product_i16.c
+++ b/libgfortran/generated/product_i16.c
@@ -26,24 +26,24 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#include "libgfortran.h"
-#if defined (HAVE_GFC_INTEGER_16) && defined (HAVE_GFC_INTEGER_16)
+#if defined (HAVE_GFC_UINTEGER_16) && defined (HAVE_GFC_UINTEGER_16)
-extern void product_i16 (gfc_array_i16 * const restrict,
- gfc_array_i16 * const restrict, const index_type * const restrict);
+extern void product_i16 (gfc_array_m16 * const restrict,
+ gfc_array_m16 * const restrict, const index_type * const restrict);
export_proto(product_i16);
void
-product_i16 (gfc_array_i16 * const restrict retarray,
- gfc_array_i16 * const restrict array,
+product_i16 (gfc_array_m16 * const restrict retarray,
+ gfc_array_m16 * const restrict array,
const index_type * const restrict pdim)
{
index_type count[GFC_MAX_DIMENSIONS];
index_type extent[GFC_MAX_DIMENSIONS];
index_type sstride[GFC_MAX_DIMENSIONS];
index_type dstride[GFC_MAX_DIMENSIONS];
- const GFC_INTEGER_16 * restrict base;
- GFC_INTEGER_16 * restrict dest;
+ const GFC_UINTEGER_16 * restrict base;
+ GFC_UINTEGER_16 * restrict dest;
index_type rank;
index_type n;
index_type len;
@@ -104,7 +104,7 @@ product_i16 (gfc_array_i16 * const restrict retarray,
alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
- retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_INTEGER_16));
+ retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_UINTEGER_16));
if (alloc_size == 0)
return;
}
@@ -135,8 +135,8 @@ product_i16 (gfc_array_i16 * const restrict retarray,
continue_loop = 1;
while (continue_loop)
{
- const GFC_INTEGER_16 * restrict src;
- GFC_INTEGER_16 result;
+ const GFC_UINTEGER_16 * restrict src;
+ GFC_UINTEGER_16 result;
src = base;
{
@@ -188,15 +188,15 @@ product_i16 (gfc_array_i16 * const restrict retarray,
}
-extern void mproduct_i16 (gfc_array_i16 * const restrict,
- gfc_array_i16 * const restrict, const index_type * const restrict,
+extern void mproduct_i16 (gfc_array_m16 * const restrict,
+ gfc_array_m16 * const restrict, const index_type * const restrict,
gfc_array_l1 * const restrict);
export_proto(mproduct_i16);
void
-mproduct_i16 (gfc_array_i16 * const restrict retarray,
- gfc_array_i16 * const restrict array,
- const index_type * const restrict pdim,
+mproduct_i16 (gfc_array_m16 * const restrict retarray,
+ gfc_array_m16 * const restrict array,
+ const index_type * const restrict pdim,
gfc_array_l1 * const restrict mask)
{
index_type count[GFC_MAX_DIMENSIONS];
@@ -204,8 +204,8 @@ mproduct_i16 (gfc_array_i16 * const restrict retarray,
index_type sstride[GFC_MAX_DIMENSIONS];
index_type dstride[GFC_MAX_DIMENSIONS];
index_type mstride[GFC_MAX_DIMENSIONS];
- GFC_INTEGER_16 * restrict dest;
- const GFC_INTEGER_16 * restrict base;
+ GFC_UINTEGER_16 * restrict dest;
+ const GFC_UINTEGER_16 * restrict base;
const GFC_LOGICAL_1 * restrict mbase;
index_type rank;
index_type dim;
@@ -296,7 +296,7 @@ mproduct_i16 (gfc_array_i16 * const restrict retarray,
retarray->offset = 0;
retarray->dtype.rank = rank;
- retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_INTEGER_16));
+ retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_UINTEGER_16));
if (alloc_size == 0)
return;
}
@@ -327,9 +327,9 @@ mproduct_i16 (gfc_array_i16 * const restrict retarray,
while (base)
{
- const GFC_INTEGER_16 * restrict src;
+ const GFC_UINTEGER_16 * restrict src;
const GFC_LOGICAL_1 * restrict msrc;
- GFC_INTEGER_16 result;
+ GFC_UINTEGER_16 result;
src = base;
msrc = mbase;
{
@@ -378,21 +378,21 @@ mproduct_i16 (gfc_array_i16 * const restrict retarray,
}
-extern void sproduct_i16 (gfc_array_i16 * const restrict,
- gfc_array_i16 * const restrict, const index_type * const restrict,
+extern void sproduct_i16 (gfc_array_m16 * const restrict,
+ gfc_array_m16 * const restrict, const index_type * const restrict,
GFC_LOGICAL_4 *);
export_proto(sproduct_i16);
void
-sproduct_i16 (gfc_array_i16 * const restrict retarray,
- gfc_array_i16 * const restrict array,
- const index_type * const restrict pdim,
+sproduct_i16 (gfc_array_m16 * const restrict retarray,
+ gfc_array_m16 * const restrict array,
+ const index_type * const restrict pdim,
GFC_LOGICAL_4 * mask)
{
index_type count[GFC_MAX_DIMENSIONS];
index_type extent[GFC_MAX_DIMENSIONS];
index_type dstride[GFC_MAX_DIMENSIONS];
- GFC_INTEGER_16 * restrict dest;
+ GFC_UINTEGER_16 * restrict dest;
index_type rank;
index_type n;
index_type dim;
@@ -455,7 +455,7 @@ sproduct_i16 (gfc_array_i16 * const restrict retarray,
alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
- retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_INTEGER_16));
+ retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_UINTEGER_16));
if (alloc_size == 0)
return;
}
diff --git a/libgfortran/generated/product_i2.c b/libgfortran/generated/product_i2.c
index b38cf45..31a0dad 100644
--- a/libgfortran/generated/product_i2.c
+++ b/libgfortran/generated/product_i2.c
@@ -26,24 +26,24 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#include "libgfortran.h"
-#if defined (HAVE_GFC_INTEGER_2) && defined (HAVE_GFC_INTEGER_2)
+#if defined (HAVE_GFC_UINTEGER_2) && defined (HAVE_GFC_UINTEGER_2)
-extern void product_i2 (gfc_array_i2 * const restrict,
- gfc_array_i2 * const restrict, const index_type * const restrict);
+extern void product_i2 (gfc_array_m2 * const restrict,
+ gfc_array_m2 * const restrict, const index_type * const restrict);
export_proto(product_i2);
void
-product_i2 (gfc_array_i2 * const restrict retarray,
- gfc_array_i2 * const restrict array,
+product_i2 (gfc_array_m2 * const restrict retarray,
+ gfc_array_m2 * const restrict array,
const index_type * const restrict pdim)
{
index_type count[GFC_MAX_DIMENSIONS];
index_type extent[GFC_MAX_DIMENSIONS];
index_type sstride[GFC_MAX_DIMENSIONS];
index_type dstride[GFC_MAX_DIMENSIONS];
- const GFC_INTEGER_2 * restrict base;
- GFC_INTEGER_2 * restrict dest;
+ const GFC_UINTEGER_2 * restrict base;
+ GFC_UINTEGER_2 * restrict dest;
index_type rank;
index_type n;
index_type len;
@@ -104,7 +104,7 @@ product_i2 (gfc_array_i2 * const restrict retarray,
alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
- retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_INTEGER_2));
+ retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_UINTEGER_2));
if (alloc_size == 0)
return;
}
@@ -135,8 +135,8 @@ product_i2 (gfc_array_i2 * const restrict retarray,
continue_loop = 1;
while (continue_loop)
{
- const GFC_INTEGER_2 * restrict src;
- GFC_INTEGER_2 result;
+ const GFC_UINTEGER_2 * restrict src;
+ GFC_UINTEGER_2 result;
src = base;
{
@@ -188,15 +188,15 @@ product_i2 (gfc_array_i2 * const restrict retarray,
}
-extern void mproduct_i2 (gfc_array_i2 * const restrict,
- gfc_array_i2 * const restrict, const index_type * const restrict,
+extern void mproduct_i2 (gfc_array_m2 * const restrict,
+ gfc_array_m2 * const restrict, const index_type * const restrict,
gfc_array_l1 * const restrict);
export_proto(mproduct_i2);
void
-mproduct_i2 (gfc_array_i2 * const restrict retarray,
- gfc_array_i2 * const restrict array,
- const index_type * const restrict pdim,
+mproduct_i2 (gfc_array_m2 * const restrict retarray,
+ gfc_array_m2 * const restrict array,
+ const index_type * const restrict pdim,
gfc_array_l1 * const restrict mask)
{
index_type count[GFC_MAX_DIMENSIONS];
@@ -204,8 +204,8 @@ mproduct_i2 (gfc_array_i2 * const restrict retarray,
index_type sstride[GFC_MAX_DIMENSIONS];
index_type dstride[GFC_MAX_DIMENSIONS];
index_type mstride[GFC_MAX_DIMENSIONS];
- GFC_INTEGER_2 * restrict dest;
- const GFC_INTEGER_2 * restrict base;
+ GFC_UINTEGER_2 * restrict dest;
+ const GFC_UINTEGER_2 * restrict base;
const GFC_LOGICAL_1 * restrict mbase;
index_type rank;
index_type dim;
@@ -296,7 +296,7 @@ mproduct_i2 (gfc_array_i2 * const restrict retarray,
retarray->offset = 0;
retarray->dtype.rank = rank;
- retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_INTEGER_2));
+ retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_UINTEGER_2));
if (alloc_size == 0)
return;
}
@@ -327,9 +327,9 @@ mproduct_i2 (gfc_array_i2 * const restrict retarray,
while (base)
{
- const GFC_INTEGER_2 * restrict src;
+ const GFC_UINTEGER_2 * restrict src;
const GFC_LOGICAL_1 * restrict msrc;
- GFC_INTEGER_2 result;
+ GFC_UINTEGER_2 result;
src = base;
msrc = mbase;
{
@@ -378,21 +378,21 @@ mproduct_i2 (gfc_array_i2 * const restrict retarray,
}
-extern void sproduct_i2 (gfc_array_i2 * const restrict,
- gfc_array_i2 * const restrict, const index_type * const restrict,
+extern void sproduct_i2 (gfc_array_m2 * const restrict,
+ gfc_array_m2 * const restrict, const index_type * const restrict,
GFC_LOGICAL_4 *);
export_proto(sproduct_i2);
void
-sproduct_i2 (gfc_array_i2 * const restrict retarray,
- gfc_array_i2 * const restrict array,
- const index_type * const restrict pdim,
+sproduct_i2 (gfc_array_m2 * const restrict retarray,
+ gfc_array_m2 * const restrict array,
+ const index_type * const restrict pdim,
GFC_LOGICAL_4 * mask)
{
index_type count[GFC_MAX_DIMENSIONS];
index_type extent[GFC_MAX_DIMENSIONS];
index_type dstride[GFC_MAX_DIMENSIONS];
- GFC_INTEGER_2 * restrict dest;
+ GFC_UINTEGER_2 * restrict dest;
index_type rank;
index_type n;
index_type dim;
@@ -455,7 +455,7 @@ sproduct_i2 (gfc_array_i2 * const restrict retarray,
alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
- retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_INTEGER_2));
+ retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_UINTEGER_2));
if (alloc_size == 0)
return;
}
diff --git a/libgfortran/generated/product_i4.c b/libgfortran/generated/product_i4.c
index bc3df5e..420f76a 100644
--- a/libgfortran/generated/product_i4.c
+++ b/libgfortran/generated/product_i4.c
@@ -26,24 +26,24 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#include "libgfortran.h"
-#if defined (HAVE_GFC_INTEGER_4) && defined (HAVE_GFC_INTEGER_4)
+#if defined (HAVE_GFC_UINTEGER_4) && defined (HAVE_GFC_UINTEGER_4)
-extern void product_i4 (gfc_array_i4 * const restrict,
- gfc_array_i4 * const restrict, const index_type * const restrict);
+extern void product_i4 (gfc_array_m4 * const restrict,
+ gfc_array_m4 * const restrict, const index_type * const restrict);
export_proto(product_i4);
void
-product_i4 (gfc_array_i4 * const restrict retarray,
- gfc_array_i4 * const restrict array,
+product_i4 (gfc_array_m4 * const restrict retarray,
+ gfc_array_m4 * const restrict array,
const index_type * const restrict pdim)
{
index_type count[GFC_MAX_DIMENSIONS];
index_type extent[GFC_MAX_DIMENSIONS];
index_type sstride[GFC_MAX_DIMENSIONS];
index_type dstride[GFC_MAX_DIMENSIONS];
- const GFC_INTEGER_4 * restrict base;
- GFC_INTEGER_4 * restrict dest;
+ const GFC_UINTEGER_4 * restrict base;
+ GFC_UINTEGER_4 * restrict dest;
index_type rank;
index_type n;
index_type len;
@@ -104,7 +104,7 @@ product_i4 (gfc_array_i4 * const restrict retarray,
alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
- retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_INTEGER_4));
+ retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_UINTEGER_4));
if (alloc_size == 0)
return;
}
@@ -135,8 +135,8 @@ product_i4 (gfc_array_i4 * const restrict retarray,
continue_loop = 1;
while (continue_loop)
{
- const GFC_INTEGER_4 * restrict src;
- GFC_INTEGER_4 result;
+ const GFC_UINTEGER_4 * restrict src;
+ GFC_UINTEGER_4 result;
src = base;
{
@@ -188,15 +188,15 @@ product_i4 (gfc_array_i4 * const restrict retarray,
}
-extern void mproduct_i4 (gfc_array_i4 * const restrict,
- gfc_array_i4 * const restrict, const index_type * const restrict,
+extern void mproduct_i4 (gfc_array_m4 * const restrict,
+ gfc_array_m4 * const restrict, const index_type * const restrict,
gfc_array_l1 * const restrict);
export_proto(mproduct_i4);
void
-mproduct_i4 (gfc_array_i4 * const restrict retarray,
- gfc_array_i4 * const restrict array,
- const index_type * const restrict pdim,
+mproduct_i4 (gfc_array_m4 * const restrict retarray,
+ gfc_array_m4 * const restrict array,
+ const index_type * const restrict pdim,
gfc_array_l1 * const restrict mask)
{
index_type count[GFC_MAX_DIMENSIONS];
@@ -204,8 +204,8 @@ mproduct_i4 (gfc_array_i4 * const restrict retarray,
index_type sstride[GFC_MAX_DIMENSIONS];
index_type dstride[GFC_MAX_DIMENSIONS];
index_type mstride[GFC_MAX_DIMENSIONS];
- GFC_INTEGER_4 * restrict dest;
- const GFC_INTEGER_4 * restrict base;
+ GFC_UINTEGER_4 * restrict dest;
+ const GFC_UINTEGER_4 * restrict base;
const GFC_LOGICAL_1 * restrict mbase;
index_type rank;
index_type dim;
@@ -296,7 +296,7 @@ mproduct_i4 (gfc_array_i4 * const restrict retarray,
retarray->offset = 0;
retarray->dtype.rank = rank;
- retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_INTEGER_4));
+ retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_UINTEGER_4));
if (alloc_size == 0)
return;
}
@@ -327,9 +327,9 @@ mproduct_i4 (gfc_array_i4 * const restrict retarray,
while (base)
{
- const GFC_INTEGER_4 * restrict src;
+ const GFC_UINTEGER_4 * restrict src;
const GFC_LOGICAL_1 * restrict msrc;
- GFC_INTEGER_4 result;
+ GFC_UINTEGER_4 result;
src = base;
msrc = mbase;
{
@@ -378,21 +378,21 @@ mproduct_i4 (gfc_array_i4 * const restrict retarray,
}
-extern void sproduct_i4 (gfc_array_i4 * const restrict,
- gfc_array_i4 * const restrict, const index_type * const restrict,
+extern void sproduct_i4 (gfc_array_m4 * const restrict,
+ gfc_array_m4 * const restrict, const index_type * const restrict,
GFC_LOGICAL_4 *);
export_proto(sproduct_i4);
void
-sproduct_i4 (gfc_array_i4 * const restrict retarray,
- gfc_array_i4 * const restrict array,
- const index_type * const restrict pdim,
+sproduct_i4 (gfc_array_m4 * const restrict retarray,
+ gfc_array_m4 * const restrict array,
+ const index_type * const restrict pdim,
GFC_LOGICAL_4 * mask)
{
index_type count[GFC_MAX_DIMENSIONS];
index_type extent[GFC_MAX_DIMENSIONS];
index_type dstride[GFC_MAX_DIMENSIONS];
- GFC_INTEGER_4 * restrict dest;
+ GFC_UINTEGER_4 * restrict dest;
index_type rank;
index_type n;
index_type dim;
@@ -455,7 +455,7 @@ sproduct_i4 (gfc_array_i4 * const restrict retarray,
alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
- retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_INTEGER_4));
+ retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_UINTEGER_4));
if (alloc_size == 0)
return;
}
diff --git a/libgfortran/generated/product_i8.c b/libgfortran/generated/product_i8.c
index 9ef4c7c..46ab6b6 100644
--- a/libgfortran/generated/product_i8.c
+++ b/libgfortran/generated/product_i8.c
@@ -26,24 +26,24 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#include "libgfortran.h"
-#if defined (HAVE_GFC_INTEGER_8) && defined (HAVE_GFC_INTEGER_8)
+#if defined (HAVE_GFC_UINTEGER_8) && defined (HAVE_GFC_UINTEGER_8)
-extern void product_i8 (gfc_array_i8 * const restrict,
- gfc_array_i8 * const restrict, const index_type * const restrict);
+extern void product_i8 (gfc_array_m8 * const restrict,
+ gfc_array_m8 * const restrict, const index_type * const restrict);
export_proto(product_i8);
void
-product_i8 (gfc_array_i8 * const restrict retarray,
- gfc_array_i8 * const restrict array,
+product_i8 (gfc_array_m8 * const restrict retarray,
+ gfc_array_m8 * const restrict array,
const index_type * const restrict pdim)
{
index_type count[GFC_MAX_DIMENSIONS];
index_type extent[GFC_MAX_DIMENSIONS];
index_type sstride[GFC_MAX_DIMENSIONS];
index_type dstride[GFC_MAX_DIMENSIONS];
- const GFC_INTEGER_8 * restrict base;
- GFC_INTEGER_8 * restrict dest;
+ const GFC_UINTEGER_8 * restrict base;
+ GFC_UINTEGER_8 * restrict dest;
index_type rank;
index_type n;
index_type len;
@@ -104,7 +104,7 @@ product_i8 (gfc_array_i8 * const restrict retarray,
alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
- retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_INTEGER_8));
+ retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_UINTEGER_8));
if (alloc_size == 0)
return;
}
@@ -135,8 +135,8 @@ product_i8 (gfc_array_i8 * const restrict retarray,
continue_loop = 1;
while (continue_loop)
{
- const GFC_INTEGER_8 * restrict src;
- GFC_INTEGER_8 result;
+ const GFC_UINTEGER_8 * restrict src;
+ GFC_UINTEGER_8 result;
src = base;
{
@@ -188,15 +188,15 @@ product_i8 (gfc_array_i8 * const restrict retarray,
}
-extern void mproduct_i8 (gfc_array_i8 * const restrict,
- gfc_array_i8 * const restrict, const index_type * const restrict,
+extern void mproduct_i8 (gfc_array_m8 * const restrict,
+ gfc_array_m8 * const restrict, const index_type * const restrict,
gfc_array_l1 * const restrict);
export_proto(mproduct_i8);
void
-mproduct_i8 (gfc_array_i8 * const restrict retarray,
- gfc_array_i8 * const restrict array,
- const index_type * const restrict pdim,
+mproduct_i8 (gfc_array_m8 * const restrict retarray,
+ gfc_array_m8 * const restrict array,
+ const index_type * const restrict pdim,
gfc_array_l1 * const restrict mask)
{
index_type count[GFC_MAX_DIMENSIONS];
@@ -204,8 +204,8 @@ mproduct_i8 (gfc_array_i8 * const restrict retarray,
index_type sstride[GFC_MAX_DIMENSIONS];
index_type dstride[GFC_MAX_DIMENSIONS];
index_type mstride[GFC_MAX_DIMENSIONS];
- GFC_INTEGER_8 * restrict dest;
- const GFC_INTEGER_8 * restrict base;
+ GFC_UINTEGER_8 * restrict dest;
+ const GFC_UINTEGER_8 * restrict base;
const GFC_LOGICAL_1 * restrict mbase;
index_type rank;
index_type dim;
@@ -296,7 +296,7 @@ mproduct_i8 (gfc_array_i8 * const restrict retarray,
retarray->offset = 0;
retarray->dtype.rank = rank;
- retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_INTEGER_8));
+ retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_UINTEGER_8));
if (alloc_size == 0)
return;
}
@@ -327,9 +327,9 @@ mproduct_i8 (gfc_array_i8 * const restrict retarray,
while (base)
{
- const GFC_INTEGER_8 * restrict src;
+ const GFC_UINTEGER_8 * restrict src;
const GFC_LOGICAL_1 * restrict msrc;
- GFC_INTEGER_8 result;
+ GFC_UINTEGER_8 result;
src = base;
msrc = mbase;
{
@@ -378,21 +378,21 @@ mproduct_i8 (gfc_array_i8 * const restrict retarray,
}
-extern void sproduct_i8 (gfc_array_i8 * const restrict,
- gfc_array_i8 * const restrict, const index_type * const restrict,
+extern void sproduct_i8 (gfc_array_m8 * const restrict,
+ gfc_array_m8 * const restrict, const index_type * const restrict,
GFC_LOGICAL_4 *);
export_proto(sproduct_i8);
void
-sproduct_i8 (gfc_array_i8 * const restrict retarray,
- gfc_array_i8 * const restrict array,
- const index_type * const restrict pdim,
+sproduct_i8 (gfc_array_m8 * const restrict retarray,
+ gfc_array_m8 * const restrict array,
+ const index_type * const restrict pdim,
GFC_LOGICAL_4 * mask)
{
index_type count[GFC_MAX_DIMENSIONS];
index_type extent[GFC_MAX_DIMENSIONS];
index_type dstride[GFC_MAX_DIMENSIONS];
- GFC_INTEGER_8 * restrict dest;
+ GFC_UINTEGER_8 * restrict dest;
index_type rank;
index_type n;
index_type dim;
@@ -455,7 +455,7 @@ sproduct_i8 (gfc_array_i8 * const restrict retarray,
alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
- retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_INTEGER_8));
+ retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_UINTEGER_8));
if (alloc_size == 0)
return;
}
diff --git a/libgfortran/generated/product_r10.c b/libgfortran/generated/product_r10.c
index d6103b4..2f4952d 100644
--- a/libgfortran/generated/product_r10.c
+++ b/libgfortran/generated/product_r10.c
@@ -29,13 +29,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#if defined (HAVE_GFC_REAL_10) && defined (HAVE_GFC_REAL_10)
-extern void product_r10 (gfc_array_r10 * const restrict,
+extern void product_r10 (gfc_array_r10 * const restrict,
gfc_array_r10 * const restrict, const index_type * const restrict);
export_proto(product_r10);
void
-product_r10 (gfc_array_r10 * const restrict retarray,
- gfc_array_r10 * const restrict array,
+product_r10 (gfc_array_r10 * const restrict retarray,
+ gfc_array_r10 * const restrict array,
const index_type * const restrict pdim)
{
index_type count[GFC_MAX_DIMENSIONS];
@@ -188,15 +188,15 @@ product_r10 (gfc_array_r10 * const restrict retarray,
}
-extern void mproduct_r10 (gfc_array_r10 * const restrict,
+extern void mproduct_r10 (gfc_array_r10 * const restrict,
gfc_array_r10 * const restrict, const index_type * const restrict,
gfc_array_l1 * const restrict);
export_proto(mproduct_r10);
void
-mproduct_r10 (gfc_array_r10 * const restrict retarray,
- gfc_array_r10 * const restrict array,
- const index_type * const restrict pdim,
+mproduct_r10 (gfc_array_r10 * const restrict retarray,
+ gfc_array_r10 * const restrict array,
+ const index_type * const restrict pdim,
gfc_array_l1 * const restrict mask)
{
index_type count[GFC_MAX_DIMENSIONS];
@@ -378,15 +378,15 @@ mproduct_r10 (gfc_array_r10 * const restrict retarray,
}
-extern void sproduct_r10 (gfc_array_r10 * const restrict,
+extern void sproduct_r10 (gfc_array_r10 * const restrict,
gfc_array_r10 * const restrict, const index_type * const restrict,
GFC_LOGICAL_4 *);
export_proto(sproduct_r10);
void
-sproduct_r10 (gfc_array_r10 * const restrict retarray,
- gfc_array_r10 * const restrict array,
- const index_type * const restrict pdim,
+sproduct_r10 (gfc_array_r10 * const restrict retarray,
+ gfc_array_r10 * const restrict array,
+ const index_type * const restrict pdim,
GFC_LOGICAL_4 * mask)
{
index_type count[GFC_MAX_DIMENSIONS];
diff --git a/libgfortran/generated/product_r16.c b/libgfortran/generated/product_r16.c
index d47a7b6..05dc550 100644
--- a/libgfortran/generated/product_r16.c
+++ b/libgfortran/generated/product_r16.c
@@ -29,13 +29,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#if defined (HAVE_GFC_REAL_16) && defined (HAVE_GFC_REAL_16)
-extern void product_r16 (gfc_array_r16 * const restrict,
+extern void product_r16 (gfc_array_r16 * const restrict,
gfc_array_r16 * const restrict, const index_type * const restrict);
export_proto(product_r16);
void
-product_r16 (gfc_array_r16 * const restrict retarray,
- gfc_array_r16 * const restrict array,
+product_r16 (gfc_array_r16 * const restrict retarray,
+ gfc_array_r16 * const restrict array,
const index_type * const restrict pdim)
{
index_type count[GFC_MAX_DIMENSIONS];
@@ -188,15 +188,15 @@ product_r16 (gfc_array_r16 * const restrict retarray,
}
-extern void mproduct_r16 (gfc_array_r16 * const restrict,
+extern void mproduct_r16 (gfc_array_r16 * const restrict,
gfc_array_r16 * const restrict, const index_type * const restrict,
gfc_array_l1 * const restrict);
export_proto(mproduct_r16);
void
-mproduct_r16 (gfc_array_r16 * const restrict retarray,
- gfc_array_r16 * const restrict array,
- const index_type * const restrict pdim,
+mproduct_r16 (gfc_array_r16 * const restrict retarray,
+ gfc_array_r16 * const restrict array,
+ const index_type * const restrict pdim,
gfc_array_l1 * const restrict mask)
{
index_type count[GFC_MAX_DIMENSIONS];
@@ -378,15 +378,15 @@ mproduct_r16 (gfc_array_r16 * const restrict retarray,
}
-extern void sproduct_r16 (gfc_array_r16 * const restrict,
+extern void sproduct_r16 (gfc_array_r16 * const restrict,
gfc_array_r16 * const restrict, const index_type * const restrict,
GFC_LOGICAL_4 *);
export_proto(sproduct_r16);
void
-sproduct_r16 (gfc_array_r16 * const restrict retarray,
- gfc_array_r16 * const restrict array,
- const index_type * const restrict pdim,
+sproduct_r16 (gfc_array_r16 * const restrict retarray,
+ gfc_array_r16 * const restrict array,
+ const index_type * const restrict pdim,
GFC_LOGICAL_4 * mask)
{
index_type count[GFC_MAX_DIMENSIONS];
diff --git a/libgfortran/generated/product_r17.c b/libgfortran/generated/product_r17.c
index 614063f..d19ec8d 100644
--- a/libgfortran/generated/product_r17.c
+++ b/libgfortran/generated/product_r17.c
@@ -29,13 +29,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#if defined (HAVE_GFC_REAL_17) && defined (HAVE_GFC_REAL_17)
-extern void product_r17 (gfc_array_r17 * const restrict,
+extern void product_r17 (gfc_array_r17 * const restrict,
gfc_array_r17 * const restrict, const index_type * const restrict);
export_proto(product_r17);
void
-product_r17 (gfc_array_r17 * const restrict retarray,
- gfc_array_r17 * const restrict array,
+product_r17 (gfc_array_r17 * const restrict retarray,
+ gfc_array_r17 * const restrict array,
const index_type * const restrict pdim)
{
index_type count[GFC_MAX_DIMENSIONS];
@@ -188,15 +188,15 @@ product_r17 (gfc_array_r17 * const restrict retarray,
}
-extern void mproduct_r17 (gfc_array_r17 * const restrict,
+extern void mproduct_r17 (gfc_array_r17 * const restrict,
gfc_array_r17 * const restrict, const index_type * const restrict,
gfc_array_l1 * const restrict);
export_proto(mproduct_r17);
void
-mproduct_r17 (gfc_array_r17 * const restrict retarray,
- gfc_array_r17 * const restrict array,
- const index_type * const restrict pdim,
+mproduct_r17 (gfc_array_r17 * const restrict retarray,
+ gfc_array_r17 * const restrict array,
+ const index_type * const restrict pdim,
gfc_array_l1 * const restrict mask)
{
index_type count[GFC_MAX_DIMENSIONS];
@@ -378,15 +378,15 @@ mproduct_r17 (gfc_array_r17 * const restrict retarray,
}
-extern void sproduct_r17 (gfc_array_r17 * const restrict,
+extern void sproduct_r17 (gfc_array_r17 * const restrict,
gfc_array_r17 * const restrict, const index_type * const restrict,
GFC_LOGICAL_4 *);
export_proto(sproduct_r17);
void
-sproduct_r17 (gfc_array_r17 * const restrict retarray,
- gfc_array_r17 * const restrict array,
- const index_type * const restrict pdim,
+sproduct_r17 (gfc_array_r17 * const restrict retarray,
+ gfc_array_r17 * const restrict array,
+ const index_type * const restrict pdim,
GFC_LOGICAL_4 * mask)
{
index_type count[GFC_MAX_DIMENSIONS];
diff --git a/libgfortran/generated/product_r4.c b/libgfortran/generated/product_r4.c
index 807e783..95bf1ca 100644
--- a/libgfortran/generated/product_r4.c
+++ b/libgfortran/generated/product_r4.c
@@ -29,13 +29,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#if defined (HAVE_GFC_REAL_4) && defined (HAVE_GFC_REAL_4)
-extern void product_r4 (gfc_array_r4 * const restrict,
+extern void product_r4 (gfc_array_r4 * const restrict,
gfc_array_r4 * const restrict, const index_type * const restrict);
export_proto(product_r4);
void
-product_r4 (gfc_array_r4 * const restrict retarray,
- gfc_array_r4 * const restrict array,
+product_r4 (gfc_array_r4 * const restrict retarray,
+ gfc_array_r4 * const restrict array,
const index_type * const restrict pdim)
{
index_type count[GFC_MAX_DIMENSIONS];
@@ -188,15 +188,15 @@ product_r4 (gfc_array_r4 * const restrict retarray,
}
-extern void mproduct_r4 (gfc_array_r4 * const restrict,
+extern void mproduct_r4 (gfc_array_r4 * const restrict,
gfc_array_r4 * const restrict, const index_type * const restrict,
gfc_array_l1 * const restrict);
export_proto(mproduct_r4);
void
-mproduct_r4 (gfc_array_r4 * const restrict retarray,
- gfc_array_r4 * const restrict array,
- const index_type * const restrict pdim,
+mproduct_r4 (gfc_array_r4 * const restrict retarray,
+ gfc_array_r4 * const restrict array,
+ const index_type * const restrict pdim,
gfc_array_l1 * const restrict mask)
{
index_type count[GFC_MAX_DIMENSIONS];
@@ -378,15 +378,15 @@ mproduct_r4 (gfc_array_r4 * const restrict retarray,
}
-extern void sproduct_r4 (gfc_array_r4 * const restrict,
+extern void sproduct_r4 (gfc_array_r4 * const restrict,
gfc_array_r4 * const restrict, const index_type * const restrict,
GFC_LOGICAL_4 *);
export_proto(sproduct_r4);
void
-sproduct_r4 (gfc_array_r4 * const restrict retarray,
- gfc_array_r4 * const restrict array,
- const index_type * const restrict pdim,
+sproduct_r4 (gfc_array_r4 * const restrict retarray,
+ gfc_array_r4 * const restrict array,
+ const index_type * const restrict pdim,
GFC_LOGICAL_4 * mask)
{
index_type count[GFC_MAX_DIMENSIONS];
diff --git a/libgfortran/generated/product_r8.c b/libgfortran/generated/product_r8.c
index c5ab63d..95423cb 100644
--- a/libgfortran/generated/product_r8.c
+++ b/libgfortran/generated/product_r8.c
@@ -29,13 +29,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#if defined (HAVE_GFC_REAL_8) && defined (HAVE_GFC_REAL_8)
-extern void product_r8 (gfc_array_r8 * const restrict,
+extern void product_r8 (gfc_array_r8 * const restrict,
gfc_array_r8 * const restrict, const index_type * const restrict);
export_proto(product_r8);
void
-product_r8 (gfc_array_r8 * const restrict retarray,
- gfc_array_r8 * const restrict array,
+product_r8 (gfc_array_r8 * const restrict retarray,
+ gfc_array_r8 * const restrict array,
const index_type * const restrict pdim)
{
index_type count[GFC_MAX_DIMENSIONS];
@@ -188,15 +188,15 @@ product_r8 (gfc_array_r8 * const restrict retarray,
}
-extern void mproduct_r8 (gfc_array_r8 * const restrict,
+extern void mproduct_r8 (gfc_array_r8 * const restrict,
gfc_array_r8 * const restrict, const index_type * const restrict,
gfc_array_l1 * const restrict);
export_proto(mproduct_r8);
void
-mproduct_r8 (gfc_array_r8 * const restrict retarray,
- gfc_array_r8 * const restrict array,
- const index_type * const restrict pdim,
+mproduct_r8 (gfc_array_r8 * const restrict retarray,
+ gfc_array_r8 * const restrict array,
+ const index_type * const restrict pdim,
gfc_array_l1 * const restrict mask)
{
index_type count[GFC_MAX_DIMENSIONS];
@@ -378,15 +378,15 @@ mproduct_r8 (gfc_array_r8 * const restrict retarray,
}
-extern void sproduct_r8 (gfc_array_r8 * const restrict,
+extern void sproduct_r8 (gfc_array_r8 * const restrict,
gfc_array_r8 * const restrict, const index_type * const restrict,
GFC_LOGICAL_4 *);
export_proto(sproduct_r8);
void
-sproduct_r8 (gfc_array_r8 * const restrict retarray,
- gfc_array_r8 * const restrict array,
- const index_type * const restrict pdim,
+sproduct_r8 (gfc_array_r8 * const restrict retarray,
+ gfc_array_r8 * const restrict array,
+ const index_type * const restrict pdim,
GFC_LOGICAL_4 * mask)
{
index_type count[GFC_MAX_DIMENSIONS];
diff --git a/libgfortran/generated/sum_c10.c b/libgfortran/generated/sum_c10.c
index a5f5dcf..0e2195f 100644
--- a/libgfortran/generated/sum_c10.c
+++ b/libgfortran/generated/sum_c10.c
@@ -29,13 +29,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#if defined (HAVE_GFC_COMPLEX_10) && defined (HAVE_GFC_COMPLEX_10)
-extern void sum_c10 (gfc_array_c10 * const restrict,
+extern void sum_c10 (gfc_array_c10 * const restrict,
gfc_array_c10 * const restrict, const index_type * const restrict);
export_proto(sum_c10);
void
-sum_c10 (gfc_array_c10 * const restrict retarray,
- gfc_array_c10 * const restrict array,
+sum_c10 (gfc_array_c10 * const restrict retarray,
+ gfc_array_c10 * const restrict array,
const index_type * const restrict pdim)
{
index_type count[GFC_MAX_DIMENSIONS];
@@ -188,15 +188,15 @@ sum_c10 (gfc_array_c10 * const restrict retarray,
}
-extern void msum_c10 (gfc_array_c10 * const restrict,
+extern void msum_c10 (gfc_array_c10 * const restrict,
gfc_array_c10 * const restrict, const index_type * const restrict,
gfc_array_l1 * const restrict);
export_proto(msum_c10);
void
-msum_c10 (gfc_array_c10 * const restrict retarray,
- gfc_array_c10 * const restrict array,
- const index_type * const restrict pdim,
+msum_c10 (gfc_array_c10 * const restrict retarray,
+ gfc_array_c10 * const restrict array,
+ const index_type * const restrict pdim,
gfc_array_l1 * const restrict mask)
{
index_type count[GFC_MAX_DIMENSIONS];
@@ -378,15 +378,15 @@ msum_c10 (gfc_array_c10 * const restrict retarray,
}
-extern void ssum_c10 (gfc_array_c10 * const restrict,
+extern void ssum_c10 (gfc_array_c10 * const restrict,
gfc_array_c10 * const restrict, const index_type * const restrict,
GFC_LOGICAL_4 *);
export_proto(ssum_c10);
void
-ssum_c10 (gfc_array_c10 * const restrict retarray,
- gfc_array_c10 * const restrict array,
- const index_type * const restrict pdim,
+ssum_c10 (gfc_array_c10 * const restrict retarray,
+ gfc_array_c10 * const restrict array,
+ const index_type * const restrict pdim,
GFC_LOGICAL_4 * mask)
{
index_type count[GFC_MAX_DIMENSIONS];
diff --git a/libgfortran/generated/sum_c16.c b/libgfortran/generated/sum_c16.c
index 81193fb..96c1ebb 100644
--- a/libgfortran/generated/sum_c16.c
+++ b/libgfortran/generated/sum_c16.c
@@ -29,13 +29,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#if defined (HAVE_GFC_COMPLEX_16) && defined (HAVE_GFC_COMPLEX_16)
-extern void sum_c16 (gfc_array_c16 * const restrict,
+extern void sum_c16 (gfc_array_c16 * const restrict,
gfc_array_c16 * const restrict, const index_type * const restrict);
export_proto(sum_c16);
void
-sum_c16 (gfc_array_c16 * const restrict retarray,
- gfc_array_c16 * const restrict array,
+sum_c16 (gfc_array_c16 * const restrict retarray,
+ gfc_array_c16 * const restrict array,
const index_type * const restrict pdim)
{
index_type count[GFC_MAX_DIMENSIONS];
@@ -188,15 +188,15 @@ sum_c16 (gfc_array_c16 * const restrict retarray,
}
-extern void msum_c16 (gfc_array_c16 * const restrict,
+extern void msum_c16 (gfc_array_c16 * const restrict,
gfc_array_c16 * const restrict, const index_type * const restrict,
gfc_array_l1 * const restrict);
export_proto(msum_c16);
void
-msum_c16 (gfc_array_c16 * const restrict retarray,
- gfc_array_c16 * const restrict array,
- const index_type * const restrict pdim,
+msum_c16 (gfc_array_c16 * const restrict retarray,
+ gfc_array_c16 * const restrict array,
+ const index_type * const restrict pdim,
gfc_array_l1 * const restrict mask)
{
index_type count[GFC_MAX_DIMENSIONS];
@@ -378,15 +378,15 @@ msum_c16 (gfc_array_c16 * const restrict retarray,
}
-extern void ssum_c16 (gfc_array_c16 * const restrict,
+extern void ssum_c16 (gfc_array_c16 * const restrict,
gfc_array_c16 * const restrict, const index_type * const restrict,
GFC_LOGICAL_4 *);
export_proto(ssum_c16);
void
-ssum_c16 (gfc_array_c16 * const restrict retarray,
- gfc_array_c16 * const restrict array,
- const index_type * const restrict pdim,
+ssum_c16 (gfc_array_c16 * const restrict retarray,
+ gfc_array_c16 * const restrict array,
+ const index_type * const restrict pdim,
GFC_LOGICAL_4 * mask)
{
index_type count[GFC_MAX_DIMENSIONS];
diff --git a/libgfortran/generated/sum_c17.c b/libgfortran/generated/sum_c17.c
index e1c3bbe..56df816 100644
--- a/libgfortran/generated/sum_c17.c
+++ b/libgfortran/generated/sum_c17.c
@@ -29,13 +29,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#if defined (HAVE_GFC_COMPLEX_17) && defined (HAVE_GFC_COMPLEX_17)
-extern void sum_c17 (gfc_array_c17 * const restrict,
+extern void sum_c17 (gfc_array_c17 * const restrict,
gfc_array_c17 * const restrict, const index_type * const restrict);
export_proto(sum_c17);
void
-sum_c17 (gfc_array_c17 * const restrict retarray,
- gfc_array_c17 * const restrict array,
+sum_c17 (gfc_array_c17 * const restrict retarray,
+ gfc_array_c17 * const restrict array,
const index_type * const restrict pdim)
{
index_type count[GFC_MAX_DIMENSIONS];
@@ -188,15 +188,15 @@ sum_c17 (gfc_array_c17 * const restrict retarray,
}
-extern void msum_c17 (gfc_array_c17 * const restrict,
+extern void msum_c17 (gfc_array_c17 * const restrict,
gfc_array_c17 * const restrict, const index_type * const restrict,
gfc_array_l1 * const restrict);
export_proto(msum_c17);
void
-msum_c17 (gfc_array_c17 * const restrict retarray,
- gfc_array_c17 * const restrict array,
- const index_type * const restrict pdim,
+msum_c17 (gfc_array_c17 * const restrict retarray,
+ gfc_array_c17 * const restrict array,
+ const index_type * const restrict pdim,
gfc_array_l1 * const restrict mask)
{
index_type count[GFC_MAX_DIMENSIONS];
@@ -378,15 +378,15 @@ msum_c17 (gfc_array_c17 * const restrict retarray,
}
-extern void ssum_c17 (gfc_array_c17 * const restrict,
+extern void ssum_c17 (gfc_array_c17 * const restrict,
gfc_array_c17 * const restrict, const index_type * const restrict,
GFC_LOGICAL_4 *);
export_proto(ssum_c17);
void
-ssum_c17 (gfc_array_c17 * const restrict retarray,
- gfc_array_c17 * const restrict array,
- const index_type * const restrict pdim,
+ssum_c17 (gfc_array_c17 * const restrict retarray,
+ gfc_array_c17 * const restrict array,
+ const index_type * const restrict pdim,
GFC_LOGICAL_4 * mask)
{
index_type count[GFC_MAX_DIMENSIONS];
diff --git a/libgfortran/generated/sum_c4.c b/libgfortran/generated/sum_c4.c
index 93fdc68..509f710 100644
--- a/libgfortran/generated/sum_c4.c
+++ b/libgfortran/generated/sum_c4.c
@@ -29,13 +29,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#if defined (HAVE_GFC_COMPLEX_4) && defined (HAVE_GFC_COMPLEX_4)
-extern void sum_c4 (gfc_array_c4 * const restrict,
+extern void sum_c4 (gfc_array_c4 * const restrict,
gfc_array_c4 * const restrict, const index_type * const restrict);
export_proto(sum_c4);
void
-sum_c4 (gfc_array_c4 * const restrict retarray,
- gfc_array_c4 * const restrict array,
+sum_c4 (gfc_array_c4 * const restrict retarray,
+ gfc_array_c4 * const restrict array,
const index_type * const restrict pdim)
{
index_type count[GFC_MAX_DIMENSIONS];
@@ -188,15 +188,15 @@ sum_c4 (gfc_array_c4 * const restrict retarray,
}
-extern void msum_c4 (gfc_array_c4 * const restrict,
+extern void msum_c4 (gfc_array_c4 * const restrict,
gfc_array_c4 * const restrict, const index_type * const restrict,
gfc_array_l1 * const restrict);
export_proto(msum_c4);
void
-msum_c4 (gfc_array_c4 * const restrict retarray,
- gfc_array_c4 * const restrict array,
- const index_type * const restrict pdim,
+msum_c4 (gfc_array_c4 * const restrict retarray,
+ gfc_array_c4 * const restrict array,
+ const index_type * const restrict pdim,
gfc_array_l1 * const restrict mask)
{
index_type count[GFC_MAX_DIMENSIONS];
@@ -378,15 +378,15 @@ msum_c4 (gfc_array_c4 * const restrict retarray,
}
-extern void ssum_c4 (gfc_array_c4 * const restrict,
+extern void ssum_c4 (gfc_array_c4 * const restrict,
gfc_array_c4 * const restrict, const index_type * const restrict,
GFC_LOGICAL_4 *);
export_proto(ssum_c4);
void
-ssum_c4 (gfc_array_c4 * const restrict retarray,
- gfc_array_c4 * const restrict array,
- const index_type * const restrict pdim,
+ssum_c4 (gfc_array_c4 * const restrict retarray,
+ gfc_array_c4 * const restrict array,
+ const index_type * const restrict pdim,
GFC_LOGICAL_4 * mask)
{
index_type count[GFC_MAX_DIMENSIONS];
diff --git a/libgfortran/generated/sum_c8.c b/libgfortran/generated/sum_c8.c
index d070f98..c19d1d4 100644
--- a/libgfortran/generated/sum_c8.c
+++ b/libgfortran/generated/sum_c8.c
@@ -29,13 +29,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#if defined (HAVE_GFC_COMPLEX_8) && defined (HAVE_GFC_COMPLEX_8)
-extern void sum_c8 (gfc_array_c8 * const restrict,
+extern void sum_c8 (gfc_array_c8 * const restrict,
gfc_array_c8 * const restrict, const index_type * const restrict);
export_proto(sum_c8);
void
-sum_c8 (gfc_array_c8 * const restrict retarray,
- gfc_array_c8 * const restrict array,
+sum_c8 (gfc_array_c8 * const restrict retarray,
+ gfc_array_c8 * const restrict array,
const index_type * const restrict pdim)
{
index_type count[GFC_MAX_DIMENSIONS];
@@ -188,15 +188,15 @@ sum_c8 (gfc_array_c8 * const restrict retarray,
}
-extern void msum_c8 (gfc_array_c8 * const restrict,
+extern void msum_c8 (gfc_array_c8 * const restrict,
gfc_array_c8 * const restrict, const index_type * const restrict,
gfc_array_l1 * const restrict);
export_proto(msum_c8);
void
-msum_c8 (gfc_array_c8 * const restrict retarray,
- gfc_array_c8 * const restrict array,
- const index_type * const restrict pdim,
+msum_c8 (gfc_array_c8 * const restrict retarray,
+ gfc_array_c8 * const restrict array,
+ const index_type * const restrict pdim,
gfc_array_l1 * const restrict mask)
{
index_type count[GFC_MAX_DIMENSIONS];
@@ -378,15 +378,15 @@ msum_c8 (gfc_array_c8 * const restrict retarray,
}
-extern void ssum_c8 (gfc_array_c8 * const restrict,
+extern void ssum_c8 (gfc_array_c8 * const restrict,
gfc_array_c8 * const restrict, const index_type * const restrict,
GFC_LOGICAL_4 *);
export_proto(ssum_c8);
void
-ssum_c8 (gfc_array_c8 * const restrict retarray,
- gfc_array_c8 * const restrict array,
- const index_type * const restrict pdim,
+ssum_c8 (gfc_array_c8 * const restrict retarray,
+ gfc_array_c8 * const restrict array,
+ const index_type * const restrict pdim,
GFC_LOGICAL_4 * mask)
{
index_type count[GFC_MAX_DIMENSIONS];
diff --git a/libgfortran/generated/sum_i1.c b/libgfortran/generated/sum_i1.c
index fc1478a..b7b1762 100644
--- a/libgfortran/generated/sum_i1.c
+++ b/libgfortran/generated/sum_i1.c
@@ -26,24 +26,24 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#include "libgfortran.h"
-#if defined (HAVE_GFC_INTEGER_1) && defined (HAVE_GFC_INTEGER_1)
+#if defined (HAVE_GFC_UINTEGER_1) && defined (HAVE_GFC_UINTEGER_1)
-extern void sum_i1 (gfc_array_i1 * const restrict,
- gfc_array_i1 * const restrict, const index_type * const restrict);
+extern void sum_i1 (gfc_array_m1 * const restrict,
+ gfc_array_m1 * const restrict, const index_type * const restrict);
export_proto(sum_i1);
void
-sum_i1 (gfc_array_i1 * const restrict retarray,
- gfc_array_i1 * const restrict array,
+sum_i1 (gfc_array_m1 * const restrict retarray,
+ gfc_array_m1 * const restrict array,
const index_type * const restrict pdim)
{
index_type count[GFC_MAX_DIMENSIONS];
index_type extent[GFC_MAX_DIMENSIONS];
index_type sstride[GFC_MAX_DIMENSIONS];
index_type dstride[GFC_MAX_DIMENSIONS];
- const GFC_INTEGER_1 * restrict base;
- GFC_INTEGER_1 * restrict dest;
+ const GFC_UINTEGER_1 * restrict base;
+ GFC_UINTEGER_1 * restrict dest;
index_type rank;
index_type n;
index_type len;
@@ -104,7 +104,7 @@ sum_i1 (gfc_array_i1 * const restrict retarray,
alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
- retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_INTEGER_1));
+ retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_UINTEGER_1));
if (alloc_size == 0)
return;
}
@@ -135,8 +135,8 @@ sum_i1 (gfc_array_i1 * const restrict retarray,
continue_loop = 1;
while (continue_loop)
{
- const GFC_INTEGER_1 * restrict src;
- GFC_INTEGER_1 result;
+ const GFC_UINTEGER_1 * restrict src;
+ GFC_UINTEGER_1 result;
src = base;
{
@@ -188,15 +188,15 @@ sum_i1 (gfc_array_i1 * const restrict retarray,
}
-extern void msum_i1 (gfc_array_i1 * const restrict,
- gfc_array_i1 * const restrict, const index_type * const restrict,
+extern void msum_i1 (gfc_array_m1 * const restrict,
+ gfc_array_m1 * const restrict, const index_type * const restrict,
gfc_array_l1 * const restrict);
export_proto(msum_i1);
void
-msum_i1 (gfc_array_i1 * const restrict retarray,
- gfc_array_i1 * const restrict array,
- const index_type * const restrict pdim,
+msum_i1 (gfc_array_m1 * const restrict retarray,
+ gfc_array_m1 * const restrict array,
+ const index_type * const restrict pdim,
gfc_array_l1 * const restrict mask)
{
index_type count[GFC_MAX_DIMENSIONS];
@@ -204,8 +204,8 @@ msum_i1 (gfc_array_i1 * const restrict retarray,
index_type sstride[GFC_MAX_DIMENSIONS];
index_type dstride[GFC_MAX_DIMENSIONS];
index_type mstride[GFC_MAX_DIMENSIONS];
- GFC_INTEGER_1 * restrict dest;
- const GFC_INTEGER_1 * restrict base;
+ GFC_UINTEGER_1 * restrict dest;
+ const GFC_UINTEGER_1 * restrict base;
const GFC_LOGICAL_1 * restrict mbase;
index_type rank;
index_type dim;
@@ -296,7 +296,7 @@ msum_i1 (gfc_array_i1 * const restrict retarray,
retarray->offset = 0;
retarray->dtype.rank = rank;
- retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_INTEGER_1));
+ retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_UINTEGER_1));
if (alloc_size == 0)
return;
}
@@ -327,9 +327,9 @@ msum_i1 (gfc_array_i1 * const restrict retarray,
while (base)
{
- const GFC_INTEGER_1 * restrict src;
+ const GFC_UINTEGER_1 * restrict src;
const GFC_LOGICAL_1 * restrict msrc;
- GFC_INTEGER_1 result;
+ GFC_UINTEGER_1 result;
src = base;
msrc = mbase;
{
@@ -378,21 +378,21 @@ msum_i1 (gfc_array_i1 * const restrict retarray,
}
-extern void ssum_i1 (gfc_array_i1 * const restrict,
- gfc_array_i1 * const restrict, const index_type * const restrict,
+extern void ssum_i1 (gfc_array_m1 * const restrict,
+ gfc_array_m1 * const restrict, const index_type * const restrict,
GFC_LOGICAL_4 *);
export_proto(ssum_i1);
void
-ssum_i1 (gfc_array_i1 * const restrict retarray,
- gfc_array_i1 * const restrict array,
- const index_type * const restrict pdim,
+ssum_i1 (gfc_array_m1 * const restrict retarray,
+ gfc_array_m1 * const restrict array,
+ const index_type * const restrict pdim,
GFC_LOGICAL_4 * mask)
{
index_type count[GFC_MAX_DIMENSIONS];
index_type extent[GFC_MAX_DIMENSIONS];
index_type dstride[GFC_MAX_DIMENSIONS];
- GFC_INTEGER_1 * restrict dest;
+ GFC_UINTEGER_1 * restrict dest;
index_type rank;
index_type n;
index_type dim;
@@ -455,7 +455,7 @@ ssum_i1 (gfc_array_i1 * const restrict retarray,
alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
- retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_INTEGER_1));
+ retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_UINTEGER_1));
if (alloc_size == 0)
return;
}
diff --git a/libgfortran/generated/sum_i16.c b/libgfortran/generated/sum_i16.c
index be60289..900e8fb 100644
--- a/libgfortran/generated/sum_i16.c
+++ b/libgfortran/generated/sum_i16.c
@@ -26,24 +26,24 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#include "libgfortran.h"
-#if defined (HAVE_GFC_INTEGER_16) && defined (HAVE_GFC_INTEGER_16)
+#if defined (HAVE_GFC_UINTEGER_16) && defined (HAVE_GFC_UINTEGER_16)
-extern void sum_i16 (gfc_array_i16 * const restrict,
- gfc_array_i16 * const restrict, const index_type * const restrict);
+extern void sum_i16 (gfc_array_m16 * const restrict,
+ gfc_array_m16 * const restrict, const index_type * const restrict);
export_proto(sum_i16);
void
-sum_i16 (gfc_array_i16 * const restrict retarray,
- gfc_array_i16 * const restrict array,
+sum_i16 (gfc_array_m16 * const restrict retarray,
+ gfc_array_m16 * const restrict array,
const index_type * const restrict pdim)
{
index_type count[GFC_MAX_DIMENSIONS];
index_type extent[GFC_MAX_DIMENSIONS];
index_type sstride[GFC_MAX_DIMENSIONS];
index_type dstride[GFC_MAX_DIMENSIONS];
- const GFC_INTEGER_16 * restrict base;
- GFC_INTEGER_16 * restrict dest;
+ const GFC_UINTEGER_16 * restrict base;
+ GFC_UINTEGER_16 * restrict dest;
index_type rank;
index_type n;
index_type len;
@@ -104,7 +104,7 @@ sum_i16 (gfc_array_i16 * const restrict retarray,
alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
- retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_INTEGER_16));
+ retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_UINTEGER_16));
if (alloc_size == 0)
return;
}
@@ -135,8 +135,8 @@ sum_i16 (gfc_array_i16 * const restrict retarray,
continue_loop = 1;
while (continue_loop)
{
- const GFC_INTEGER_16 * restrict src;
- GFC_INTEGER_16 result;
+ const GFC_UINTEGER_16 * restrict src;
+ GFC_UINTEGER_16 result;
src = base;
{
@@ -188,15 +188,15 @@ sum_i16 (gfc_array_i16 * const restrict retarray,
}
-extern void msum_i16 (gfc_array_i16 * const restrict,
- gfc_array_i16 * const restrict, const index_type * const restrict,
+extern void msum_i16 (gfc_array_m16 * const restrict,
+ gfc_array_m16 * const restrict, const index_type * const restrict,
gfc_array_l1 * const restrict);
export_proto(msum_i16);
void
-msum_i16 (gfc_array_i16 * const restrict retarray,
- gfc_array_i16 * const restrict array,
- const index_type * const restrict pdim,
+msum_i16 (gfc_array_m16 * const restrict retarray,
+ gfc_array_m16 * const restrict array,
+ const index_type * const restrict pdim,
gfc_array_l1 * const restrict mask)
{
index_type count[GFC_MAX_DIMENSIONS];
@@ -204,8 +204,8 @@ msum_i16 (gfc_array_i16 * const restrict retarray,
index_type sstride[GFC_MAX_DIMENSIONS];
index_type dstride[GFC_MAX_DIMENSIONS];
index_type mstride[GFC_MAX_DIMENSIONS];
- GFC_INTEGER_16 * restrict dest;
- const GFC_INTEGER_16 * restrict base;
+ GFC_UINTEGER_16 * restrict dest;
+ const GFC_UINTEGER_16 * restrict base;
const GFC_LOGICAL_1 * restrict mbase;
index_type rank;
index_type dim;
@@ -296,7 +296,7 @@ msum_i16 (gfc_array_i16 * const restrict retarray,
retarray->offset = 0;
retarray->dtype.rank = rank;
- retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_INTEGER_16));
+ retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_UINTEGER_16));
if (alloc_size == 0)
return;
}
@@ -327,9 +327,9 @@ msum_i16 (gfc_array_i16 * const restrict retarray,
while (base)
{
- const GFC_INTEGER_16 * restrict src;
+ const GFC_UINTEGER_16 * restrict src;
const GFC_LOGICAL_1 * restrict msrc;
- GFC_INTEGER_16 result;
+ GFC_UINTEGER_16 result;
src = base;
msrc = mbase;
{
@@ -378,21 +378,21 @@ msum_i16 (gfc_array_i16 * const restrict retarray,
}
-extern void ssum_i16 (gfc_array_i16 * const restrict,
- gfc_array_i16 * const restrict, const index_type * const restrict,
+extern void ssum_i16 (gfc_array_m16 * const restrict,
+ gfc_array_m16 * const restrict, const index_type * const restrict,
GFC_LOGICAL_4 *);
export_proto(ssum_i16);
void
-ssum_i16 (gfc_array_i16 * const restrict retarray,
- gfc_array_i16 * const restrict array,
- const index_type * const restrict pdim,
+ssum_i16 (gfc_array_m16 * const restrict retarray,
+ gfc_array_m16 * const restrict array,
+ const index_type * const restrict pdim,
GFC_LOGICAL_4 * mask)
{
index_type count[GFC_MAX_DIMENSIONS];
index_type extent[GFC_MAX_DIMENSIONS];
index_type dstride[GFC_MAX_DIMENSIONS];
- GFC_INTEGER_16 * restrict dest;
+ GFC_UINTEGER_16 * restrict dest;
index_type rank;
index_type n;
index_type dim;
@@ -455,7 +455,7 @@ ssum_i16 (gfc_array_i16 * const restrict retarray,
alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
- retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_INTEGER_16));
+ retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_UINTEGER_16));
if (alloc_size == 0)
return;
}
diff --git a/libgfortran/generated/sum_i2.c b/libgfortran/generated/sum_i2.c
index 7662a97..5b08730 100644
--- a/libgfortran/generated/sum_i2.c
+++ b/libgfortran/generated/sum_i2.c
@@ -26,24 +26,24 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#include "libgfortran.h"
-#if defined (HAVE_GFC_INTEGER_2) && defined (HAVE_GFC_INTEGER_2)
+#if defined (HAVE_GFC_UINTEGER_2) && defined (HAVE_GFC_UINTEGER_2)
-extern void sum_i2 (gfc_array_i2 * const restrict,
- gfc_array_i2 * const restrict, const index_type * const restrict);
+extern void sum_i2 (gfc_array_m2 * const restrict,
+ gfc_array_m2 * const restrict, const index_type * const restrict);
export_proto(sum_i2);
void
-sum_i2 (gfc_array_i2 * const restrict retarray,
- gfc_array_i2 * const restrict array,
+sum_i2 (gfc_array_m2 * const restrict retarray,
+ gfc_array_m2 * const restrict array,
const index_type * const restrict pdim)
{
index_type count[GFC_MAX_DIMENSIONS];
index_type extent[GFC_MAX_DIMENSIONS];
index_type sstride[GFC_MAX_DIMENSIONS];
index_type dstride[GFC_MAX_DIMENSIONS];
- const GFC_INTEGER_2 * restrict base;
- GFC_INTEGER_2 * restrict dest;
+ const GFC_UINTEGER_2 * restrict base;
+ GFC_UINTEGER_2 * restrict dest;
index_type rank;
index_type n;
index_type len;
@@ -104,7 +104,7 @@ sum_i2 (gfc_array_i2 * const restrict retarray,
alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
- retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_INTEGER_2));
+ retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_UINTEGER_2));
if (alloc_size == 0)
return;
}
@@ -135,8 +135,8 @@ sum_i2 (gfc_array_i2 * const restrict retarray,
continue_loop = 1;
while (continue_loop)
{
- const GFC_INTEGER_2 * restrict src;
- GFC_INTEGER_2 result;
+ const GFC_UINTEGER_2 * restrict src;
+ GFC_UINTEGER_2 result;
src = base;
{
@@ -188,15 +188,15 @@ sum_i2 (gfc_array_i2 * const restrict retarray,
}
-extern void msum_i2 (gfc_array_i2 * const restrict,
- gfc_array_i2 * const restrict, const index_type * const restrict,
+extern void msum_i2 (gfc_array_m2 * const restrict,
+ gfc_array_m2 * const restrict, const index_type * const restrict,
gfc_array_l1 * const restrict);
export_proto(msum_i2);
void
-msum_i2 (gfc_array_i2 * const restrict retarray,
- gfc_array_i2 * const restrict array,
- const index_type * const restrict pdim,
+msum_i2 (gfc_array_m2 * const restrict retarray,
+ gfc_array_m2 * const restrict array,
+ const index_type * const restrict pdim,
gfc_array_l1 * const restrict mask)
{
index_type count[GFC_MAX_DIMENSIONS];
@@ -204,8 +204,8 @@ msum_i2 (gfc_array_i2 * const restrict retarray,
index_type sstride[GFC_MAX_DIMENSIONS];
index_type dstride[GFC_MAX_DIMENSIONS];
index_type mstride[GFC_MAX_DIMENSIONS];
- GFC_INTEGER_2 * restrict dest;
- const GFC_INTEGER_2 * restrict base;
+ GFC_UINTEGER_2 * restrict dest;
+ const GFC_UINTEGER_2 * restrict base;
const GFC_LOGICAL_1 * restrict mbase;
index_type rank;
index_type dim;
@@ -296,7 +296,7 @@ msum_i2 (gfc_array_i2 * const restrict retarray,
retarray->offset = 0;
retarray->dtype.rank = rank;
- retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_INTEGER_2));
+ retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_UINTEGER_2));
if (alloc_size == 0)
return;
}
@@ -327,9 +327,9 @@ msum_i2 (gfc_array_i2 * const restrict retarray,
while (base)
{
- const GFC_INTEGER_2 * restrict src;
+ const GFC_UINTEGER_2 * restrict src;
const GFC_LOGICAL_1 * restrict msrc;
- GFC_INTEGER_2 result;
+ GFC_UINTEGER_2 result;
src = base;
msrc = mbase;
{
@@ -378,21 +378,21 @@ msum_i2 (gfc_array_i2 * const restrict retarray,
}
-extern void ssum_i2 (gfc_array_i2 * const restrict,
- gfc_array_i2 * const restrict, const index_type * const restrict,
+extern void ssum_i2 (gfc_array_m2 * const restrict,
+ gfc_array_m2 * const restrict, const index_type * const restrict,
GFC_LOGICAL_4 *);
export_proto(ssum_i2);
void
-ssum_i2 (gfc_array_i2 * const restrict retarray,
- gfc_array_i2 * const restrict array,
- const index_type * const restrict pdim,
+ssum_i2 (gfc_array_m2 * const restrict retarray,
+ gfc_array_m2 * const restrict array,
+ const index_type * const restrict pdim,
GFC_LOGICAL_4 * mask)
{
index_type count[GFC_MAX_DIMENSIONS];
index_type extent[GFC_MAX_DIMENSIONS];
index_type dstride[GFC_MAX_DIMENSIONS];
- GFC_INTEGER_2 * restrict dest;
+ GFC_UINTEGER_2 * restrict dest;
index_type rank;
index_type n;
index_type dim;
@@ -455,7 +455,7 @@ ssum_i2 (gfc_array_i2 * const restrict retarray,
alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
- retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_INTEGER_2));
+ retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_UINTEGER_2));
if (alloc_size == 0)
return;
}
diff --git a/libgfortran/generated/sum_i4.c b/libgfortran/generated/sum_i4.c
index eef9512..a931cd5 100644
--- a/libgfortran/generated/sum_i4.c
+++ b/libgfortran/generated/sum_i4.c
@@ -26,24 +26,24 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#include "libgfortran.h"
-#if defined (HAVE_GFC_INTEGER_4) && defined (HAVE_GFC_INTEGER_4)
+#if defined (HAVE_GFC_UINTEGER_4) && defined (HAVE_GFC_UINTEGER_4)
-extern void sum_i4 (gfc_array_i4 * const restrict,
- gfc_array_i4 * const restrict, const index_type * const restrict);
+extern void sum_i4 (gfc_array_m4 * const restrict,
+ gfc_array_m4 * const restrict, const index_type * const restrict);
export_proto(sum_i4);
void
-sum_i4 (gfc_array_i4 * const restrict retarray,
- gfc_array_i4 * const restrict array,
+sum_i4 (gfc_array_m4 * const restrict retarray,
+ gfc_array_m4 * const restrict array,
const index_type * const restrict pdim)
{
index_type count[GFC_MAX_DIMENSIONS];
index_type extent[GFC_MAX_DIMENSIONS];
index_type sstride[GFC_MAX_DIMENSIONS];
index_type dstride[GFC_MAX_DIMENSIONS];
- const GFC_INTEGER_4 * restrict base;
- GFC_INTEGER_4 * restrict dest;
+ const GFC_UINTEGER_4 * restrict base;
+ GFC_UINTEGER_4 * restrict dest;
index_type rank;
index_type n;
index_type len;
@@ -104,7 +104,7 @@ sum_i4 (gfc_array_i4 * const restrict retarray,
alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
- retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_INTEGER_4));
+ retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_UINTEGER_4));
if (alloc_size == 0)
return;
}
@@ -135,8 +135,8 @@ sum_i4 (gfc_array_i4 * const restrict retarray,
continue_loop = 1;
while (continue_loop)
{
- const GFC_INTEGER_4 * restrict src;
- GFC_INTEGER_4 result;
+ const GFC_UINTEGER_4 * restrict src;
+ GFC_UINTEGER_4 result;
src = base;
{
@@ -188,15 +188,15 @@ sum_i4 (gfc_array_i4 * const restrict retarray,
}
-extern void msum_i4 (gfc_array_i4 * const restrict,
- gfc_array_i4 * const restrict, const index_type * const restrict,
+extern void msum_i4 (gfc_array_m4 * const restrict,
+ gfc_array_m4 * const restrict, const index_type * const restrict,
gfc_array_l1 * const restrict);
export_proto(msum_i4);
void
-msum_i4 (gfc_array_i4 * const restrict retarray,
- gfc_array_i4 * const restrict array,
- const index_type * const restrict pdim,
+msum_i4 (gfc_array_m4 * const restrict retarray,
+ gfc_array_m4 * const restrict array,
+ const index_type * const restrict pdim,
gfc_array_l1 * const restrict mask)
{
index_type count[GFC_MAX_DIMENSIONS];
@@ -204,8 +204,8 @@ msum_i4 (gfc_array_i4 * const restrict retarray,
index_type sstride[GFC_MAX_DIMENSIONS];
index_type dstride[GFC_MAX_DIMENSIONS];
index_type mstride[GFC_MAX_DIMENSIONS];
- GFC_INTEGER_4 * restrict dest;
- const GFC_INTEGER_4 * restrict base;
+ GFC_UINTEGER_4 * restrict dest;
+ const GFC_UINTEGER_4 * restrict base;
const GFC_LOGICAL_1 * restrict mbase;
index_type rank;
index_type dim;
@@ -296,7 +296,7 @@ msum_i4 (gfc_array_i4 * const restrict retarray,
retarray->offset = 0;
retarray->dtype.rank = rank;
- retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_INTEGER_4));
+ retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_UINTEGER_4));
if (alloc_size == 0)
return;
}
@@ -327,9 +327,9 @@ msum_i4 (gfc_array_i4 * const restrict retarray,
while (base)
{
- const GFC_INTEGER_4 * restrict src;
+ const GFC_UINTEGER_4 * restrict src;
const GFC_LOGICAL_1 * restrict msrc;
- GFC_INTEGER_4 result;
+ GFC_UINTEGER_4 result;
src = base;
msrc = mbase;
{
@@ -378,21 +378,21 @@ msum_i4 (gfc_array_i4 * const restrict retarray,
}
-extern void ssum_i4 (gfc_array_i4 * const restrict,
- gfc_array_i4 * const restrict, const index_type * const restrict,
+extern void ssum_i4 (gfc_array_m4 * const restrict,
+ gfc_array_m4 * const restrict, const index_type * const restrict,
GFC_LOGICAL_4 *);
export_proto(ssum_i4);
void
-ssum_i4 (gfc_array_i4 * const restrict retarray,
- gfc_array_i4 * const restrict array,
- const index_type * const restrict pdim,
+ssum_i4 (gfc_array_m4 * const restrict retarray,
+ gfc_array_m4 * const restrict array,
+ const index_type * const restrict pdim,
GFC_LOGICAL_4 * mask)
{
index_type count[GFC_MAX_DIMENSIONS];
index_type extent[GFC_MAX_DIMENSIONS];
index_type dstride[GFC_MAX_DIMENSIONS];
- GFC_INTEGER_4 * restrict dest;
+ GFC_UINTEGER_4 * restrict dest;
index_type rank;
index_type n;
index_type dim;
@@ -455,7 +455,7 @@ ssum_i4 (gfc_array_i4 * const restrict retarray,
alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
- retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_INTEGER_4));
+ retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_UINTEGER_4));
if (alloc_size == 0)
return;
}
diff --git a/libgfortran/generated/sum_i8.c b/libgfortran/generated/sum_i8.c
index 871154d..490a22c 100644
--- a/libgfortran/generated/sum_i8.c
+++ b/libgfortran/generated/sum_i8.c
@@ -26,24 +26,24 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#include "libgfortran.h"
-#if defined (HAVE_GFC_INTEGER_8) && defined (HAVE_GFC_INTEGER_8)
+#if defined (HAVE_GFC_UINTEGER_8) && defined (HAVE_GFC_UINTEGER_8)
-extern void sum_i8 (gfc_array_i8 * const restrict,
- gfc_array_i8 * const restrict, const index_type * const restrict);
+extern void sum_i8 (gfc_array_m8 * const restrict,
+ gfc_array_m8 * const restrict, const index_type * const restrict);
export_proto(sum_i8);
void
-sum_i8 (gfc_array_i8 * const restrict retarray,
- gfc_array_i8 * const restrict array,
+sum_i8 (gfc_array_m8 * const restrict retarray,
+ gfc_array_m8 * const restrict array,
const index_type * const restrict pdim)
{
index_type count[GFC_MAX_DIMENSIONS];
index_type extent[GFC_MAX_DIMENSIONS];
index_type sstride[GFC_MAX_DIMENSIONS];
index_type dstride[GFC_MAX_DIMENSIONS];
- const GFC_INTEGER_8 * restrict base;
- GFC_INTEGER_8 * restrict dest;
+ const GFC_UINTEGER_8 * restrict base;
+ GFC_UINTEGER_8 * restrict dest;
index_type rank;
index_type n;
index_type len;
@@ -104,7 +104,7 @@ sum_i8 (gfc_array_i8 * const restrict retarray,
alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
- retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_INTEGER_8));
+ retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_UINTEGER_8));
if (alloc_size == 0)
return;
}
@@ -135,8 +135,8 @@ sum_i8 (gfc_array_i8 * const restrict retarray,
continue_loop = 1;
while (continue_loop)
{
- const GFC_INTEGER_8 * restrict src;
- GFC_INTEGER_8 result;
+ const GFC_UINTEGER_8 * restrict src;
+ GFC_UINTEGER_8 result;
src = base;
{
@@ -188,15 +188,15 @@ sum_i8 (gfc_array_i8 * const restrict retarray,
}
-extern void msum_i8 (gfc_array_i8 * const restrict,
- gfc_array_i8 * const restrict, const index_type * const restrict,
+extern void msum_i8 (gfc_array_m8 * const restrict,
+ gfc_array_m8 * const restrict, const index_type * const restrict,
gfc_array_l1 * const restrict);
export_proto(msum_i8);
void
-msum_i8 (gfc_array_i8 * const restrict retarray,
- gfc_array_i8 * const restrict array,
- const index_type * const restrict pdim,
+msum_i8 (gfc_array_m8 * const restrict retarray,
+ gfc_array_m8 * const restrict array,
+ const index_type * const restrict pdim,
gfc_array_l1 * const restrict mask)
{
index_type count[GFC_MAX_DIMENSIONS];
@@ -204,8 +204,8 @@ msum_i8 (gfc_array_i8 * const restrict retarray,
index_type sstride[GFC_MAX_DIMENSIONS];
index_type dstride[GFC_MAX_DIMENSIONS];
index_type mstride[GFC_MAX_DIMENSIONS];
- GFC_INTEGER_8 * restrict dest;
- const GFC_INTEGER_8 * restrict base;
+ GFC_UINTEGER_8 * restrict dest;
+ const GFC_UINTEGER_8 * restrict base;
const GFC_LOGICAL_1 * restrict mbase;
index_type rank;
index_type dim;
@@ -296,7 +296,7 @@ msum_i8 (gfc_array_i8 * const restrict retarray,
retarray->offset = 0;
retarray->dtype.rank = rank;
- retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_INTEGER_8));
+ retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_UINTEGER_8));
if (alloc_size == 0)
return;
}
@@ -327,9 +327,9 @@ msum_i8 (gfc_array_i8 * const restrict retarray,
while (base)
{
- const GFC_INTEGER_8 * restrict src;
+ const GFC_UINTEGER_8 * restrict src;
const GFC_LOGICAL_1 * restrict msrc;
- GFC_INTEGER_8 result;
+ GFC_UINTEGER_8 result;
src = base;
msrc = mbase;
{
@@ -378,21 +378,21 @@ msum_i8 (gfc_array_i8 * const restrict retarray,
}
-extern void ssum_i8 (gfc_array_i8 * const restrict,
- gfc_array_i8 * const restrict, const index_type * const restrict,
+extern void ssum_i8 (gfc_array_m8 * const restrict,
+ gfc_array_m8 * const restrict, const index_type * const restrict,
GFC_LOGICAL_4 *);
export_proto(ssum_i8);
void
-ssum_i8 (gfc_array_i8 * const restrict retarray,
- gfc_array_i8 * const restrict array,
- const index_type * const restrict pdim,
+ssum_i8 (gfc_array_m8 * const restrict retarray,
+ gfc_array_m8 * const restrict array,
+ const index_type * const restrict pdim,
GFC_LOGICAL_4 * mask)
{
index_type count[GFC_MAX_DIMENSIONS];
index_type extent[GFC_MAX_DIMENSIONS];
index_type dstride[GFC_MAX_DIMENSIONS];
- GFC_INTEGER_8 * restrict dest;
+ GFC_UINTEGER_8 * restrict dest;
index_type rank;
index_type n;
index_type dim;
@@ -455,7 +455,7 @@ ssum_i8 (gfc_array_i8 * const restrict retarray,
alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
- retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_INTEGER_8));
+ retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_UINTEGER_8));
if (alloc_size == 0)
return;
}
diff --git a/libgfortran/generated/sum_r10.c b/libgfortran/generated/sum_r10.c
index c05f60e..67d160c6 100644
--- a/libgfortran/generated/sum_r10.c
+++ b/libgfortran/generated/sum_r10.c
@@ -29,13 +29,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#if defined (HAVE_GFC_REAL_10) && defined (HAVE_GFC_REAL_10)
-extern void sum_r10 (gfc_array_r10 * const restrict,
+extern void sum_r10 (gfc_array_r10 * const restrict,
gfc_array_r10 * const restrict, const index_type * const restrict);
export_proto(sum_r10);
void
-sum_r10 (gfc_array_r10 * const restrict retarray,
- gfc_array_r10 * const restrict array,
+sum_r10 (gfc_array_r10 * const restrict retarray,
+ gfc_array_r10 * const restrict array,
const index_type * const restrict pdim)
{
index_type count[GFC_MAX_DIMENSIONS];
@@ -188,15 +188,15 @@ sum_r10 (gfc_array_r10 * const restrict retarray,
}
-extern void msum_r10 (gfc_array_r10 * const restrict,
+extern void msum_r10 (gfc_array_r10 * const restrict,
gfc_array_r10 * const restrict, const index_type * const restrict,
gfc_array_l1 * const restrict);
export_proto(msum_r10);
void
-msum_r10 (gfc_array_r10 * const restrict retarray,
- gfc_array_r10 * const restrict array,
- const index_type * const restrict pdim,
+msum_r10 (gfc_array_r10 * const restrict retarray,
+ gfc_array_r10 * const restrict array,
+ const index_type * const restrict pdim,
gfc_array_l1 * const restrict mask)
{
index_type count[GFC_MAX_DIMENSIONS];
@@ -378,15 +378,15 @@ msum_r10 (gfc_array_r10 * const restrict retarray,
}
-extern void ssum_r10 (gfc_array_r10 * const restrict,
+extern void ssum_r10 (gfc_array_r10 * const restrict,
gfc_array_r10 * const restrict, const index_type * const restrict,
GFC_LOGICAL_4 *);
export_proto(ssum_r10);
void
-ssum_r10 (gfc_array_r10 * const restrict retarray,
- gfc_array_r10 * const restrict array,
- const index_type * const restrict pdim,
+ssum_r10 (gfc_array_r10 * const restrict retarray,
+ gfc_array_r10 * const restrict array,
+ const index_type * const restrict pdim,
GFC_LOGICAL_4 * mask)
{
index_type count[GFC_MAX_DIMENSIONS];
diff --git a/libgfortran/generated/sum_r16.c b/libgfortran/generated/sum_r16.c
index 5d7b6f9..a03959a 100644
--- a/libgfortran/generated/sum_r16.c
+++ b/libgfortran/generated/sum_r16.c
@@ -29,13 +29,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#if defined (HAVE_GFC_REAL_16) && defined (HAVE_GFC_REAL_16)
-extern void sum_r16 (gfc_array_r16 * const restrict,
+extern void sum_r16 (gfc_array_r16 * const restrict,
gfc_array_r16 * const restrict, const index_type * const restrict);
export_proto(sum_r16);
void
-sum_r16 (gfc_array_r16 * const restrict retarray,
- gfc_array_r16 * const restrict array,
+sum_r16 (gfc_array_r16 * const restrict retarray,
+ gfc_array_r16 * const restrict array,
const index_type * const restrict pdim)
{
index_type count[GFC_MAX_DIMENSIONS];
@@ -188,15 +188,15 @@ sum_r16 (gfc_array_r16 * const restrict retarray,
}
-extern void msum_r16 (gfc_array_r16 * const restrict,
+extern void msum_r16 (gfc_array_r16 * const restrict,
gfc_array_r16 * const restrict, const index_type * const restrict,
gfc_array_l1 * const restrict);
export_proto(msum_r16);
void
-msum_r16 (gfc_array_r16 * const restrict retarray,
- gfc_array_r16 * const restrict array,
- const index_type * const restrict pdim,
+msum_r16 (gfc_array_r16 * const restrict retarray,
+ gfc_array_r16 * const restrict array,
+ const index_type * const restrict pdim,
gfc_array_l1 * const restrict mask)
{
index_type count[GFC_MAX_DIMENSIONS];
@@ -378,15 +378,15 @@ msum_r16 (gfc_array_r16 * const restrict retarray,
}
-extern void ssum_r16 (gfc_array_r16 * const restrict,
+extern void ssum_r16 (gfc_array_r16 * const restrict,
gfc_array_r16 * const restrict, const index_type * const restrict,
GFC_LOGICAL_4 *);
export_proto(ssum_r16);
void
-ssum_r16 (gfc_array_r16 * const restrict retarray,
- gfc_array_r16 * const restrict array,
- const index_type * const restrict pdim,
+ssum_r16 (gfc_array_r16 * const restrict retarray,
+ gfc_array_r16 * const restrict array,
+ const index_type * const restrict pdim,
GFC_LOGICAL_4 * mask)
{
index_type count[GFC_MAX_DIMENSIONS];
diff --git a/libgfortran/generated/sum_r17.c b/libgfortran/generated/sum_r17.c
index 9124466..13dfe65 100644
--- a/libgfortran/generated/sum_r17.c
+++ b/libgfortran/generated/sum_r17.c
@@ -29,13 +29,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#if defined (HAVE_GFC_REAL_17) && defined (HAVE_GFC_REAL_17)
-extern void sum_r17 (gfc_array_r17 * const restrict,
+extern void sum_r17 (gfc_array_r17 * const restrict,
gfc_array_r17 * const restrict, const index_type * const restrict);
export_proto(sum_r17);
void
-sum_r17 (gfc_array_r17 * const restrict retarray,
- gfc_array_r17 * const restrict array,
+sum_r17 (gfc_array_r17 * const restrict retarray,
+ gfc_array_r17 * const restrict array,
const index_type * const restrict pdim)
{
index_type count[GFC_MAX_DIMENSIONS];
@@ -188,15 +188,15 @@ sum_r17 (gfc_array_r17 * const restrict retarray,
}
-extern void msum_r17 (gfc_array_r17 * const restrict,
+extern void msum_r17 (gfc_array_r17 * const restrict,
gfc_array_r17 * const restrict, const index_type * const restrict,
gfc_array_l1 * const restrict);
export_proto(msum_r17);
void
-msum_r17 (gfc_array_r17 * const restrict retarray,
- gfc_array_r17 * const restrict array,
- const index_type * const restrict pdim,
+msum_r17 (gfc_array_r17 * const restrict retarray,
+ gfc_array_r17 * const restrict array,
+ const index_type * const restrict pdim,
gfc_array_l1 * const restrict mask)
{
index_type count[GFC_MAX_DIMENSIONS];
@@ -378,15 +378,15 @@ msum_r17 (gfc_array_r17 * const restrict retarray,
}
-extern void ssum_r17 (gfc_array_r17 * const restrict,
+extern void ssum_r17 (gfc_array_r17 * const restrict,
gfc_array_r17 * const restrict, const index_type * const restrict,
GFC_LOGICAL_4 *);
export_proto(ssum_r17);
void
-ssum_r17 (gfc_array_r17 * const restrict retarray,
- gfc_array_r17 * const restrict array,
- const index_type * const restrict pdim,
+ssum_r17 (gfc_array_r17 * const restrict retarray,
+ gfc_array_r17 * const restrict array,
+ const index_type * const restrict pdim,
GFC_LOGICAL_4 * mask)
{
index_type count[GFC_MAX_DIMENSIONS];
diff --git a/libgfortran/generated/sum_r4.c b/libgfortran/generated/sum_r4.c
index 1147f2e..b9e6ed1 100644
--- a/libgfortran/generated/sum_r4.c
+++ b/libgfortran/generated/sum_r4.c
@@ -29,13 +29,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#if defined (HAVE_GFC_REAL_4) && defined (HAVE_GFC_REAL_4)
-extern void sum_r4 (gfc_array_r4 * const restrict,
+extern void sum_r4 (gfc_array_r4 * const restrict,
gfc_array_r4 * const restrict, const index_type * const restrict);
export_proto(sum_r4);
void
-sum_r4 (gfc_array_r4 * const restrict retarray,
- gfc_array_r4 * const restrict array,
+sum_r4 (gfc_array_r4 * const restrict retarray,
+ gfc_array_r4 * const restrict array,
const index_type * const restrict pdim)
{
index_type count[GFC_MAX_DIMENSIONS];
@@ -188,15 +188,15 @@ sum_r4 (gfc_array_r4 * const restrict retarray,
}
-extern void msum_r4 (gfc_array_r4 * const restrict,
+extern void msum_r4 (gfc_array_r4 * const restrict,
gfc_array_r4 * const restrict, const index_type * const restrict,
gfc_array_l1 * const restrict);
export_proto(msum_r4);
void
-msum_r4 (gfc_array_r4 * const restrict retarray,
- gfc_array_r4 * const restrict array,
- const index_type * const restrict pdim,
+msum_r4 (gfc_array_r4 * const restrict retarray,
+ gfc_array_r4 * const restrict array,
+ const index_type * const restrict pdim,
gfc_array_l1 * const restrict mask)
{
index_type count[GFC_MAX_DIMENSIONS];
@@ -378,15 +378,15 @@ msum_r4 (gfc_array_r4 * const restrict retarray,
}
-extern void ssum_r4 (gfc_array_r4 * const restrict,
+extern void ssum_r4 (gfc_array_r4 * const restrict,
gfc_array_r4 * const restrict, const index_type * const restrict,
GFC_LOGICAL_4 *);
export_proto(ssum_r4);
void
-ssum_r4 (gfc_array_r4 * const restrict retarray,
- gfc_array_r4 * const restrict array,
- const index_type * const restrict pdim,
+ssum_r4 (gfc_array_r4 * const restrict retarray,
+ gfc_array_r4 * const restrict array,
+ const index_type * const restrict pdim,
GFC_LOGICAL_4 * mask)
{
index_type count[GFC_MAX_DIMENSIONS];
diff --git a/libgfortran/generated/sum_r8.c b/libgfortran/generated/sum_r8.c
index 5fa036b..ff7e9f3 100644
--- a/libgfortran/generated/sum_r8.c
+++ b/libgfortran/generated/sum_r8.c
@@ -29,13 +29,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#if defined (HAVE_GFC_REAL_8) && defined (HAVE_GFC_REAL_8)
-extern void sum_r8 (gfc_array_r8 * const restrict,
+extern void sum_r8 (gfc_array_r8 * const restrict,
gfc_array_r8 * const restrict, const index_type * const restrict);
export_proto(sum_r8);
void
-sum_r8 (gfc_array_r8 * const restrict retarray,
- gfc_array_r8 * const restrict array,
+sum_r8 (gfc_array_r8 * const restrict retarray,
+ gfc_array_r8 * const restrict array,
const index_type * const restrict pdim)
{
index_type count[GFC_MAX_DIMENSIONS];
@@ -188,15 +188,15 @@ sum_r8 (gfc_array_r8 * const restrict retarray,
}
-extern void msum_r8 (gfc_array_r8 * const restrict,
+extern void msum_r8 (gfc_array_r8 * const restrict,
gfc_array_r8 * const restrict, const index_type * const restrict,
gfc_array_l1 * const restrict);
export_proto(msum_r8);
void
-msum_r8 (gfc_array_r8 * const restrict retarray,
- gfc_array_r8 * const restrict array,
- const index_type * const restrict pdim,
+msum_r8 (gfc_array_r8 * const restrict retarray,
+ gfc_array_r8 * const restrict array,
+ const index_type * const restrict pdim,
gfc_array_l1 * const restrict mask)
{
index_type count[GFC_MAX_DIMENSIONS];
@@ -378,15 +378,15 @@ msum_r8 (gfc_array_r8 * const restrict retarray,
}
-extern void ssum_r8 (gfc_array_r8 * const restrict,
+extern void ssum_r8 (gfc_array_r8 * const restrict,
gfc_array_r8 * const restrict, const index_type * const restrict,
GFC_LOGICAL_4 *);
export_proto(ssum_r8);
void
-ssum_r8 (gfc_array_r8 * const restrict retarray,
- gfc_array_r8 * const restrict array,
- const index_type * const restrict pdim,
+ssum_r8 (gfc_array_r8 * const restrict retarray,
+ gfc_array_r8 * const restrict array,
+ const index_type * const restrict pdim,
GFC_LOGICAL_4 * mask)
{
index_type count[GFC_MAX_DIMENSIONS];
diff --git a/libgfortran/m4/ifunction.m4 b/libgfortran/m4/ifunction.m4
index 8e32d49..101175e 100644
--- a/libgfortran/m4/ifunction.m4
+++ b/libgfortran/m4/ifunction.m4
@@ -19,13 +19,13 @@ dnl You should not return or break from the inner loop of the implementation.
dnl Care should also be taken to avoid using the names defined in iparm.m4
define(START_ARRAY_FUNCTION,
`
-extern void name`'rtype_qual`_'atype_code (rtype * const restrict,
+extern void name`'rtype_qual`_'atype_code (rtype * const restrict,
atype` * const restrict, const 'index_type` * const restrict'back_arg`);
export_proto('name`'rtype_qual`_'atype_code);
void
-name`'rtype_qual`_'atype_code` ('rtype` * const restrict retarray,
- 'atype` * const restrict array,
+name`'rtype_qual`_'atype_code` ('rtype` * const restrict retarray,
+ 'atype` * const restrict array,
const index_type * const restrict pdim'back_arg`)
{
index_type count[GFC_MAX_DIMENSIONS];
@@ -178,15 +178,15 @@ define(FINISH_ARRAY_FUNCTION,
}')dnl
define(START_MASKED_ARRAY_FUNCTION,
`
-extern void `m'name`'rtype_qual`_'atype_code` ('rtype` * const restrict,
+extern void `m'name`'rtype_qual`_'atype_code` ('rtype` * const restrict,
'atype` * const restrict, const 'index_type` * const restrict,
gfc_array_l1 * const restrict'back_arg`);
export_proto(m'name`'rtype_qual`_'atype_code`);
void
-m'name`'rtype_qual`_'atype_code` ('rtype` * const restrict retarray,
- 'atype` * const restrict array,
- const index_type * const restrict pdim,
+m'name`'rtype_qual`_'atype_code` ('rtype` * const restrict retarray,
+ 'atype` * const restrict array,
+ const index_type * const restrict pdim,
gfc_array_l1 * const restrict mask'back_arg`)
{
index_type count[GFC_MAX_DIMENSIONS];
@@ -367,15 +367,15 @@ define(FINISH_MASKED_ARRAY_FUNCTION,
}')dnl
define(SCALAR_ARRAY_FUNCTION,
`
-extern void `s'name`'rtype_qual`_'atype_code` ('rtype` * const restrict,
+extern void `s'name`'rtype_qual`_'atype_code` ('rtype` * const restrict,
'atype` * const restrict, const index_type * const restrict,
GFC_LOGICAL_4 *'back_arg`);
export_proto(s'name`'rtype_qual`_'atype_code);
void
-`s'name`'rtype_qual`_'atype_code` ('rtype` * const restrict retarray,
- 'atype` * const restrict array,
- const index_type * const restrict pdim,
+`s'name`'rtype_qual`_'atype_code` ('rtype` * const restrict retarray,
+ 'atype` * const restrict array,
+ const index_type * const restrict pdim,
GFC_LOGICAL_4 * mask'back_arg`)
{
index_type count[GFC_MAX_DIMENSIONS];
diff --git a/libgfortran/m4/product.m4 b/libgfortran/m4/product.m4
index 187cb58..36c41df 100644
--- a/libgfortran/m4/product.m4
+++ b/libgfortran/m4/product.m4
@@ -26,6 +26,11 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#include "libgfortran.h"'
include(iparm.m4)dnl
+ifelse(index(rtype_name,`GFC_INTEGER'),`0',dnl
+define(`rtype_name',patsubst(rtype_name,`GFC_INTEGER',`GFC_UINTEGER'))dnl
+define(`atype_name',patsubst(rtype_name,`GFC_INTEGER',`GFC_UINTEGER'))dnl
+define(`rtype',patsubst(rtype,`gfc_array_i',`gfc_array_m'))dnl
+define(`atype',patsubst(rtype,`gfc_array_i',`gfc_array_m')))dnl
include(ifunction.m4)dnl
`#if defined (HAVE_'atype_name`) && defined (HAVE_'rtype_name`)'
diff --git a/libgfortran/m4/sum.m4 b/libgfortran/m4/sum.m4
index 89e0970..5dd7793 100644
--- a/libgfortran/m4/sum.m4
+++ b/libgfortran/m4/sum.m4
@@ -26,6 +26,11 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#include "libgfortran.h"'
include(iparm.m4)dnl
+ifelse(index(rtype_name,`GFC_INTEGER'),`0',dnl
+define(`rtype_name',patsubst(rtype_name,`GFC_INTEGER',`GFC_UINTEGER'))dnl
+define(`atype_name',patsubst(rtype_name,`GFC_INTEGER',`GFC_UINTEGER'))dnl
+define(`rtype',patsubst(rtype,`gfc_array_i',`gfc_array_m'))dnl
+define(`atype',patsubst(rtype,`gfc_array_i',`gfc_array_m')))dnl
include(ifunction.m4)dnl
`#if defined (HAVE_'atype_name`) && defined (HAVE_'rtype_name`)'