summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2021-12-31 16:58:32 +0100
committerJakub Jelinek <jakub@redhat.com>2021-12-31 16:58:32 +0100
commitb99cc1744a7bb5411ec1ab3200add33f35c85106 (patch)
treea3ac1534b57b6f40edf02fc10b60d3913cdc844e
parent7615d199339496f999d92e5f37e5d119f097c616 (diff)
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 <jakub@redhat.com> * 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.
-rw-r--r--libgfortran/gfortran.map115
-rw-r--r--libgfortran/libgfortran.h146
2 files changed, 261 insertions, 0 deletions
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 61ebf2fdd60..1264292247c 100644
--- a/libgfortran/libgfortran.h
+++ b/libgfortran/libgfortran.h
@@ -968,6 +968,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);
@@ -984,6 +989,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);
@@ -1017,6 +1027,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);
@@ -1033,6 +1048,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 *,
@@ -1077,6 +1097,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);
@@ -1097,6 +1123,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 *,
@@ -1147,6 +1179,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);
@@ -1171,6 +1211,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);
@@ -1213,6 +1261,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);
@@ -1233,6 +1287,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 *,
@@ -1280,6 +1340,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);
@@ -1302,6 +1369,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);
@@ -1347,6 +1421,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);
@@ -1369,6 +1450,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 *,
@@ -1460,6 +1548,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);
@@ -1476,6 +1569,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,
@@ -1628,6 +1726,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,
@@ -1660,6 +1766,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,
@@ -1692,6 +1806,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,
@@ -1724,6 +1846,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,
@@ -1756,6 +1886,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,
@@ -1788,6 +1926,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__));