From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2153) id D48A93939813; Tue, 11 Jan 2022 22:50:54 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D48A93939813 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="utf-8" From: Jakub Jelinek To: gcc-cvs@gcc.gnu.org Subject: [gcc r12-6494] libgfortran: Small progress on the library side X-Act-Checkin: gcc X-Git-Author: Jakub Jelinek X-Git-Refname: refs/heads/master X-Git-Oldrev: 6f4977fc8eb1aecf7668cad626ead071fd64ff51 X-Git-Newrev: 23d11a0adc7dc735634d6a47b9efc13367b08155 Message-Id: <20220111225054.D48A93939813@sourceware.org> Date: Tue, 11 Jan 2022 22:50:54 +0000 (GMT) X-BeenThere: gcc-cvs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 11 Jan 2022 22:50:54 -0000 https://gcc.gnu.org/g:23d11a0adc7dc735634d6a47b9efc13367b08155 commit r12-6494-g23d11a0adc7dc735634d6a47b9efc13367b08155 Author: Jakub Jelinek Date: Fri Dec 31 16:58:32 2021 +0100 libgfortran: Small progress on the library side The following patch quiets ../../../libgfortran/generated/in_pack_r17.c:35:1: warning: no previous prototype for ‘internal_pack_r17’ [-Wmissing-prototypes] ../../../libgfortran/generated/in_pack_c17.c:35:1: warning: no previous prototype for ‘internal_pack_c17’ [-Wmissing-prototypes] ../../../libgfortran/generated/in_unpack_r17.c:33:1: warning: no previous prototype for ‘internal_unpack_r17’ [-Wmissing-prototypes] ../../../libgfortran/generated/in_unpack_c17.c:33:1: warning: no previous prototype for ‘internal_unpack_c17’ [-Wmissing-prototypes] ../../../libgfortran/generated/pack_r17.c:73:1: warning: no previous prototype for ‘pack_r17’ [-Wmissing-prototypes] ../../../libgfortran/generated/pack_c17.c:73:1: warning: no previous prototype for ‘pack_c17’ [-Wmissing-prototypes] ../../../libgfortran/generated/unpack_r17.c:34:1: warning: no previous prototype for ‘unpack0_r17’ [-Wmissing-prototypes] ../../../libgfortran/generated/unpack_r17.c:178:1: warning: no previous prototype for ‘unpack1_r17’ [-Wmissing-prototypes] ../../../libgfortran/generated/unpack_c17.c:34:1: warning: no previous prototype for ‘unpack0_c17’ [-Wmissing-prototypes] ../../../libgfortran/generated/unpack_c17.c:178:1: warning: no previous prototype for ‘unpack1_c17’ [-Wmissing-prototypes] ../../../libgfortran/generated/spread_r17.c:34:1: warning: no previous prototype for ‘spread_r17’ [-Wmissing-prototypes] ../../../libgfortran/generated/spread_r17.c:230:1: warning: no previous prototype for ‘spread_scalar_r17’ [-Wmissing-prototypes] ../../../libgfortran/generated/spread_c17.c:34:1: warning: no previous prototype for ‘spread_c17’ [-Wmissing-prototypes] ../../../libgfortran/generated/spread_c17.c:230:1: warning: no previous prototype for ‘spread_scalar_c17’ [-Wmissing-prototypes] ../../../libgfortran/generated/cshift0_r17.c:33:1: warning: no previous prototype for ‘cshift0_r17’ [-Wmissing-prototypes] ../../../libgfortran/generated/cshift0_c17.c:33:1: warning: no previous prototype for ‘cshift0_c17’ [-Wmissing-prototypes] ../../../libgfortran/generated/cshift1_4_r17.c:32:1: warning: no previous prototype for ‘cshift1_4_r17’ [-Wmissing-prototypes] ../../../libgfortran/generated/cshift1_4_c17.c:32:1: warning: no previous prototype for ‘cshift1_4_c17’ [-Wmissing-prototypes] ../../../libgfortran/generated/cshift1_8_r17.c:32:1: warning: no previous prototype for ‘cshift1_8_r17’ [-Wmissing-prototypes] ../../../libgfortran/generated/cshift1_8_c17.c:32:1: warning: no previous prototype for ‘cshift1_8_c17’ [-Wmissing-prototypes] ../../../libgfortran/generated/cshift1_16_r17.c:32:1: warning: no previous prototype for ‘cshift1_16_r17’ [-Wmissing-prototypes] ../../../libgfortran/generated/cshift1_16_c17.c:32:1: warning: no previous prototype for ‘cshift1_16_c17’ [-Wmissing-prototypes] warnings during libgfortran build and exports the new entrypoints. Note, not all of them, clearly e.g. there are fewer *_r17* entrypoints than *_r16* entrypoints, so more work is needed. 2021-12-31 Jakub Jelinek * libgfortran.h (internal_pack_r17, internal_pack_c17, internal_unpack_r17, internal_unpack_c17, pack_r17, pack_c17, unpack0_r17, unpack0_c17, unpack1_r17, unpack1_c17, spread_r17, spread_c17, spread_scalar_r17, spread_scalar_c17, cshift0_r17, cshift0_c17, cshift1_4_r17, cshift1_8_r17, cshift1_16_r17, cshift1_4_c17, cshift1_8_c17, cshift1_16_c17): Declare. * gfortran.map (GFORTRAN_12): Export *_r17 and *_c17. Diff: --- libgfortran/gfortran.map | 115 ++++++++++++++++++++++++++++++++++++ libgfortran/libgfortran.h | 146 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 261 insertions(+) diff --git a/libgfortran/gfortran.map b/libgfortran/gfortran.map index 32579831a65..8937b4a2903 100644 --- a/libgfortran/gfortran.map +++ b/libgfortran/gfortran.map @@ -1633,4 +1633,119 @@ GFORTRAN_10.2 { GFORTRAN_12 { global: _gfortran_caf_random_init; + _gfortran_arandom_r17; + _gfortran_bessel_jn_r17; + _gfortran_bessel_yn_r17; + _gfortran_cosd_r17; + _gfortran_erfc_scaled_r17; + _gfortran_findloc0_r17; + _gfortran_findloc1_r17; + _gfortran_matmul_r17; + _gfortran_maxloc0_16_r17; + _gfortran_maxloc0_4_r17; + _gfortran_maxloc0_8_r17; + _gfortran_maxloc1_16_r17; + _gfortran_maxloc1_4_r17; + _gfortran_maxloc1_8_r17; + _gfortran_maxval_r17; + _gfortran_mfindloc0_r17; + _gfortran_mfindloc1_r17; + _gfortran_minloc0_16_r17; + _gfortran_minloc0_4_r17; + _gfortran_minloc0_8_r17; + _gfortran_minloc1_16_r17; + _gfortran_minloc1_4_r17; + _gfortran_minloc1_8_r17; + _gfortran_minval_r17; + _gfortran_mmaxloc0_16_r17; + _gfortran_mmaxloc0_4_r17; + _gfortran_mmaxloc0_8_r17; + _gfortran_mmaxloc1_16_r17; + _gfortran_mmaxloc1_4_r17; + _gfortran_mmaxloc1_8_r17; + _gfortran_mmaxval_r17; + _gfortran_mminloc0_16_r17; + _gfortran_mminloc0_4_r17; + _gfortran_mminloc0_8_r17; + _gfortran_mminloc1_16_r17; + _gfortran_mminloc1_4_r17; + _gfortran_mminloc1_8_r17; + _gfortran_mminval_r17; + _gfortran_mproduct_r17; + _gfortran_msum_r17; + _gfortran_norm2_r17; + _gfortran_pow_r17_i16; + _gfortran_pow_r17_i4; + _gfortran_pow_r17_i8; + _gfortran_product_r17; + _gfortran_random_r17; + _gfortran_reshape_r17; + _gfortran_sfindloc0_r17; + _gfortran_sfindloc1_r17; + _gfortran_sind_r17; + _gfortran_smaxloc0_16_r17; + _gfortran_smaxloc0_4_r17; + _gfortran_smaxloc0_8_r17; + _gfortran_smaxloc1_16_r17; + _gfortran_smaxloc1_4_r17; + _gfortran_smaxloc1_8_r17; + _gfortran_smaxval_r17; + _gfortran_sminloc0_16_r17; + _gfortran_sminloc0_4_r17; + _gfortran_sminloc0_8_r17; + _gfortran_sminloc1_16_r17; + _gfortran_sminloc1_4_r17; + _gfortran_sminloc1_8_r17; + _gfortran_sminval_r17; + _gfortran_specific__abs_r17; + _gfortran_specific__acosh_r17; + _gfortran_specific__acos_r17; + _gfortran_specific__aint_r17; + _gfortran_specific__anint_r17; + _gfortran_specific__asinh_r17; + _gfortran_specific__asin_r17; + _gfortran_specific__atan2_r17; + _gfortran_specific__atanh_r17; + _gfortran_specific__atan_r17; + _gfortran_specific__cosh_r17; + _gfortran_specific__cos_r17; + _gfortran_specific__dim_r17; + _gfortran_specific__exp_r17; + _gfortran_specific__log10_r17; + _gfortran_specific__log_r17; + _gfortran_specific__mod_r17; + _gfortran_specific__sign_r17; + _gfortran_specific__sinh_r17; + _gfortran_specific__sin_r17; + _gfortran_specific__sqrt_r17; + _gfortran_specific__tanh_r17; + _gfortran_specific__tan_r17; + _gfortran_sproduct_r17; + _gfortran_ssum_r17; + _gfortran_sum_r17; + _gfortran_tand_r17; + _gfortran_findloc0_c17; + _gfortran_findloc1_c17; + _gfortran_matmul_c17; + _gfortran_mfindloc0_c17; + _gfortran_mfindloc1_c17; + _gfortran_mproduct_c17; + _gfortran_msum_c17; + _gfortran_pow_c17_i16; + _gfortran_pow_c17_i4; + _gfortran_pow_c17_i8; + _gfortran_product_c17; + _gfortran_reshape_c17; + _gfortran_sfindloc0_c17; + _gfortran_sfindloc1_c17; + _gfortran_specific__abs_c17; + _gfortran_specific__aimag_c17; + _gfortran_specific__cos_c17; + _gfortran_specific__exp_c17; + _gfortran_specific__log_c17; + _gfortran_specific__sin_c17; + _gfortran_specific__sqrt_c17; + _gfortran_sproduct_c17; + _gfortran_ssum_c17; + _gfortran_sum_c17; } GFORTRAN_10.2; diff --git a/libgfortran/libgfortran.h b/libgfortran/libgfortran.h index f0bd50a7176..e11a06e0c34 100644 --- a/libgfortran/libgfortran.h +++ b/libgfortran/libgfortran.h @@ -980,6 +980,11 @@ GFC_REAL_16 *internal_pack_r16 (gfc_array_r16 *); internal_proto(internal_pack_r16); #endif +#if defined HAVE_GFC_REAL_17 +GFC_REAL_17 *internal_pack_r17 (gfc_array_r17 *); +internal_proto(internal_pack_r17); +#endif + GFC_COMPLEX_4 *internal_pack_c4 (gfc_array_c4 *); internal_proto(internal_pack_c4); @@ -996,6 +1001,11 @@ GFC_COMPLEX_16 *internal_pack_c16 (gfc_array_c16 *); internal_proto(internal_pack_c16); #endif +#if defined HAVE_GFC_COMPLEX_17 +GFC_COMPLEX_17 *internal_pack_c17 (gfc_array_c17 *); +internal_proto(internal_pack_c17); +#endif + extern void internal_unpack_1 (gfc_array_i1 *, const GFC_INTEGER_1 *); internal_proto(internal_unpack_1); @@ -1029,6 +1039,11 @@ extern void internal_unpack_r16 (gfc_array_r16 *, const GFC_REAL_16 *); internal_proto(internal_unpack_r16); #endif +#if defined HAVE_GFC_REAL_17 +extern void internal_unpack_r17 (gfc_array_r17 *, const GFC_REAL_17 *); +internal_proto(internal_unpack_r17); +#endif + extern void internal_unpack_c4 (gfc_array_c4 *, const GFC_COMPLEX_4 *); internal_proto(internal_unpack_c4); @@ -1045,6 +1060,11 @@ extern void internal_unpack_c16 (gfc_array_c16 *, const GFC_COMPLEX_16 *); internal_proto(internal_unpack_c16); #endif +#if defined HAVE_GFC_COMPLEX_17 +extern void internal_unpack_c17 (gfc_array_c17 *, const GFC_COMPLEX_17 *); +internal_proto(internal_unpack_c17); +#endif + /* Internal auxiliary functions for the pack intrinsic. */ extern void pack_i1 (gfc_array_i1 *, const gfc_array_i1 *, @@ -1089,6 +1109,12 @@ extern void pack_r16 (gfc_array_r16 *, const gfc_array_r16 *, internal_proto(pack_r16); #endif +#ifdef HAVE_GFC_REAL_17 +extern void pack_r17 (gfc_array_r17 *, const gfc_array_r17 *, + const gfc_array_l1 *, const gfc_array_r17 *); +internal_proto(pack_r17); +#endif + extern void pack_c4 (gfc_array_c4 *, const gfc_array_c4 *, const gfc_array_l1 *, const gfc_array_c4 *); internal_proto(pack_c4); @@ -1109,6 +1135,12 @@ extern void pack_c16 (gfc_array_c16 *, const gfc_array_c16 *, internal_proto(pack_c16); #endif +#ifdef HAVE_GFC_REAL_17 +extern void pack_c17 (gfc_array_c17 *, const gfc_array_c17 *, + const gfc_array_l1 *, const gfc_array_c17 *); +internal_proto(pack_c17); +#endif + /* Internal auxiliary functions for the unpack intrinsic. */ extern void unpack0_i1 (gfc_array_i1 *, const gfc_array_i1 *, @@ -1159,6 +1191,14 @@ internal_proto(unpack0_r16); #endif +#ifdef HAVE_GFC_REAL_17 + +extern void unpack0_r17 (gfc_array_r17 *, const gfc_array_r17 *, + const gfc_array_l1 *, const GFC_REAL_17 *); +internal_proto(unpack0_r17); + +#endif + extern void unpack0_c4 (gfc_array_c4 *, const gfc_array_c4 *, const gfc_array_l1 *, const GFC_COMPLEX_4 *); internal_proto(unpack0_c4); @@ -1183,6 +1223,14 @@ internal_proto(unpack0_c16); #endif +#ifdef HAVE_GFC_COMPLEX_17 + +extern void unpack0_c17 (gfc_array_c17 *, const gfc_array_c17 *, + const gfc_array_l1 *, const GFC_COMPLEX_17 *); +internal_proto(unpack0_c17); + +#endif + extern void unpack1_i1 (gfc_array_i1 *, const gfc_array_i1 *, const gfc_array_l1 *, const gfc_array_i1 *); internal_proto(unpack1_i1); @@ -1225,6 +1273,12 @@ extern void unpack1_r16 (gfc_array_r16 *, const gfc_array_r16 *, internal_proto(unpack1_r16); #endif +#ifdef HAVE_GFC_REAL_17 +extern void unpack1_r17 (gfc_array_r17 *, const gfc_array_r17 *, + const gfc_array_l1 *, const gfc_array_r17 *); +internal_proto(unpack1_r17); +#endif + extern void unpack1_c4 (gfc_array_c4 *, const gfc_array_c4 *, const gfc_array_l1 *, const gfc_array_c4 *); internal_proto(unpack1_c4); @@ -1245,6 +1299,12 @@ extern void unpack1_c16 (gfc_array_c16 *, const gfc_array_c16 *, internal_proto(unpack1_c16); #endif +#ifdef HAVE_GFC_COMPLEX_17 +extern void unpack1_c17 (gfc_array_c17 *, const gfc_array_c17 *, + const gfc_array_l1 *, const gfc_array_c17 *); +internal_proto(unpack1_c17); +#endif + /* Helper functions for spread. */ extern void spread_i1 (gfc_array_i1 *, const gfc_array_i1 *, @@ -1292,6 +1352,13 @@ internal_proto(spread_r16); #endif +#ifdef HAVE_GFC_REAL_17 +extern void spread_r17 (gfc_array_r17 *, const gfc_array_r17 *, + const index_type, const index_type); +internal_proto(spread_r17); + +#endif + extern void spread_c4 (gfc_array_c4 *, const gfc_array_c4 *, const index_type, const index_type); internal_proto(spread_c4); @@ -1314,6 +1381,13 @@ internal_proto(spread_c16); #endif +#ifdef HAVE_GFC_COMPLEX_17 +extern void spread_c17 (gfc_array_c17 *, const gfc_array_c17 *, + const index_type, const index_type); +internal_proto(spread_c17); + +#endif + extern void spread_scalar_i1 (gfc_array_i1 *, const GFC_INTEGER_1 *, const index_type, const index_type); internal_proto(spread_scalar_i1); @@ -1359,6 +1433,13 @@ internal_proto(spread_scalar_r16); #endif +#ifdef HAVE_GFC_REAL_17 +extern void spread_scalar_r17 (gfc_array_r17 *, const GFC_REAL_17 *, + const index_type, const index_type); +internal_proto(spread_scalar_r17); + +#endif + extern void spread_scalar_c4 (gfc_array_c4 *, const GFC_COMPLEX_4 *, const index_type, const index_type); internal_proto(spread_scalar_c4); @@ -1381,6 +1462,13 @@ internal_proto(spread_scalar_c16); #endif +#ifdef HAVE_GFC_COMPLEX_17 +extern void spread_scalar_c17 (gfc_array_c17 *, const GFC_COMPLEX_17 *, + const index_type, const index_type); +internal_proto(spread_scalar_c17); + +#endif + /* string_intrinsics.c */ extern int compare_string (gfc_charlen_type, const char *, @@ -1472,6 +1560,11 @@ void cshift0_r16 (gfc_array_r16 *, const gfc_array_r16 *, ptrdiff_t, int); internal_proto(cshift0_r16); #endif +#ifdef HAVE_GFC_REAL_17 +void cshift0_r17 (gfc_array_r17 *, const gfc_array_r17 *, ptrdiff_t, int); +internal_proto(cshift0_r17); +#endif + void cshift0_c4 (gfc_array_c4 *, const gfc_array_c4 *, ptrdiff_t, int); internal_proto(cshift0_c4); @@ -1488,6 +1581,11 @@ void cshift0_c16 (gfc_array_c16 *, const gfc_array_c16 *, ptrdiff_t, int); internal_proto(cshift0_c16); #endif +#ifdef HAVE_GFC_COMPLEX_17 +void cshift0_c17 (gfc_array_c17 *, const gfc_array_c17 *, ptrdiff_t, int); +internal_proto(cshift0_c17); +#endif + #if defined (HAVE_GFC_INTEGER_4) && defined (HAVE_GFC_INTEGER_1) void cshift1_4_i1 (gfc_array_i1 * const restrict, const gfc_array_i1 * const restrict, @@ -1640,6 +1738,14 @@ void cshift1_4_r16 (gfc_array_r16 * const restrict, internal_proto(cshift1_4_r16); #endif +#if defined (HAVE_GFC_INTEGER_4) && defined (HAVE_GFC_REAL_17) +void cshift1_4_r17 (gfc_array_r17 * const restrict, + const gfc_array_r17 * const restrict, + const gfc_array_i4 * const restrict, + const GFC_INTEGER_4 * const restrict); +internal_proto(cshift1_4_r17); +#endif + #if defined (HAVE_GFC_INTEGER_8) && defined (HAVE_GFC_REAL_4) void cshift1_8_r4 (gfc_array_r4 * const restrict, const gfc_array_r4 * const restrict, @@ -1672,6 +1778,14 @@ void cshift1_8_r16 (gfc_array_r16 * const restrict, internal_proto(cshift1_8_r16); #endif +#if defined (HAVE_GFC_INTEGER_8) && defined (HAVE_GFC_REAL_17) +void cshift1_8_r17 (gfc_array_r17 * const restrict, + const gfc_array_r17 * const restrict, + const gfc_array_i8 * const restrict, + const GFC_INTEGER_8 * const restrict); +internal_proto(cshift1_8_r17); +#endif + #if defined (HAVE_GFC_INTEGER_16) && defined (HAVE_GFC_REAL_4) void cshift1_16_r4 (gfc_array_r4 * const restrict, const gfc_array_r4 * const restrict, @@ -1704,6 +1818,14 @@ void cshift1_16_r16 (gfc_array_r16 * const restrict, internal_proto(cshift1_16_r16); #endif +#if defined (HAVE_GFC_INTEGER_16) && defined (HAVE_GFC_REAL_17) +void cshift1_16_r17 (gfc_array_r17 * const restrict, + const gfc_array_r17 * const restrict, + const gfc_array_i16 * const restrict, + const GFC_INTEGER_16 * const restrict); +internal_proto(cshift1_16_r17); +#endif + #if defined (HAVE_GFC_INTEGER_4) && defined (HAVE_GFC_COMPLEX_4) void cshift1_4_c4 (gfc_array_c4 * const restrict, const gfc_array_c4 * const restrict, @@ -1736,6 +1858,14 @@ void cshift1_4_c16 (gfc_array_c16 * const restrict, internal_proto(cshift1_4_c16); #endif +#if defined (HAVE_GFC_INTEGER_4) && defined (HAVE_GFC_COMPLEX_17) +void cshift1_4_c17 (gfc_array_c17 * const restrict, + const gfc_array_c17 * const restrict, + const gfc_array_i4 * const restrict, + const GFC_INTEGER_4 * const restrict); +internal_proto(cshift1_4_c17); +#endif + #if defined (HAVE_GFC_INTEGER_8) && defined (HAVE_GFC_COMPLEX_4) void cshift1_8_c4 (gfc_array_c4 * const restrict, const gfc_array_c4 * const restrict, @@ -1768,6 +1898,14 @@ void cshift1_8_c16 (gfc_array_c16 * const restrict, internal_proto(cshift1_8_c16); #endif +#if defined (HAVE_GFC_INTEGER_8) && defined (HAVE_GFC_COMPLEX_17) +void cshift1_8_c17 (gfc_array_c17 * const restrict, + const gfc_array_c17 * const restrict, + const gfc_array_i8 * const restrict, + const GFC_INTEGER_8 * const restrict); +internal_proto(cshift1_8_c17); +#endif + #if defined (HAVE_GFC_INTEGER_16) && defined (HAVE_GFC_COMPLEX_4) void cshift1_16_c4 (gfc_array_c4 * const restrict, const gfc_array_c4 * const restrict, @@ -1800,6 +1938,14 @@ void cshift1_16_c16 (gfc_array_c16 * const restrict, internal_proto(cshift1_16_c16); #endif +#if defined (HAVE_GFC_INTEGER_16) && defined (HAVE_GFC_COMPLEX_17) +void cshift1_16_c17 (gfc_array_c17 * const restrict, + const gfc_array_c17 * const restrict, + const gfc_array_i16 * const restrict, + const GFC_INTEGER_16 * const restrict); +internal_proto(cshift1_16_c17); +#endif + /* Prototypes for the POWER __ieee128 functions. */ #ifdef POWER_IEEE128 extern __float128 __acoshieee128 (__float128) __attribute__ ((__nothrow__, __leaf__));