From: Thomas Koenig Date: Thu, 23 Nov 2017 17:52:05 +0000 (+0000) Subject: re PR fortran/36313 ([F03] {MIN,MAX}{LOC,VAL} should accept character arguments) X-Git-Tag: basepoints/gcc-9~3088 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=207180e159492bd884a37b071bc69a011072e403;p=thirdparty%2Fgcc.git re PR fortran/36313 ([F03] {MIN,MAX}{LOC,VAL} should accept character arguments) 2017-11-23 Thomas Koenig PR fortran/36313 * m4/maxloc2s.m4: Replace int for character length by gfc_charlen_type. * m4/minloc2s.m4: Likewise. * generated./maxloc2_16_s1.c: Regenerated. * generated./maxloc2_16_s4.c: Regenerated. * generated./maxloc2_4_s1.c: Regenerated. * generated./maxloc2_4_s4.c: Regenerated. * generated./maxloc2_8_s1.c: Regenerated. * generated./maxloc2_8_s4.c: Regenerated. * generated./minloc2_16_s1.c: Regenerated. * generated./minloc2_16_s4.c: Regenerated. * generated./minloc2_4_s1.c: Regenerated. * generated./minloc2_4_s4.c: Regenerated. * generated./minloc2_8_s1.c: Regenerated. * generated./minloc2_8_s4.c: Regenerated. From-SVN: r255109 --- diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index 7715cb3e8f22..b69ad715dbbe 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,3 +1,22 @@ +2017-11-23 Thomas Koenig + + PR fortran/36313 + * m4/maxloc2s.m4: Replace int for character length by + gfc_charlen_type. + * m4/minloc2s.m4: Likewise. + * generated./maxloc2_16_s1.c: Regenerated. + * generated./maxloc2_16_s4.c: Regenerated. + * generated./maxloc2_4_s1.c: Regenerated. + * generated./maxloc2_4_s4.c: Regenerated. + * generated./maxloc2_8_s1.c: Regenerated. + * generated./maxloc2_8_s4.c: Regenerated. + * generated./minloc2_16_s1.c: Regenerated. + * generated./minloc2_16_s4.c: Regenerated. + * generated./minloc2_4_s1.c: Regenerated. + * generated./minloc2_4_s4.c: Regenerated. + * generated./minloc2_8_s1.c: Regenerated. + * generated./minloc2_8_s4.c: Regenerated. + 2017-11-22 Janne Blomqvist * intrinsics/eoshift0.c (eoshift0): Make shift an index_type. diff --git a/libgfortran/generated/maxloc2_16_s1.c b/libgfortran/generated/maxloc2_16_s1.c index 7770101e0f75..6b7eeb82fb09 100644 --- a/libgfortran/generated/maxloc2_16_s1.c +++ b/libgfortran/generated/maxloc2_16_s1.c @@ -30,7 +30,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #if defined (HAVE_GFC_INTEGER_1) && defined (HAVE_GFC_INTEGER_16) static inline int -compare_fcn (const GFC_INTEGER_1 *a, const GFC_INTEGER_1 *b, int n) +compare_fcn (const GFC_INTEGER_1 *a, const GFC_INTEGER_1 *b, gfc_charlen_type n) { if (sizeof (GFC_INTEGER_1) == 1) return memcmp (a, b, n); @@ -38,7 +38,8 @@ compare_fcn (const GFC_INTEGER_1 *a, const GFC_INTEGER_1 *b, int n) return memcmp_char4 (a, b, n); } -extern GFC_INTEGER_16 maxloc2_16_s1 (gfc_array_s1 * const restrict, int); +extern GFC_INTEGER_16 maxloc2_16_s1 (gfc_array_s1 * const restrict, + gfc_charlen_type); export_proto(maxloc2_16_s1); GFC_INTEGER_16 diff --git a/libgfortran/generated/maxloc2_16_s4.c b/libgfortran/generated/maxloc2_16_s4.c index 327979000fc2..650abf9afeab 100644 --- a/libgfortran/generated/maxloc2_16_s4.c +++ b/libgfortran/generated/maxloc2_16_s4.c @@ -30,7 +30,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #if defined (HAVE_GFC_INTEGER_4) && defined (HAVE_GFC_INTEGER_16) static inline int -compare_fcn (const GFC_INTEGER_4 *a, const GFC_INTEGER_4 *b, int n) +compare_fcn (const GFC_INTEGER_4 *a, const GFC_INTEGER_4 *b, gfc_charlen_type n) { if (sizeof (GFC_INTEGER_4) == 1) return memcmp (a, b, n); @@ -38,7 +38,8 @@ compare_fcn (const GFC_INTEGER_4 *a, const GFC_INTEGER_4 *b, int n) return memcmp_char4 (a, b, n); } -extern GFC_INTEGER_16 maxloc2_16_s4 (gfc_array_s4 * const restrict, int); +extern GFC_INTEGER_16 maxloc2_16_s4 (gfc_array_s4 * const restrict, + gfc_charlen_type); export_proto(maxloc2_16_s4); GFC_INTEGER_16 diff --git a/libgfortran/generated/maxloc2_4_s1.c b/libgfortran/generated/maxloc2_4_s1.c index a969fcbac938..bcd89c504e1e 100644 --- a/libgfortran/generated/maxloc2_4_s1.c +++ b/libgfortran/generated/maxloc2_4_s1.c @@ -30,7 +30,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #if defined (HAVE_GFC_INTEGER_1) && defined (HAVE_GFC_INTEGER_4) static inline int -compare_fcn (const GFC_INTEGER_1 *a, const GFC_INTEGER_1 *b, int n) +compare_fcn (const GFC_INTEGER_1 *a, const GFC_INTEGER_1 *b, gfc_charlen_type n) { if (sizeof (GFC_INTEGER_1) == 1) return memcmp (a, b, n); @@ -38,7 +38,8 @@ compare_fcn (const GFC_INTEGER_1 *a, const GFC_INTEGER_1 *b, int n) return memcmp_char4 (a, b, n); } -extern GFC_INTEGER_4 maxloc2_4_s1 (gfc_array_s1 * const restrict, int); +extern GFC_INTEGER_4 maxloc2_4_s1 (gfc_array_s1 * const restrict, + gfc_charlen_type); export_proto(maxloc2_4_s1); GFC_INTEGER_4 diff --git a/libgfortran/generated/maxloc2_4_s4.c b/libgfortran/generated/maxloc2_4_s4.c index 3e9c089e2811..e4765c89fdc9 100644 --- a/libgfortran/generated/maxloc2_4_s4.c +++ b/libgfortran/generated/maxloc2_4_s4.c @@ -30,7 +30,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #if defined (HAVE_GFC_INTEGER_4) && defined (HAVE_GFC_INTEGER_4) static inline int -compare_fcn (const GFC_INTEGER_4 *a, const GFC_INTEGER_4 *b, int n) +compare_fcn (const GFC_INTEGER_4 *a, const GFC_INTEGER_4 *b, gfc_charlen_type n) { if (sizeof (GFC_INTEGER_4) == 1) return memcmp (a, b, n); @@ -38,7 +38,8 @@ compare_fcn (const GFC_INTEGER_4 *a, const GFC_INTEGER_4 *b, int n) return memcmp_char4 (a, b, n); } -extern GFC_INTEGER_4 maxloc2_4_s4 (gfc_array_s4 * const restrict, int); +extern GFC_INTEGER_4 maxloc2_4_s4 (gfc_array_s4 * const restrict, + gfc_charlen_type); export_proto(maxloc2_4_s4); GFC_INTEGER_4 diff --git a/libgfortran/generated/maxloc2_8_s1.c b/libgfortran/generated/maxloc2_8_s1.c index bb84ff40461d..7ee1f6a081f6 100644 --- a/libgfortran/generated/maxloc2_8_s1.c +++ b/libgfortran/generated/maxloc2_8_s1.c @@ -30,7 +30,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #if defined (HAVE_GFC_INTEGER_1) && defined (HAVE_GFC_INTEGER_8) static inline int -compare_fcn (const GFC_INTEGER_1 *a, const GFC_INTEGER_1 *b, int n) +compare_fcn (const GFC_INTEGER_1 *a, const GFC_INTEGER_1 *b, gfc_charlen_type n) { if (sizeof (GFC_INTEGER_1) == 1) return memcmp (a, b, n); @@ -38,7 +38,8 @@ compare_fcn (const GFC_INTEGER_1 *a, const GFC_INTEGER_1 *b, int n) return memcmp_char4 (a, b, n); } -extern GFC_INTEGER_8 maxloc2_8_s1 (gfc_array_s1 * const restrict, int); +extern GFC_INTEGER_8 maxloc2_8_s1 (gfc_array_s1 * const restrict, + gfc_charlen_type); export_proto(maxloc2_8_s1); GFC_INTEGER_8 diff --git a/libgfortran/generated/maxloc2_8_s4.c b/libgfortran/generated/maxloc2_8_s4.c index 1aa67ca391c6..61ad61c00adc 100644 --- a/libgfortran/generated/maxloc2_8_s4.c +++ b/libgfortran/generated/maxloc2_8_s4.c @@ -30,7 +30,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #if defined (HAVE_GFC_INTEGER_4) && defined (HAVE_GFC_INTEGER_8) static inline int -compare_fcn (const GFC_INTEGER_4 *a, const GFC_INTEGER_4 *b, int n) +compare_fcn (const GFC_INTEGER_4 *a, const GFC_INTEGER_4 *b, gfc_charlen_type n) { if (sizeof (GFC_INTEGER_4) == 1) return memcmp (a, b, n); @@ -38,7 +38,8 @@ compare_fcn (const GFC_INTEGER_4 *a, const GFC_INTEGER_4 *b, int n) return memcmp_char4 (a, b, n); } -extern GFC_INTEGER_8 maxloc2_8_s4 (gfc_array_s4 * const restrict, int); +extern GFC_INTEGER_8 maxloc2_8_s4 (gfc_array_s4 * const restrict, + gfc_charlen_type); export_proto(maxloc2_8_s4); GFC_INTEGER_8 diff --git a/libgfortran/generated/minloc2_16_s1.c b/libgfortran/generated/minloc2_16_s1.c index 3f9e907f84db..4c804e386d0a 100644 --- a/libgfortran/generated/minloc2_16_s1.c +++ b/libgfortran/generated/minloc2_16_s1.c @@ -30,7 +30,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #if defined (HAVE_GFC_INTEGER_1) && defined (HAVE_GFC_INTEGER_16) static inline int -compare_fcn (const GFC_INTEGER_1 *a, const GFC_INTEGER_1 *b, int n) +compare_fcn (const GFC_INTEGER_1 *a, const GFC_INTEGER_1 *b, gfc_charlen_type n) { if (sizeof (GFC_INTEGER_1) == 1) return memcmp (a, b, n); @@ -38,7 +38,7 @@ compare_fcn (const GFC_INTEGER_1 *a, const GFC_INTEGER_1 *b, int n) return memcmp_char4 (a, b, n); } -extern GFC_INTEGER_16 minloc2_16_s1 (gfc_array_s1 * const restrict, int); +extern GFC_INTEGER_16 minloc2_16_s1 (gfc_array_s1 * const restrict, gfc_charlen_type); export_proto(minloc2_16_s1); GFC_INTEGER_16 diff --git a/libgfortran/generated/minloc2_16_s4.c b/libgfortran/generated/minloc2_16_s4.c index 4857b08832c3..103db0601c20 100644 --- a/libgfortran/generated/minloc2_16_s4.c +++ b/libgfortran/generated/minloc2_16_s4.c @@ -30,7 +30,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #if defined (HAVE_GFC_INTEGER_4) && defined (HAVE_GFC_INTEGER_16) static inline int -compare_fcn (const GFC_INTEGER_4 *a, const GFC_INTEGER_4 *b, int n) +compare_fcn (const GFC_INTEGER_4 *a, const GFC_INTEGER_4 *b, gfc_charlen_type n) { if (sizeof (GFC_INTEGER_4) == 1) return memcmp (a, b, n); @@ -38,7 +38,7 @@ compare_fcn (const GFC_INTEGER_4 *a, const GFC_INTEGER_4 *b, int n) return memcmp_char4 (a, b, n); } -extern GFC_INTEGER_16 minloc2_16_s4 (gfc_array_s4 * const restrict, int); +extern GFC_INTEGER_16 minloc2_16_s4 (gfc_array_s4 * const restrict, gfc_charlen_type); export_proto(minloc2_16_s4); GFC_INTEGER_16 diff --git a/libgfortran/generated/minloc2_4_s1.c b/libgfortran/generated/minloc2_4_s1.c index 2fd526df0b86..fc2c1dd079ba 100644 --- a/libgfortran/generated/minloc2_4_s1.c +++ b/libgfortran/generated/minloc2_4_s1.c @@ -30,7 +30,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #if defined (HAVE_GFC_INTEGER_1) && defined (HAVE_GFC_INTEGER_4) static inline int -compare_fcn (const GFC_INTEGER_1 *a, const GFC_INTEGER_1 *b, int n) +compare_fcn (const GFC_INTEGER_1 *a, const GFC_INTEGER_1 *b, gfc_charlen_type n) { if (sizeof (GFC_INTEGER_1) == 1) return memcmp (a, b, n); @@ -38,7 +38,7 @@ compare_fcn (const GFC_INTEGER_1 *a, const GFC_INTEGER_1 *b, int n) return memcmp_char4 (a, b, n); } -extern GFC_INTEGER_4 minloc2_4_s1 (gfc_array_s1 * const restrict, int); +extern GFC_INTEGER_4 minloc2_4_s1 (gfc_array_s1 * const restrict, gfc_charlen_type); export_proto(minloc2_4_s1); GFC_INTEGER_4 diff --git a/libgfortran/generated/minloc2_4_s4.c b/libgfortran/generated/minloc2_4_s4.c index ad85d266fe2c..b7b8876b1ca2 100644 --- a/libgfortran/generated/minloc2_4_s4.c +++ b/libgfortran/generated/minloc2_4_s4.c @@ -30,7 +30,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #if defined (HAVE_GFC_INTEGER_4) && defined (HAVE_GFC_INTEGER_4) static inline int -compare_fcn (const GFC_INTEGER_4 *a, const GFC_INTEGER_4 *b, int n) +compare_fcn (const GFC_INTEGER_4 *a, const GFC_INTEGER_4 *b, gfc_charlen_type n) { if (sizeof (GFC_INTEGER_4) == 1) return memcmp (a, b, n); @@ -38,7 +38,7 @@ compare_fcn (const GFC_INTEGER_4 *a, const GFC_INTEGER_4 *b, int n) return memcmp_char4 (a, b, n); } -extern GFC_INTEGER_4 minloc2_4_s4 (gfc_array_s4 * const restrict, int); +extern GFC_INTEGER_4 minloc2_4_s4 (gfc_array_s4 * const restrict, gfc_charlen_type); export_proto(minloc2_4_s4); GFC_INTEGER_4 diff --git a/libgfortran/generated/minloc2_8_s1.c b/libgfortran/generated/minloc2_8_s1.c index 0b594d6c6c61..dfcbde0eed64 100644 --- a/libgfortran/generated/minloc2_8_s1.c +++ b/libgfortran/generated/minloc2_8_s1.c @@ -30,7 +30,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #if defined (HAVE_GFC_INTEGER_1) && defined (HAVE_GFC_INTEGER_8) static inline int -compare_fcn (const GFC_INTEGER_1 *a, const GFC_INTEGER_1 *b, int n) +compare_fcn (const GFC_INTEGER_1 *a, const GFC_INTEGER_1 *b, gfc_charlen_type n) { if (sizeof (GFC_INTEGER_1) == 1) return memcmp (a, b, n); @@ -38,7 +38,7 @@ compare_fcn (const GFC_INTEGER_1 *a, const GFC_INTEGER_1 *b, int n) return memcmp_char4 (a, b, n); } -extern GFC_INTEGER_8 minloc2_8_s1 (gfc_array_s1 * const restrict, int); +extern GFC_INTEGER_8 minloc2_8_s1 (gfc_array_s1 * const restrict, gfc_charlen_type); export_proto(minloc2_8_s1); GFC_INTEGER_8 diff --git a/libgfortran/generated/minloc2_8_s4.c b/libgfortran/generated/minloc2_8_s4.c index 71a55fcfba26..6a40731c5a8c 100644 --- a/libgfortran/generated/minloc2_8_s4.c +++ b/libgfortran/generated/minloc2_8_s4.c @@ -30,7 +30,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #if defined (HAVE_GFC_INTEGER_4) && defined (HAVE_GFC_INTEGER_8) static inline int -compare_fcn (const GFC_INTEGER_4 *a, const GFC_INTEGER_4 *b, int n) +compare_fcn (const GFC_INTEGER_4 *a, const GFC_INTEGER_4 *b, gfc_charlen_type n) { if (sizeof (GFC_INTEGER_4) == 1) return memcmp (a, b, n); @@ -38,7 +38,7 @@ compare_fcn (const GFC_INTEGER_4 *a, const GFC_INTEGER_4 *b, int n) return memcmp_char4 (a, b, n); } -extern GFC_INTEGER_8 minloc2_8_s4 (gfc_array_s4 * const restrict, int); +extern GFC_INTEGER_8 minloc2_8_s4 (gfc_array_s4 * const restrict, gfc_charlen_type); export_proto(minloc2_8_s4); GFC_INTEGER_8 diff --git a/libgfortran/m4/maxloc2s.m4 b/libgfortran/m4/maxloc2s.m4 index 9b2ed740acaf..8cfca6aab67d 100644 --- a/libgfortran/m4/maxloc2s.m4 +++ b/libgfortran/m4/maxloc2s.m4 @@ -31,7 +31,7 @@ include(iparm.m4)dnl `#if defined (HAVE_'atype_name`) && defined (HAVE_'rtype_name`) static inline int -compare_fcn (const 'atype_name` *a, const 'atype_name` *b, int n) +compare_fcn (const 'atype_name` *a, const 'atype_name` *b, gfc_charlen_type n) { if (sizeof ('atype_name`) == 1) return memcmp (a, b, n); @@ -39,7 +39,8 @@ compare_fcn (const 'atype_name` *a, const 'atype_name` *b, int n) return memcmp_char4 (a, b, n); } -extern 'rtype_name` 'name`'rtype_qual`_'atype_code` ('atype` * const restrict, int); +extern 'rtype_name` 'name`'rtype_qual`_'atype_code` ('atype` * const restrict, + gfc_charlen_type); export_proto('name`'rtype_qual`_'atype_code`); 'rtype_name` diff --git a/libgfortran/m4/minloc2s.m4 b/libgfortran/m4/minloc2s.m4 index 38073ce75d51..8e99ed3cb5c6 100644 --- a/libgfortran/m4/minloc2s.m4 +++ b/libgfortran/m4/minloc2s.m4 @@ -31,7 +31,7 @@ include(iparm.m4)dnl `#if defined (HAVE_'atype_name`) && defined (HAVE_'rtype_name`) static inline int -compare_fcn (const 'atype_name` *a, const 'atype_name` *b, int n) +compare_fcn (const 'atype_name` *a, const 'atype_name` *b, gfc_charlen_type n) { if (sizeof ('atype_name`) == 1) return memcmp (a, b, n); @@ -39,7 +39,7 @@ compare_fcn (const 'atype_name` *a, const 'atype_name` *b, int n) return memcmp_char4 (a, b, n); } -extern 'rtype_name` 'name`'rtype_qual`_'atype_code` ('atype` * const restrict, int); +extern 'rtype_name` 'name`'rtype_qual`_'atype_code` ('atype` * const restrict, gfc_charlen_type); export_proto('name`'rtype_qual`_'atype_code`); 'rtype_name`