re PR fortran/36313 ([F03] {MIN,MAX}{LOC,VAL} should accept character arguments)
authorThomas Koenig <tkoenig@gcc.gnu.org>
Thu, 23 Nov 2017 17:52:05 +0000 (17:52 +0000)
committerThomas Koenig <tkoenig@gcc.gnu.org>
Thu, 23 Nov 2017 17:52:05 +0000 (17:52 +0000)
2017-11-23  Thomas Koenig  <tkoenig@gcc.gnu.org>

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

15 files changed:
libgfortran/ChangeLog
libgfortran/generated/maxloc2_16_s1.c
libgfortran/generated/maxloc2_16_s4.c
libgfortran/generated/maxloc2_4_s1.c
libgfortran/generated/maxloc2_4_s4.c
libgfortran/generated/maxloc2_8_s1.c
libgfortran/generated/maxloc2_8_s4.c
libgfortran/generated/minloc2_16_s1.c
libgfortran/generated/minloc2_16_s4.c
libgfortran/generated/minloc2_4_s1.c
libgfortran/generated/minloc2_4_s4.c
libgfortran/generated/minloc2_8_s1.c
libgfortran/generated/minloc2_8_s4.c
libgfortran/m4/maxloc2s.m4
libgfortran/m4/minloc2s.m4

index 7715cb3..b69ad71 100644 (file)
@@ -1,3 +1,22 @@
+2017-11-23  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       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  <jb@gcc.gnu.org>
 
        * intrinsics/eoshift0.c (eoshift0): Make shift an index_type.
index 7770101..6b7eeb8 100644 (file)
@@ -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
index 3279790..650abf9 100644 (file)
@@ -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
index a969fcb..bcd89c5 100644 (file)
@@ -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
index 3e9c089..e4765c8 100644 (file)
@@ -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
index bb84ff4..7ee1f6a 100644 (file)
@@ -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
index 1aa67ca..61ad61c 100644 (file)
@@ -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
index 3f9e907..4c804e3 100644 (file)
@@ -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
index 4857b08..103db06 100644 (file)
@@ -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
index 2fd526d..fc2c1dd 100644 (file)
@@ -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
index ad85d26..b7b8876 100644 (file)
@@ -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
index 0b594d6..dfcbde0 100644 (file)
@@ -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
index 71a55fc..6a40731 100644 (file)
@@ -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
index 9b2ed74..8cfca6a 100644 (file)
@@ -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`
index 38073ce..8e99ed3 100644 (file)
@@ -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`