From 15630e6e9eb019477d1fc5c0966b43979e18ae18 Mon Sep 17 00:00:00 2001
From: Mikael Morin <mikael@gcc.gnu.org>
Date: Sun, 16 Jan 2022 18:33:36 +0100
Subject: [PATCH] testsuite: Enrich tests with variants failing on the branch.
Backporting the fix for pr103789 on the 11 branch revealed a lack of test
coverage for the tests provided with that fix. Indeed, the tests use the KIND
argument of the respective intrinsics only with keyword arguments.
This adds variants with non-keyword arguments.
The tests enriched this way fail on the branch if the fix is cherry-picked
straightforwardly. The fix will have to be tweaked slightly there.
PR fortran/103789
PR fortran/87711
PR fortran/97896
gcc/testsuite/ChangeLog:
* gfortran.dg/index_5.f90: Enrich test with usages of INDEX with
a non-keyword KIND argument.
* gfortran.dg/len_trim.f90: Same for LEN_TRIM.
* gfortran.dg/maskl_1.f90: Same for MASKL.
* gfortran.dg/maskr_1.f90: Same for MASKR.
* gfortran.dg/scan_3.f90: Same for SCAN.
* gfortran.dg/verify_3.f90: Same for VERIFY.
---
gcc/testsuite/gfortran.dg/index_5.f90 | 2 ++
gcc/testsuite/gfortran.dg/len_trim.f90 | 6 ++++++
gcc/testsuite/gfortran.dg/maskl_1.f90 | 3 ++-
gcc/testsuite/gfortran.dg/maskr_1.f90 | 3 ++-
gcc/testsuite/gfortran.dg/scan_3.f90 | 5 ++++-
gcc/testsuite/gfortran.dg/verify_3.f90 | 5 ++++-
6 files changed, 20 insertions(+), 4 deletions(-)
@@ -19,5 +19,7 @@ program p
d = index ('xyxyz','yx', back=a, kind=8)
b = index ('xyxyz','yx', back=a, kind=8)
d = index ('xyxyz','yx', back=a, kind=4)
+ b = index ('xyxyz','yx', a, 4)
+ d = index ('xyxyz','yx', a, 8)
end
@@ -17,11 +17,17 @@ program main
kk = len_trim (a)
mm = len_trim (a, kind=4)
nn = len_trim (a, kind=8)
+ mm = len_trim (a, 4)
+ nn = len_trim (a, 8)
kk = len_trim ([b])
mm = len_trim ([b],kind=4)
nn = len_trim ([b],kind=8)
+ mm = len_trim ([b], 4)
+ nn = len_trim ([b], 8)
kk = len_trim (c)
mm = len_trim (c, kind=4)
nn = len_trim (c, kind=8)
+ mm = len_trim (c, 4)
+ nn = len_trim (c, 8)
if (any (l4 /= 2_4) .or. any (l8 /= 2_8)) stop 1
end program main
@@ -4,7 +4,8 @@
! Check the absence of ICE when generating calls to MASKL with a KIND argument.
program p
- integer :: z(2), y(2)
+ integer :: z(2), y(2), x(2)
y = [1, 13]
z = maskl(y, kind=4) + 1
+ x = maskl(y, 4) + 1
end program p
@@ -4,7 +4,8 @@
! Check the absence of ICE when generating calls to MASKR with a KIND argument.
program p
- integer :: z(2), y(2)
+ integer :: z(2), y(2), x(2)
y = [1, 13]
z = maskr(y, kind=4) + 1
+ x = maskr(y, 4) + 1
end program p
@@ -5,7 +5,10 @@
program p
character(len=10) :: y(2)
- integer :: z(2)
+ integer :: z(2), x(2), w(2), v(2)
y = ['abc', 'def']
z = scan(y, 'e', kind=4) + 1
+ x = scan(y, 'e', back=.false., kind=4) + 1
+ w = scan(y, 'e', .false., kind=4) + 1
+ v = scan(y, 'e', .false., 4) + 1
end program p
@@ -5,7 +5,10 @@
program p
character(len=10) :: y(2)
- integer :: z(2)
+ integer :: z(2), x(2), w(2), v(2)
y = ['abc', 'def']
z = verify(y, 'e', kind=4) + 1
+ x = verify(y, 'e', back=.false., kind=4) + 1
+ w = verify(y, 'e', .false., kind=4) + 1
+ x = verify(y, 'e', .false., 4) + 1
end program p
--
2.34.1