From 5e918a4db9e4a5bdbeafec6881fa8b22a55d3789 Mon Sep 17 00:00:00 2001 From: Thomas Koenig Date: Tue, 24 Sep 2024 21:59:10 +0200 Subject: 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. --- libgfortran/generated/sum_c16.c | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'libgfortran/generated/sum_c16.c') diff --git a/libgfortran/generated/sum_c16.c b/libgfortran/generated/sum_c16.c index 81193fb..96c1ebb 100644 --- a/libgfortran/generated/sum_c16.c +++ b/libgfortran/generated/sum_c16.c @@ -29,13 +29,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #if defined (HAVE_GFC_COMPLEX_16) && defined (HAVE_GFC_COMPLEX_16) -extern void sum_c16 (gfc_array_c16 * const restrict, +extern void sum_c16 (gfc_array_c16 * const restrict, gfc_array_c16 * const restrict, const index_type * const restrict); export_proto(sum_c16); void -sum_c16 (gfc_array_c16 * const restrict retarray, - gfc_array_c16 * const restrict array, +sum_c16 (gfc_array_c16 * const restrict retarray, + gfc_array_c16 * const restrict array, const index_type * const restrict pdim) { index_type count[GFC_MAX_DIMENSIONS]; @@ -188,15 +188,15 @@ sum_c16 (gfc_array_c16 * const restrict retarray, } -extern void msum_c16 (gfc_array_c16 * const restrict, +extern void msum_c16 (gfc_array_c16 * const restrict, gfc_array_c16 * const restrict, const index_type * const restrict, gfc_array_l1 * const restrict); export_proto(msum_c16); void -msum_c16 (gfc_array_c16 * const restrict retarray, - gfc_array_c16 * const restrict array, - const index_type * const restrict pdim, +msum_c16 (gfc_array_c16 * const restrict retarray, + gfc_array_c16 * const restrict array, + const index_type * const restrict pdim, gfc_array_l1 * const restrict mask) { index_type count[GFC_MAX_DIMENSIONS]; @@ -378,15 +378,15 @@ msum_c16 (gfc_array_c16 * const restrict retarray, } -extern void ssum_c16 (gfc_array_c16 * const restrict, +extern void ssum_c16 (gfc_array_c16 * const restrict, gfc_array_c16 * const restrict, const index_type * const restrict, GFC_LOGICAL_4 *); export_proto(ssum_c16); void -ssum_c16 (gfc_array_c16 * const restrict retarray, - gfc_array_c16 * const restrict array, - const index_type * const restrict pdim, +ssum_c16 (gfc_array_c16 * const restrict retarray, + gfc_array_c16 * const restrict array, + const index_type * const restrict pdim, GFC_LOGICAL_4 * mask) { index_type count[GFC_MAX_DIMENSIONS]; -- cgit v1.1