* [RFA PATCH] Bug 84094 - several correctness issues in gfortran.dg
@ 2018-02-04 13:01 Dominique d'Humières
2018-02-04 13:14 ` Paul Richard Thomas
0 siblings, 1 reply; 2+ messages in thread
From: Dominique d'Humières @ 2018-02-04 13:01 UTC (permalink / raw)
To: Paul Richard Thomas; +Cc: gfortran, gcc-patches
Is the following patch OK? For associate_23.f90 I have restricted should_work to two elements, an alternative would be to use ASSOCIATE(should_work=>char_var_dim(1:3)); any preference?
Note that none of these invalid codes are detected by gfortran, except intrinsic_actual_4.f90 which gives a confusing warning
i = len ("123")
1
Warning: Type specified for intrinsic function 'len' at (1) is ignored [-Wsurprising]
when compiled with -Wall.
Should I open PRs for these missing/confusing diagnostics?
TIA
Dominique
--- ../_clean/gcc/testsuite/gfortran.dg/matmul_3.f90 2009-11-25 18:17:41.000000000 +0100
+++ gcc/testsuite/gfortran.dg/matmul_3.f90 2018-02-04 13:25:39.000000000 +0100
@@ -22,7 +22,7 @@
iX2(1:n,1) = matmul( iB(2,1:n),iC(1:n,1:n) )
! Whereas, we should have 8, 8, 99
- if (any (iX1(1:n,1) .ne. (/8, 8, 99/))) call abort ()
+ if (any (iX1(1:n+1,1) .ne. (/8, 8, 99/))) call abort ()
if (any (iX1 .ne. iX2)) call abort ()
! Make sure that the fix does not break transpose temporaries.
--- ../_clean/gcc/testsuite/gfortran.dg/associate_23.f90 2016-11-04 20:34:00.000000000 +0100
+++ gcc/testsuite/gfortran.dg/associate_23.f90 2018-02-04 13:28:18.000000000 +0100
@@ -27,7 +27,8 @@ program test_this
! Found to be failing during debugging
ASSOCIATE(should_work=>char_var_dim(1:2))
- should_work = ["test SUCCESFUL", "test_SUCCESFUL", "test.SUCCESFUL"]
+! should_work = ["test SUCCESFUL", "test_SUCCESFUL", "test.SUCCESFUL"]
+ should_work = ["test SUCCESFUL", "test_SUCCESFUL"]
write (buffer, *) should_work(:)(5:14)
END ASSOCIATE
--- ../_clean/gcc/testsuite/gfortran.dg/transfer_array_intrinsic_2.f90 2009-11-25 18:17:42.000000000 +0100
+++ gcc/testsuite/gfortran.dg/transfer_array_intrinsic_2.f90 2018-02-04 13:40:17.000000000 +0100
@@ -88,7 +88,7 @@ contains
ch(1:2) = transfer (y, ch, 2)
if (any (ch(1:2) .ne. (/"ABCD","EFGH"/))) call abort ()
- z = transfer (ch, y)
+ z = transfer (ch, y, 2)
if (any (y(1:2) .ne. z)) call abort ()
end subroutine test2
--- ../_clean/gcc/testsuite/gfortran.dg/intrinsic_actual_4.f90 2009-11-25 18:17:49.000000000 +0100
+++ gcc/testsuite/gfortran.dg/intrinsic_actual_4.f90 2018-02-04 13:48:05.000000000 +0100
@@ -13,6 +13,7 @@
implicit none
integer i
+ intrinsic len
i = len ("123")
call sub (len, "abcdef")
end
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [RFA PATCH] Bug 84094 - several correctness issues in gfortran.dg
2018-02-04 13:01 [RFA PATCH] Bug 84094 - several correctness issues in gfortran.dg Dominique d'Humières
@ 2018-02-04 13:14 ` Paul Richard Thomas
0 siblings, 0 replies; 2+ messages in thread
From: Paul Richard Thomas @ 2018-02-04 13:14 UTC (permalink / raw)
To: Dominique d'Humières; +Cc: gfortran, gcc-patches
Hi Dominique,
The patch is OK.
By all means open the PR for the missing/confusing diagnostics.
Thanks
Paul
On 4 February 2018 at 13:01, Dominique d'Humières <dominiq@lps.ens.fr> wrote:
> Is the following patch OK? For associate_23.f90 I have restricted should_work to two elements, an alternative would be to use ASSOCIATE(should_work=>char_var_dim(1:3)); any preference?
>
> Note that none of these invalid codes are detected by gfortran, except intrinsic_actual_4.f90 which gives a confusing warning
>
> i = len ("123")
> 1
> Warning: Type specified for intrinsic function 'len' at (1) is ignored [-Wsurprising]
>
> when compiled with -Wall.
>
> Should I open PRs for these missing/confusing diagnostics?
>
> TIA
>
> Dominique
>
> --- ../_clean/gcc/testsuite/gfortran.dg/matmul_3.f90 2009-11-25 18:17:41.000000000 +0100
> +++ gcc/testsuite/gfortran.dg/matmul_3.f90 2018-02-04 13:25:39.000000000 +0100
> @@ -22,7 +22,7 @@
> iX2(1:n,1) = matmul( iB(2,1:n),iC(1:n,1:n) )
>
> ! Whereas, we should have 8, 8, 99
> - if (any (iX1(1:n,1) .ne. (/8, 8, 99/))) call abort ()
> + if (any (iX1(1:n+1,1) .ne. (/8, 8, 99/))) call abort ()
> if (any (iX1 .ne. iX2)) call abort ()
>
> ! Make sure that the fix does not break transpose temporaries.
> --- ../_clean/gcc/testsuite/gfortran.dg/associate_23.f90 2016-11-04 20:34:00.000000000 +0100
> +++ gcc/testsuite/gfortran.dg/associate_23.f90 2018-02-04 13:28:18.000000000 +0100
> @@ -27,7 +27,8 @@ program test_this
>
> ! Found to be failing during debugging
> ASSOCIATE(should_work=>char_var_dim(1:2))
> - should_work = ["test SUCCESFUL", "test_SUCCESFUL", "test.SUCCESFUL"]
> +! should_work = ["test SUCCESFUL", "test_SUCCESFUL", "test.SUCCESFUL"]
> + should_work = ["test SUCCESFUL", "test_SUCCESFUL"]
> write (buffer, *) should_work(:)(5:14)
> END ASSOCIATE
>
> --- ../_clean/gcc/testsuite/gfortran.dg/transfer_array_intrinsic_2.f90 2009-11-25 18:17:42.000000000 +0100
> +++ gcc/testsuite/gfortran.dg/transfer_array_intrinsic_2.f90 2018-02-04 13:40:17.000000000 +0100
> @@ -88,7 +88,7 @@ contains
> ch(1:2) = transfer (y, ch, 2)
> if (any (ch(1:2) .ne. (/"ABCD","EFGH"/))) call abort ()
>
> - z = transfer (ch, y)
> + z = transfer (ch, y, 2)
> if (any (y(1:2) .ne. z)) call abort ()
>
> end subroutine test2
> --- ../_clean/gcc/testsuite/gfortran.dg/intrinsic_actual_4.f90 2009-11-25 18:17:49.000000000 +0100
> +++ gcc/testsuite/gfortran.dg/intrinsic_actual_4.f90 2018-02-04 13:48:05.000000000 +0100
> @@ -13,6 +13,7 @@
>
> implicit none
> integer i
> + intrinsic len
> i = len ("123")
> call sub (len, "abcdef")
> end
>
--
"If you can't explain it simply, you don't understand it well enough"
- Albert Einstein
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2018-02-04 13:14 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-02-04 13:01 [RFA PATCH] Bug 84094 - several correctness issues in gfortran.dg Dominique d'Humières
2018-02-04 13:14 ` Paul Richard Thomas
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).