summaryrefslogtreecommitdiffstats
path: root/libgfortran
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2021-12-31 16:58:32 +0100
committerJakub Jelinek <jakub@redhat.com>2022-01-11 23:41:02 +0100
commit23d11a0adc7dc735634d6a47b9efc13367b08155 (patch)
tree1980e55f45ccbb50f835dd3a5f2d937aed4852bd /libgfortran
parentGenerate config.h macros for IEEE128 math functions. (diff)
downloadgcc-23d11a0adc7dc735634d6a47b9efc13367b08155.tar.gz
gcc-23d11a0adc7dc735634d6a47b9efc13367b08155.tar.bz2
gcc-23d11a0adc7dc735634d6a47b9efc13367b08155.tar.xz
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.
Diffstat (limited to 'libgfortran')
-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 {
1633GFORTRAN_12 { 1633GFORTRAN_12 {
1634 global: 1634 global:
1635 _gfortran_caf_random_init; 1635 _gfortran_caf_random_init;
1636 _gfortran_arandom_r17;
1637 _gfortran_bessel_jn_r17;
1638 _gfortran_bessel_yn_r17;
1639 _gfortran_cosd_r17;
1640 _gfortran_erfc_scaled_r17;
1641 _gfortran_findloc0_r17;
1642 _gfortran_findloc1_r17;
1643 _gfortran_matmul_r17;
1644 _gfortran_maxloc0_16_r17;
1645 _gfortran_maxloc0_4_r17;
1646 _gfortran_maxloc0_8_r17;
1647 _gfortran_maxloc1_16_r17;
1648 _gfortran_maxloc1_4_r17;
1649 _gfortran_maxloc1_8_r17;
1650 _gfortran_maxval_r17;
1651 _gfortran_mfindloc0_r17;
1652 _gfortran_mfindloc1_r17;
1653 _gfortran_minloc0_16_r17;
1654 _gfortran_minloc0_4_r17;
1655 _gfortran_minloc0_8_r17;
1656 _gfortran_minloc1_16_r17;
1657 _gfortran_minloc1_4_r17;
1658 _gfortran_minloc1_8_r17;
1659 _gfortran_minval_r17;
1660 _gfortran_mmaxloc0_16_r17;
1661 _gfortran_mmaxloc0_4_r17;
1662 _gfortran_mmaxloc0_8_r17;
1663 _gfortran_mmaxloc1_16_r17;
1664 _gfortran_mmaxloc1_4_r17;
1665 _gfortran_mmaxloc1_8_r17;
1666 _gfortran_mmaxval_r17;
1667 _gfortran_mminloc0_16_r17;
1668 _gfortran_mminloc0_4_r17;
1669 _gfortran_mminloc0_8_r17;
1670 _gfortran_mminloc1_16_r17;
1671 _gfortran_mminloc1_4_r17;
1672 _gfortran_mminloc1_8_r17;
1673 _gfortran_mminval_r17;
1674 _gfortran_mproduct_r17;
1675 _gfortran_msum_r17;
1676 _gfortran_norm2_r17;
1677 _gfortran_pow_r17_i16;
1678 _gfortran_pow_r17_i4;
1679 _gfortran_pow_r17_i8;
1680 _gfortran_product_r17;
1681 _gfortran_random_r17;
1682 _gfortran_reshape_r17;
1683 _gfortran_sfindloc0_r17;
1684 _gfortran_sfindloc1_r17;
1685 _gfortran_sind_r17;
1686 _gfortran_smaxloc0_16_r17;
1687 _gfortran_smaxloc0_4_r17;
1688 _gfortran_smaxloc0_8_r17;
1689 _gfortran_smaxloc1_16_r17;
1690 _gfortran_smaxloc1_4_r17;
1691 _gfortran_smaxloc1_8_r17;
1692 _gfortran_smaxval_r17;
1693 _gfortran_sminloc0_16_r17;
1694 _gfortran_sminloc0_4_r17;
1695 _gfortran_sminloc0_8_r17;
1696 _gfortran_sminloc1_16_r17;
1697 _gfortran_sminloc1_4_r17;
1698 _gfortran_sminloc1_8_r17;
1699 _gfortran_sminval_r17;
1700 _gfortran_specific__abs_r17;
1701 _gfortran_specific__acosh_r17;
1702 _gfortran_specific__acos_r17;
1703 _gfortran_specific__aint_r17;
1704 _gfortran_specific__anint_r17;
1705 _gfortran_specific__asinh_r17;
1706 _gfortran_specific__asin_r17;
1707 _gfortran_specific__atan2_r17;
1708 _gfortran_specific__atanh_r17;
1709 _gfortran_specific__atan_r17;
1710 _gfortran_specific__cosh_r17;
1711 _gfortran_specific__cos_r17;
1712 _gfortran_specific__dim_r17;
1713 _gfortran_specific__exp_r17;
1714 _gfortran_specific__log10_r17;
1715 _gfortran_specific__log_r17;
1716 _gfortran_specific__mod_r17;
1717 _gfortran_specific__sign_r17;
1718 _gfortran_specific__sinh_r17;
1719 _gfortran_specific__sin_r17;
1720 _gfortran_specific__sqrt_r17;
1721 _gfortran_specific__tanh_r17;
1722 _gfortran_specific__tan_r17;
1723 _gfortran_sproduct_r17;
1724 _gfortran_ssum_r17;
1725 _gfortran_sum_r17;
1726 _gfortran_tand_r17;
1727 _gfortran_findloc0_c17;
1728 _gfortran_findloc1_c17;
1729 _gfortran_matmul_c17;
1730 _gfortran_mfindloc0_c17;
1731 _gfortran_mfindloc1_c17;
1732 _gfortran_mproduct_c17;
1733 _gfortran_msum_c17;
1734 _gfortran_pow_c17_i16;
1735 _gfortran_pow_c17_i4;
1736 _gfortran_pow_c17_i8;
1737 _gfortran_product_c17;
1738 _gfortran_reshape_c17;
1739 _gfortran_sfindloc0_c17;
1740 _gfortran_sfindloc1_c17;
1741 _gfortran_specific__abs_c17;
1742 _gfortran_specific__aimag_c17;
1743 _gfortran_specific__cos_c17;
1744 _gfortran_specific__exp_c17;
1745 _gfortran_specific__log_c17;
1746 _gfortran_specific__sin_c17;
1747 _gfortran_specific__sqrt_c17;
1748 _gfortran_sproduct_c17;
1749 _gfortran_ssum_c17;
1750 _gfortran_sum_c17;
1636} GFORTRAN_10.2; 1751} 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 *);
980internal_proto(internal_pack_r16); 980internal_proto(internal_pack_r16);
981#endif 981#endif
982 982
983#if defined HAVE_GFC_REAL_17
984GFC_REAL_17 *internal_pack_r17 (gfc_array_r17 *);
985internal_proto(internal_pack_r17);
986#endif
987
983GFC_COMPLEX_4 *internal_pack_c4 (gfc_array_c4 *); 988GFC_COMPLEX_4 *internal_pack_c4 (gfc_array_c4 *);
984internal_proto(internal_pack_c4); 989internal_proto(internal_pack_c4);
985 990
@@ -996,6 +1001,11 @@ GFC_COMPLEX_16 *internal_pack_c16 (gfc_array_c16 *);
996internal_proto(internal_pack_c16); 1001internal_proto(internal_pack_c16);
997#endif 1002#endif
998 1003
1004#if defined HAVE_GFC_COMPLEX_17
1005GFC_COMPLEX_17 *internal_pack_c17 (gfc_array_c17 *);
1006internal_proto(internal_pack_c17);
1007#endif
1008
999extern void internal_unpack_1 (gfc_array_i1 *, const GFC_INTEGER_1 *); 1009extern void internal_unpack_1 (gfc_array_i1 *, const GFC_INTEGER_1 *);
1000internal_proto(internal_unpack_1); 1010internal_proto(internal_unpack_1);
1001 1011
@@ -1029,6 +1039,11 @@ extern void internal_unpack_r16 (gfc_array_r16 *, const GFC_REAL_16 *);
1029internal_proto(internal_unpack_r16); 1039internal_proto(internal_unpack_r16);
1030#endif 1040#endif
1031 1041
1042#if defined HAVE_GFC_REAL_17
1043extern void internal_unpack_r17 (gfc_array_r17 *, const GFC_REAL_17 *);
1044internal_proto(internal_unpack_r17);
1045#endif
1046
1032extern void internal_unpack_c4 (gfc_array_c4 *, const GFC_COMPLEX_4 *); 1047extern void internal_unpack_c4 (gfc_array_c4 *, const GFC_COMPLEX_4 *);
1033internal_proto(internal_unpack_c4); 1048internal_proto(internal_unpack_c4);
1034 1049
@@ -1045,6 +1060,11 @@ extern void internal_unpack_c16 (gfc_array_c16 *, const GFC_COMPLEX_16 *);
1045internal_proto(internal_unpack_c16); 1060internal_proto(internal_unpack_c16);
1046#endif 1061#endif
1047 1062
1063#if defined HAVE_GFC_COMPLEX_17
1064extern void internal_unpack_c17 (gfc_array_c17 *, const GFC_COMPLEX_17 *);
1065internal_proto(internal_unpack_c17);
1066#endif
1067
1048/* Internal auxiliary functions for the pack intrinsic. */ 1068/* Internal auxiliary functions for the pack intrinsic. */
1049 1069
1050extern void pack_i1 (gfc_array_i1 *, const gfc_array_i1 *, 1070extern 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 *,
1089internal_proto(pack_r16); 1109internal_proto(pack_r16);
1090#endif 1110#endif
1091 1111
1112#ifdef HAVE_GFC_REAL_17
1113extern void pack_r17 (gfc_array_r17 *, const gfc_array_r17 *,
1114 const gfc_array_l1 *, const gfc_array_r17 *);
1115internal_proto(pack_r17);
1116#endif
1117
1092extern void pack_c4 (gfc_array_c4 *, const gfc_array_c4 *, 1118extern void pack_c4 (gfc_array_c4 *, const gfc_array_c4 *,
1093 const gfc_array_l1 *, const gfc_array_c4 *); 1119 const gfc_array_l1 *, const gfc_array_c4 *);
1094internal_proto(pack_c4); 1120internal_proto(pack_c4);
@@ -1109,6 +1135,12 @@ extern void pack_c16 (gfc_array_c16 *, const gfc_array_c16 *,
1109internal_proto(pack_c16); 1135internal_proto(pack_c16);
1110#endif 1136#endif
1111 1137
1138#ifdef HAVE_GFC_REAL_17
1139extern void pack_c17 (gfc_array_c17 *, const gfc_array_c17 *,
1140 const gfc_array_l1 *, const gfc_array_c17 *);
1141internal_proto(pack_c17);
1142#endif
1143
1112/* Internal auxiliary functions for the unpack intrinsic. */ 1144/* Internal auxiliary functions for the unpack intrinsic. */
1113 1145
1114extern void unpack0_i1 (gfc_array_i1 *, const gfc_array_i1 *, 1146extern void unpack0_i1 (gfc_array_i1 *, const gfc_array_i1 *,
@@ -1159,6 +1191,14 @@ internal_proto(unpack0_r16);
1159 1191
1160#endif 1192#endif
1161 1193
1194#ifdef HAVE_GFC_REAL_17
1195
1196extern void unpack0_r17 (gfc_array_r17 *, const gfc_array_r17 *,
1197 const gfc_array_l1 *, const GFC_REAL_17 *);
1198internal_proto(unpack0_r17);
1199
1200#endif
1201
1162extern void unpack0_c4 (gfc_array_c4 *, const gfc_array_c4 *, 1202extern void unpack0_c4 (gfc_array_c4 *, const gfc_array_c4 *,
1163 const gfc_array_l1 *, const GFC_COMPLEX_4 *); 1203 const gfc_array_l1 *, const GFC_COMPLEX_4 *);
1164internal_proto(unpack0_c4); 1204internal_proto(unpack0_c4);
@@ -1183,6 +1223,14 @@ internal_proto(unpack0_c16);
1183 1223
1184#endif 1224#endif
1185 1225
1226#ifdef HAVE_GFC_COMPLEX_17
1227
1228extern void unpack0_c17 (gfc_array_c17 *, const gfc_array_c17 *,
1229 const gfc_array_l1 *, const GFC_COMPLEX_17 *);
1230internal_proto(unpack0_c17);
1231
1232#endif
1233
1186extern void unpack1_i1 (gfc_array_i1 *, const gfc_array_i1 *, 1234extern void unpack1_i1 (gfc_array_i1 *, const gfc_array_i1 *,
1187 const gfc_array_l1 *, const gfc_array_i1 *); 1235 const gfc_array_l1 *, const gfc_array_i1 *);
1188internal_proto(unpack1_i1); 1236internal_proto(unpack1_i1);
@@ -1225,6 +1273,12 @@ extern void unpack1_r16 (gfc_array_r16 *, const gfc_array_r16 *,
1225internal_proto(unpack1_r16); 1273internal_proto(unpack1_r16);
1226#endif 1274#endif
1227 1275
1276#ifdef HAVE_GFC_REAL_17
1277extern void unpack1_r17 (gfc_array_r17 *, const gfc_array_r17 *,
1278 const gfc_array_l1 *, const gfc_array_r17 *);
1279internal_proto(unpack1_r17);
1280#endif
1281
1228extern void unpack1_c4 (gfc_array_c4 *, const gfc_array_c4 *, 1282extern void unpack1_c4 (gfc_array_c4 *, const gfc_array_c4 *,
1229 const gfc_array_l1 *, const gfc_array_c4 *); 1283 const gfc_array_l1 *, const gfc_array_c4 *);
1230internal_proto(unpack1_c4); 1284internal_proto(unpack1_c4);
@@ -1245,6 +1299,12 @@ extern void unpack1_c16 (gfc_array_c16 *, const gfc_array_c16 *,
1245internal_proto(unpack1_c16); 1299internal_proto(unpack1_c16);
1246#endif 1300#endif
1247 1301
1302#ifdef HAVE_GFC_COMPLEX_17
1303extern void unpack1_c17 (gfc_array_c17 *, const gfc_array_c17 *,
1304 const gfc_array_l1 *, const gfc_array_c17 *);
1305internal_proto(unpack1_c17);
1306#endif
1307
1248/* Helper functions for spread. */ 1308/* Helper functions for spread. */
1249 1309
1250extern void spread_i1 (gfc_array_i1 *, const gfc_array_i1 *, 1310extern void spread_i1 (gfc_array_i1 *, const gfc_array_i1 *,
@@ -1292,6 +1352,13 @@ internal_proto(spread_r16);
1292 1352
1293#endif 1353#endif
1294 1354
1355#ifdef HAVE_GFC_REAL_17
1356extern void spread_r17 (gfc_array_r17 *, const gfc_array_r17 *,
1357 const index_type, const index_type);
1358internal_proto(spread_r17);
1359
1360#endif
1361
1295extern void spread_c4 (gfc_array_c4 *, const gfc_array_c4 *, 1362extern void spread_c4 (gfc_array_c4 *, const gfc_array_c4 *,
1296 const index_type, const index_type); 1363 const index_type, const index_type);
1297internal_proto(spread_c4); 1364internal_proto(spread_c4);
@@ -1314,6 +1381,13 @@ internal_proto(spread_c16);
1314 1381
1315#endif 1382#endif
1316 1383
1384#ifdef HAVE_GFC_COMPLEX_17
1385extern void spread_c17 (gfc_array_c17 *, const gfc_array_c17 *,
1386 const index_type, const index_type);
1387internal_proto(spread_c17);
1388
1389#endif
1390
1317extern void spread_scalar_i1 (gfc_array_i1 *, const GFC_INTEGER_1 *, 1391extern void spread_scalar_i1 (gfc_array_i1 *, const GFC_INTEGER_1 *,
1318 const index_type, const index_type); 1392 const index_type, const index_type);
1319internal_proto(spread_scalar_i1); 1393internal_proto(spread_scalar_i1);
@@ -1359,6 +1433,13 @@ internal_proto(spread_scalar_r16);
1359 1433
1360#endif 1434#endif
1361 1435
1436#ifdef HAVE_GFC_REAL_17
1437extern void spread_scalar_r17 (gfc_array_r17 *, const GFC_REAL_17 *,
1438 const index_type, const index_type);
1439internal_proto(spread_scalar_r17);
1440
1441#endif
1442
1362extern void spread_scalar_c4 (gfc_array_c4 *, const GFC_COMPLEX_4 *, 1443extern void spread_scalar_c4 (gfc_array_c4 *, const GFC_COMPLEX_4 *,
1363 const index_type, const index_type); 1444 const index_type, const index_type);
1364internal_proto(spread_scalar_c4); 1445internal_proto(spread_scalar_c4);
@@ -1381,6 +1462,13 @@ internal_proto(spread_scalar_c16);
1381 1462
1382#endif 1463#endif
1383 1464
1465#ifdef HAVE_GFC_COMPLEX_17
1466extern void spread_scalar_c17 (gfc_array_c17 *, const GFC_COMPLEX_17 *,
1467 const index_type, const index_type);
1468internal_proto(spread_scalar_c17);
1469
1470#endif
1471
1384/* string_intrinsics.c */ 1472/* string_intrinsics.c */
1385 1473
1386extern int compare_string (gfc_charlen_type, const char *, 1474extern 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);
1472internal_proto(cshift0_r16); 1560internal_proto(cshift0_r16);
1473#endif 1561#endif
1474 1562
1563#ifdef HAVE_GFC_REAL_17
1564void cshift0_r17 (gfc_array_r17 *, const gfc_array_r17 *, ptrdiff_t, int);
1565internal_proto(cshift0_r17);
1566#endif
1567
1475void cshift0_c4 (gfc_array_c4 *, const gfc_array_c4 *, ptrdiff_t, int); 1568void cshift0_c4 (gfc_array_c4 *, const gfc_array_c4 *, ptrdiff_t, int);
1476internal_proto(cshift0_c4); 1569internal_proto(cshift0_c4);
1477 1570
@@ -1488,6 +1581,11 @@ void cshift0_c16 (gfc_array_c16 *, const gfc_array_c16 *, ptrdiff_t, int);
1488internal_proto(cshift0_c16); 1581internal_proto(cshift0_c16);
1489#endif 1582#endif
1490 1583
1584#ifdef HAVE_GFC_COMPLEX_17
1585void cshift0_c17 (gfc_array_c17 *, const gfc_array_c17 *, ptrdiff_t, int);
1586internal_proto(cshift0_c17);
1587#endif
1588
1491#if defined (HAVE_GFC_INTEGER_4) && defined (HAVE_GFC_INTEGER_1) 1589#if defined (HAVE_GFC_INTEGER_4) && defined (HAVE_GFC_INTEGER_1)
1492void cshift1_4_i1 (gfc_array_i1 * const restrict, 1590void cshift1_4_i1 (gfc_array_i1 * const restrict,
1493 const gfc_array_i1 * const restrict, 1591 const gfc_array_i1 * const restrict,
@@ -1640,6 +1738,14 @@ void cshift1_4_r16 (gfc_array_r16 * const restrict,
1640internal_proto(cshift1_4_r16); 1738internal_proto(cshift1_4_r16);
1641#endif 1739#endif
1642 1740
1741#if defined (HAVE_GFC_INTEGER_4) && defined (HAVE_GFC_REAL_17)
1742void cshift1_4_r17 (gfc_array_r17 * const restrict,
1743 const gfc_array_r17 * const restrict,
1744 const gfc_array_i4 * const restrict,
1745 const GFC_INTEGER_4 * const restrict);
1746internal_proto(cshift1_4_r17);
1747#endif
1748
1643#if defined (HAVE_GFC_INTEGER_8) && defined (HAVE_GFC_REAL_4) 1749#if defined (HAVE_GFC_INTEGER_8) && defined (HAVE_GFC_REAL_4)
1644void cshift1_8_r4 (gfc_array_r4 * const restrict, 1750void cshift1_8_r4 (gfc_array_r4 * const restrict,
1645 const gfc_array_r4 * const restrict, 1751 const gfc_array_r4 * const restrict,
@@ -1672,6 +1778,14 @@ void cshift1_8_r16 (gfc_array_r16 * const restrict,
1672internal_proto(cshift1_8_r16); 1778internal_proto(cshift1_8_r16);
1673#endif 1779#endif
1674 1780
1781#if defined (HAVE_GFC_INTEGER_8) && defined (HAVE_GFC_REAL_17)
1782void cshift1_8_r17 (gfc_array_r17 * const restrict,
1783 const gfc_array_r17 * const restrict,
1784 const gfc_array_i8 * const restrict,
1785 const GFC_INTEGER_8 * const restrict);
1786internal_proto(cshift1_8_r17);
1787#endif
1788
1675#if defined (HAVE_GFC_INTEGER_16) && defined (HAVE_GFC_REAL_4) 1789#if defined (HAVE_GFC_INTEGER_16) && defined (HAVE_GFC_REAL_4)
1676void cshift1_16_r4 (gfc_array_r4 * const restrict, 1790void cshift1_16_r4 (gfc_array_r4 * const restrict,
1677 const gfc_array_r4 * const restrict, 1791 const gfc_array_r4 * const restrict,
@@ -1704,6 +1818,14 @@ void cshift1_16_r16 (gfc_array_r16 * const restrict,
1704internal_proto(cshift1_16_r16); 1818internal_proto(cshift1_16_r16);
1705#endif 1819#endif
1706 1820
1821#if defined (HAVE_GFC_INTEGER_16) && defined (HAVE_GFC_REAL_17)
1822void cshift1_16_r17 (gfc_array_r17 * const restrict,
1823 const gfc_array_r17 * const restrict,
1824 const gfc_array_i16 * const restrict,
1825 const GFC_INTEGER_16 * const restrict);
1826internal_proto(cshift1_16_r17);
1827#endif
1828
1707#if defined (HAVE_GFC_INTEGER_4) && defined (HAVE_GFC_COMPLEX_4) 1829#if defined (HAVE_GFC_INTEGER_4) && defined (HAVE_GFC_COMPLEX_4)
1708void cshift1_4_c4 (gfc_array_c4 * const restrict, 1830void cshift1_4_c4 (gfc_array_c4 * const restrict,
1709 const gfc_array_c4 * const restrict, 1831 const gfc_array_c4 * const restrict,
@@ -1736,6 +1858,14 @@ void cshift1_4_c16 (gfc_array_c16 * const restrict,
1736internal_proto(cshift1_4_c16); 1858internal_proto(cshift1_4_c16);
1737#endif 1859#endif
1738 1860
1861#if defined (HAVE_GFC_INTEGER_4) && defined (HAVE_GFC_COMPLEX_17)
1862void cshift1_4_c17 (gfc_array_c17 * const restrict,
1863 const gfc_array_c17 * const restrict,
1864 const gfc_array_i4 * const restrict,
1865 const GFC_INTEGER_4 * const restrict);
1866internal_proto(cshift1_4_c17);
1867#endif
1868
1739#if defined (HAVE_GFC_INTEGER_8) && defined (HAVE_GFC_COMPLEX_4) 1869#if defined (HAVE_GFC_INTEGER_8) && defined (HAVE_GFC_COMPLEX_4)
1740void cshift1_8_c4 (gfc_array_c4 * const restrict, 1870void cshift1_8_c4 (gfc_array_c4 * const restrict,
1741 const gfc_array_c4 * const restrict, 1871 const gfc_array_c4 * const restrict,
@@ -1768,6 +1898,14 @@ void cshift1_8_c16 (gfc_array_c16 * const restrict,
1768internal_proto(cshift1_8_c16); 1898internal_proto(cshift1_8_c16);
1769#endif 1899#endif
1770 1900
1901#if defined (HAVE_GFC_INTEGER_8) && defined (HAVE_GFC_COMPLEX_17)
1902void cshift1_8_c17 (gfc_array_c17 * const restrict,
1903 const gfc_array_c17 * const restrict,
1904 const gfc_array_i8 * const restrict,
1905 const GFC_INTEGER_8 * const restrict);
1906internal_proto(cshift1_8_c17);
1907#endif
1908
1771#if defined (HAVE_GFC_INTEGER_16) && defined (HAVE_GFC_COMPLEX_4) 1909#if defined (HAVE_GFC_INTEGER_16) && defined (HAVE_GFC_COMPLEX_4)
1772void cshift1_16_c4 (gfc_array_c4 * const restrict, 1910void cshift1_16_c4 (gfc_array_c4 * const restrict,
1773 const gfc_array_c4 * const restrict, 1911 const gfc_array_c4 * const restrict,
@@ -1800,6 +1938,14 @@ void cshift1_16_c16 (gfc_array_c16 * const restrict,
1800internal_proto(cshift1_16_c16); 1938internal_proto(cshift1_16_c16);
1801#endif 1939#endif
1802 1940
1941#if defined (HAVE_GFC_INTEGER_16) && defined (HAVE_GFC_COMPLEX_17)
1942void cshift1_16_c17 (gfc_array_c17 * const restrict,
1943 const gfc_array_c17 * const restrict,
1944 const gfc_array_i16 * const restrict,
1945 const GFC_INTEGER_16 * const restrict);
1946internal_proto(cshift1_16_c17);
1947#endif
1948
1803/* Prototypes for the POWER __ieee128 functions. */ 1949/* Prototypes for the POWER __ieee128 functions. */
1804#ifdef POWER_IEEE128 1950#ifdef POWER_IEEE128
1805extern __float128 __acoshieee128 (__float128) __attribute__ ((__nothrow__, __leaf__)); 1951extern __float128 __acoshieee128 (__float128) __attribute__ ((__nothrow__, __leaf__));