]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
testsuite: Enrich tests with variants failing on the branch.
authorMikael Morin <mikael@gcc.gnu.org>
Sun, 16 Jan 2022 17:33:36 +0000 (18:33 +0100)
committerMikael Morin <mikael@gcc.gnu.org>
Sun, 16 Jan 2022 18:13:01 +0000 (19:13 +0100)
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
gcc/testsuite/gfortran.dg/len_trim.f90
gcc/testsuite/gfortran.dg/maskl_1.f90
gcc/testsuite/gfortran.dg/maskr_1.f90
gcc/testsuite/gfortran.dg/scan_3.f90
gcc/testsuite/gfortran.dg/verify_3.f90

index e039455d1753c020942f420f365fcd55b78e096c..4dc2ce4c0a1af8f4115084d435119fa9c15503b1 100644 (file)
@@ -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
 
index 2252b81f08467272f62de482204af2709583857c..77e3d30c669649a2e950d6c9f63cb7705f8c1167 100644 (file)
@@ -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
index 9e25c2c9cdca233162b54c1547311c7df2353802..56350e269da48d0c8796b05d84b8d68186a117df 100644 (file)
@@ -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
index ebfd3dbba330192c670ed0df7c7d410331d07069..f8ccdd11ab3d58e9482a1d22feaac352549c3aa4 100644 (file)
@@ -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
index 80262ae2167e189a8fc559f6cf97b3c353dc2760..2a9ed080957c7b507aad73bafc816ca8cf493b63 100644 (file)
@@ -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
index f01e24e199e7df5322f6dbe33ca9b17a958bfdff..c8b26b7061462c924b5f5a89c03563337bcccd9a 100644 (file)
@@ -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