[Bug fortran/77652] Invalid rank error in ASSOCIATED when rank is remapped

2022-08-18 Thread anlauf at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77652

anlauf at gcc dot gnu.org changed:

   What|Removed |Added

 Resolution|--- |INVALID
 Status|WAITING |RESOLVED

--- Comment #9 from anlauf at gcc dot gnu.org ---
As the inquiry to SC22WG5 resulted in a comment that different ranks should
not be allowed, I've reverted the commit as r13-2118:

commit ca170ed9f8a086ca7e1eec841882b6bed9ec1a3a
Author: Harald Anlauf 
Date:   Thu Aug 18 21:24:29 2022 +0200

Revert "Fortran: fix invalid rank error in ASSOCIATED when rank is remapped
[PR77652]"

This reverts commit 0110cfd5449bae3a772f45ea2e4c5dab5b7a8ccd.


See https://gcc.gnu.org/pipermail/fortran/2022-August/058049.html
for details.

Will close this PR therefore as invalid (at least for <= Fortran 2018).

[Bug fortran/77652] Invalid rank error in ASSOCIATED when rank is remapped

2022-07-31 Thread anlauf at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77652

--- Comment #8 from anlauf at gcc dot gnu.org ---
I have pushed a relaxed version of the checks as agreed upon on the ML.

As compilers seem to differ here (we are now closer to Crayftn and Nvidia),
and as suggested by Toon, Mikael plans to submit an interpretation request.

We might want to keep this PR open to track updates on the issue.

[Bug fortran/77652] Invalid rank error in ASSOCIATED when rank is remapped

2022-07-31 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77652

--- Comment #7 from CVS Commits  ---
The master branch has been updated by Harald Anlauf :

https://gcc.gnu.org/g:0110cfd5449bae3a772f45ea2e4c5dab5b7a8ccd

commit r13-1904-g0110cfd5449bae3a772f45ea2e4c5dab5b7a8ccd
Author: Harald Anlauf 
Date:   Wed Jul 27 21:34:22 2022 +0200

Fortran: fix invalid rank error in ASSOCIATED when rank is remapped
[PR77652]

gcc/fortran/ChangeLog:

PR fortran/77652
* check.cc (gfc_check_associated): Make the rank check of POINTER
vs. TARGET match the allowed forms of pointer assignment for the
selected Fortran standard.

gcc/testsuite/ChangeLog:

PR fortran/77652
* gfortran.dg/associated_target_9a.f90: New test.
* gfortran.dg/associated_target_9b.f90: New test.

[Bug fortran/77652] Invalid rank error in ASSOCIATED when rank is remapped

2022-07-25 Thread anlauf at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77652

anlauf at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|WAITING

--- Comment #6 from anlauf at gcc dot gnu.org ---
The following thread in the Intel compiler forum suggests that the code
in comment#0 is likely invalid:

https://community.intel.com/t5/Intel-Fortran-Compiler/Intel-rejects-ASSOCIATED-pointer-target-for-non-equal-ranks/m-p/1402799/highlight/true#M162159

Withdrawing the patch.

@Paul: shall we mark the PR as invalid?

[Bug fortran/77652] Invalid rank error in ASSOCIATED when rank is remapped

2022-07-21 Thread anlauf at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77652

anlauf at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
   Assignee|unassigned at gcc dot gnu.org  |anlauf at gcc dot 
gnu.org

--- Comment #5 from anlauf at gcc dot gnu.org ---
Submitted version: https://gcc.gnu.org/pipermail/fortran/2022-July/058012.html

[Bug fortran/77652] Invalid rank error in ASSOCIATED when rank is remapped

2022-07-20 Thread anlauf at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77652

anlauf at gcc dot gnu.org changed:

   What|Removed |Added

 CC||anlauf at gcc dot gnu.org
   Keywords||rejects-valid

--- Comment #4 from anlauf at gcc dot gnu.org ---
The following patch seems to work:

diff --git a/gcc/fortran/check.cc b/gcc/fortran/check.cc
index 91d87a1b2c1..6365c4ab809 100644
--- a/gcc/fortran/check.cc
+++ b/gcc/fortran/check.cc
@@ -1502,8 +1502,17 @@ gfc_check_associated (gfc_expr *pointer, gfc_expr
*target)
 t = false;
   /* F2018 C838 explicitly allows an assumed-rank variable as the first
  argument of intrinsic inquiry functions.  */
-  if (pointer->rank != -1 && !rank_check (target, 0, pointer->rank))
-t = false;
+  if (pointer->rank != -1 && target->rank != 1 && pointer->rank !=
target->rank)
+{
+  if (gfc_option.warn_std & GFC_STD_F2003)
+   {
+ if (!rank_check (target, 0, pointer->rank))
+   t = false;
+   }
+  else if (!gfc_notify_std (GFC_STD_F2008, "Rank remapping target is not "
+   "rank 1 at %L", >where))
+   t = false;
+}
   if (target->rank > 0 && target->ref)
 {
   for (i = 0; i < target->rank; i++)

Needs regtesting.

[Bug fortran/77652] Invalid rank error in ASSOCIATED when rank is remapped

2021-09-20 Thread sandra at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77652

sandra at gcc dot gnu.org changed:

   What|Removed |Added

 CC||sandra at gcc dot gnu.org

--- Comment #3 from sandra at gcc dot gnu.org ---
Still present on trunk.

[Bug fortran/77652] Invalid rank error in ASSOCIATED when rank is remapped

2018-07-01 Thread juergen.reuter at desy dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77652

Jürgen Reuter  changed:

   What|Removed |Added

 CC||juergen.reuter at desy dot de

--- Comment #2 from Jürgen Reuter  ---
This is still present in the current trunk.

[Bug fortran/77652] Invalid rank error in ASSOCIATED when rank is remapped

2016-09-19 Thread dominiq at lps dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77652

Dominique d'Humieres  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2016-09-19
 Ever confirmed|0   |1

--- Comment #1 from Dominique d'Humieres  ---
Confirmed from 4.8 up to trunk (7.0).