From 5e918a4db9e4a5bdbeafec6881fa8b22a55d3789 Mon Sep 17 00:00:00 2001 From: Thomas Koenig Date: Tue, 24 Sep 2024 21:59:10 +0200 Subject: [PATCH] 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. --- gcc/fortran/gfortran.texi | 2 +- gcc/fortran/iresolve.cc | 19 +++++++--- gcc/fortran/simplify.cc | 11 +++++- libgfortran/generated/product_c10.c | 22 ++++++------ libgfortran/generated/product_c16.c | 22 ++++++------ libgfortran/generated/product_c17.c | 22 ++++++------ libgfortran/generated/product_c4.c | 22 ++++++------ libgfortran/generated/product_c8.c | 22 ++++++------ libgfortran/generated/product_i1.c | 54 ++++++++++++++--------------- libgfortran/generated/product_i16.c | 54 ++++++++++++++--------------- libgfortran/generated/product_i2.c | 54 ++++++++++++++--------------- libgfortran/generated/product_i4.c | 54 ++++++++++++++--------------- libgfortran/generated/product_i8.c | 54 ++++++++++++++--------------- libgfortran/generated/product_r10.c | 22 ++++++------ libgfortran/generated/product_r16.c | 22 ++++++------ libgfortran/generated/product_r17.c | 22 ++++++------ libgfortran/generated/product_r4.c | 22 ++++++------ libgfortran/generated/product_r8.c | 22 ++++++------ libgfortran/generated/sum_c10.c | 22 ++++++------ libgfortran/generated/sum_c16.c | 22 ++++++------ libgfortran/generated/sum_c17.c | 22 ++++++------ libgfortran/generated/sum_c4.c | 22 ++++++------ libgfortran/generated/sum_c8.c | 22 ++++++------ libgfortran/generated/sum_i1.c | 54 ++++++++++++++--------------- libgfortran/generated/sum_i16.c | 54 ++++++++++++++--------------- libgfortran/generated/sum_i2.c | 54 ++++++++++++++--------------- libgfortran/generated/sum_i4.c | 54 ++++++++++++++--------------- libgfortran/generated/sum_i8.c | 54 ++++++++++++++--------------- libgfortran/generated/sum_r10.c | 22 ++++++------ libgfortran/generated/sum_r16.c | 22 ++++++------ libgfortran/generated/sum_r17.c | 22 ++++++------ libgfortran/generated/sum_r4.c | 22 ++++++------ libgfortran/generated/sum_r8.c | 22 ++++++------ libgfortran/m4/ifunction.m4 | 22 ++++++------ libgfortran/m4/product.m4 | 5 +++ libgfortran/m4/sum.m4 | 5 +++ 36 files changed, 537 insertions(+), 507 deletions(-) diff --git a/gcc/fortran/gfortran.texi b/gcc/fortran/gfortran.texi index 829ab00c665..e5ffe67eeee 100644 --- a/gcc/fortran/gfortran.texi +++ b/gcc/fortran/gfortran.texi @@ -2788,7 +2788,7 @@ As of now, the following intrinsics take unsigned arguments: @item @code{MVBITS} @item @code{RANGE} @item @code{TRANSFER} -@item @code{MATMUL} and @code{DOT_PRODUCT} +@item @code{SUM}, @code{PRODUCT}, @code{MATMUL} and @code{DOT_PRODUCT} @end itemize This list will grow in the near future. @c --------------------------------------------------------------------- diff --git a/gcc/fortran/iresolve.cc b/gcc/fortran/iresolve.cc index 32b31432e58..b4c9a636260 100644 --- a/gcc/fortran/iresolve.cc +++ b/gcc/fortran/iresolve.cc @@ -175,9 +175,11 @@ resolve_bound (gfc_expr *f, gfc_expr *array, gfc_expr *dim, gfc_expr *kind, static void resolve_transformational (const char *name, gfc_expr *f, gfc_expr *array, - gfc_expr *dim, gfc_expr *mask) + gfc_expr *dim, gfc_expr *mask, + bool use_integer = false) { const char *prefix; + bt type; f->ts = array->ts; @@ -200,9 +202,18 @@ resolve_transformational (const char *name, gfc_expr *f, gfc_expr *array, gfc_resolve_dim_arg (dim); } + /* For those intrinsic like SUM where we use the integer version + actually uses unsigned, but we call it as the integer + version. */ + + if (use_integer && array->ts.type == BT_UNSIGNED) + type = BT_INTEGER; + else + type = array->ts.type; + f->value.function.name = gfc_get_string (PREFIX ("%s%s_%c%d"), prefix, name, - gfc_type_letter (array->ts.type), + gfc_type_letter (type), gfc_type_abi_kind (&array->ts)); } @@ -2333,7 +2344,7 @@ void gfc_resolve_product (gfc_expr *f, gfc_expr *array, gfc_expr *dim, gfc_expr *mask) { - resolve_transformational ("product", f, array, dim, mask); + resolve_transformational ("product", f, array, dim, mask, true); } @@ -2881,7 +2892,7 @@ gfc_resolve_storage_size (gfc_expr *f, gfc_expr *a ATTRIBUTE_UNUSED, void gfc_resolve_sum (gfc_expr *f, gfc_expr *array, gfc_expr *dim, gfc_expr *mask) { - resolve_transformational ("sum", f, array, dim, mask); + resolve_transformational ("sum", f, array, dim, mask, true); } diff --git a/gcc/fortran/simplify.cc b/gcc/fortran/simplify.cc index 83d0fdc9ea9..e5681c42a48 100644 --- a/gcc/fortran/simplify.cc +++ b/gcc/fortran/simplify.cc @@ -359,7 +359,16 @@ init_result_expr (gfc_expr *e, int init, gfc_expr *array) mpz_set_si (e->value.integer, init); break; - case BT_REAL: + case BT_UNSIGNED: + if (init == INT_MIN) + mpz_set_ui (e->value.integer, 0); + else if (init == INT_MAX) + mpz_set (e->value.integer, gfc_unsigned_kinds[i].huge); + else + mpz_set_ui (e->value.integer, init); + break; + + case BT_REAL: if (init == INT_MIN) { mpfr_set (e->value.real, gfc_real_kinds[i].huge, GFC_RND_MODE); diff --git a/libgfortran/generated/product_c10.c b/libgfortran/generated/product_c10.c index 9438f5d7316..c57f1642b65 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 c654032b0d0..9c5a231261b 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 45b5f186104..cfc2d6c2def 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 baa3a9ae4f3..517778e739d 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 18016af1cb8..1138d8a880e 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 1ffef4a501c..fbcd76e734c 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 1bb2ace2c31..92baef5b16d 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 b38cf458bf1..31a0dadba1f 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 bc3df5eb530..420f76a1e64 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 9ef4c7c3011..46ab6b6cd70 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 d6103b4a687..2f4952de498 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 d47a7b6b668..05dc55058d7 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 614063fdc9c..d19ec8dcccb 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 807e783c43a..95bf1ca17cb 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 c5ab63d51ff..95423cba67b 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 a5f5dcf9dc9..0e2195f3175 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 81193fb6c44..96c1ebbeb04 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 e1c3bbe1a95..56df816439d 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 93fdc68d715..509f710c9a0 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 d070f986c84..c19d1d41a3f 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 fc1478ad033..b7b1762e01c 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 be602895f2c..900e8fb6e4b 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 7662a97a9b7..5b08730b838 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 eef9512192e..a931cd55df5 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 871154d066c..490a22c77b7 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 c05f60efcef..67d160c64a8 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 5d7b6f95932..a03959a52b2 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 912446673cc..13dfe654262 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 1147f2e5ef5..b9e6ed12ce7 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 5fa036bb656..ff7e9f368c1 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 8e32d49218b..101175ef5ff 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 187cb58d25c..36c41df55a8 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 89e097074dd..5dd7793b6ec 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`)'