[pushed,3/3] testsuite: Enrich tests with variants failing on the branch.
Commit Message
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/maskl_1.f90: Enrich test with usages of MASKL with
a non-keyword KIND argument.
* gfortran.dg/maskr_1.f90: Same for MASKR.
* gfortran.dg/scan_3.f90: Same for SCAN.
* gfortran.dg/verify_3.f90: Same for VERIFY.
(cherry picked from commit 15630e6e9eb019477d1fc5c0966b43979e18ae18)
---
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 ++++-
4 files changed, 12 insertions(+), 4 deletions(-)
Comments
Hi Mikael,
> 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.
As a general principle, we should not add or amend test cases unless
it is wrong code that we need to remove
The reason is that changing a test case makes regression testing,
especially the automated version, harder - if a test starts failing,
is it due to a change in the test case or a change in the compiler
or library?
I don't think there is a need to revert this patch, but please
add separate test cases if you have new things to test in
the future.
Best regards
Thomas
@@ -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