[Bug fortran/81773] [Coarray] Get with vector index on lhs leads to incorrect caf_get_by_ref() call.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81773 --- Comment #10 from vehre at gcc dot gnu.org --- Author: vehre Revision: 259978 Modified property: svn:log Modified: svn:log at Sun May 6 12:20:52 2018 -- --- svn:log (original) +++ svn:log Sun May 6 12:20:52 2018 @@ -1,25 +1,21 @@ gcc/fortran/ChangeLog: -2018-04-28 Andre Vehreschild+2018-05-06 Andre Vehreschild - PR fortran/81773 - PR fortran/83606 - Backport from trunk - * dependency.c (gfc_dep_resolver): Coarray indexes are to be ignored - during dependency computation. They define no data dependency. - * trans-array.c (conv_array_index_offset): The stride can not be set - here, prevent fail. - * trans-intrinsic.c (conv_caf_send): Add creation of temporary array - for caf_get's result and copying to the array with vectorial - indexing. +PR fortran/85507 +Backport from trunk. +* dependency.c (gfc_dep_resolver): Revert looking at coarray dimension +introduced by r259385. +* trans-intrinsic.c (conv_caf_send): Always report a dependency for +same variables in coarray assignments. gcc/testsuite/ChangeLog: -2018-04-28 Andre Vehreschild +2018-05-06 Andre Vehreschild - PR fortran/81773 - PR fortran/83606 - Backport from trunk - * gfortran.dg/coarray/get_to_indexed_array_1.f90: New test. - * gfortran.dg/coarray/get_to_indirect_array.f90: New test. +PR fortran/85507 +Backport from trunk. +* gfortran.dg/coarray_dependency_1.f90: New test. +* gfortran.dg/coarray_lib_comm_1.f90: Fix counting caf-expressions. +
[Bug fortran/81773] [Coarray] Get with vector index on lhs leads to incorrect caf_get_by_ref() call.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81773 --- Comment #9 from vehre at gcc dot gnu.org --- Author: vehre Date: Sun May 6 12:14:11 2018 New Revision: 259978 URL: https://gcc.gnu.org/viewcvs?rev=259978=gcc=rev Log: gcc/fortran/ChangeLog: 2018-04-28 Andre VehreschildPR fortran/81773 PR fortran/83606 Backport from trunk * dependency.c (gfc_dep_resolver): Coarray indexes are to be ignored during dependency computation. They define no data dependency. * trans-array.c (conv_array_index_offset): The stride can not be set here, prevent fail. * trans-intrinsic.c (conv_caf_send): Add creation of temporary array for caf_get's result and copying to the array with vectorial indexing. gcc/testsuite/ChangeLog: 2018-04-28 Andre Vehreschild PR fortran/81773 PR fortran/83606 Backport from trunk * gfortran.dg/coarray/get_to_indexed_array_1.f90: New test. * gfortran.dg/coarray/get_to_indirect_array.f90: New test. Added: branches/gcc-6-branch/gcc/testsuite/gfortran.dg/coarray_dependency_1.f90 Modified: branches/gcc-6-branch/gcc/fortran/ChangeLog branches/gcc-6-branch/gcc/fortran/dependency.c branches/gcc-6-branch/gcc/fortran/trans-intrinsic.c branches/gcc-6-branch/gcc/testsuite/ChangeLog branches/gcc-6-branch/gcc/testsuite/gfortran.dg/coarray_lib_comm_1.f90
[Bug fortran/81773] [Coarray] Get with vector index on lhs leads to incorrect caf_get_by_ref() call.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81773 --- Comment #7 from vehre at gcc dot gnu.org --- Author: vehre Date: Sat Apr 28 14:54:09 2018 New Revision: 259741 URL: https://gcc.gnu.org/viewcvs?rev=259741=gcc=rev Log: gcc/fortran/ChangeLog: 2018-04-28 Andre VehreschildPR fortran/81773 PR fortran/83606 Backport from trunk * dependency.c (gfc_dep_resolver): Coarray indexes are to be ignored during dependency computation. They define no data dependency. * trans-array.c (conv_array_index_offset): The stride can not be set here, prevent fail. * trans-intrinsic.c (conv_caf_send): Add creation of temporary array for caf_get's result and copying to the array with vectorial indexing. gcc/testsuite/ChangeLog: 2018-04-28 Andre Vehreschild PR fortran/81773 PR fortran/83606 Backport from trunk * gfortran.dg/coarray/get_to_indexed_array_1.f90: New test. * gfortran.dg/coarray/get_to_indirect_array.f90: New test. Added: branches/gcc-6-branch/gcc/testsuite/gfortran.dg/coarray/get_to_indexed_array_1.f90 branches/gcc-6-branch/gcc/testsuite/gfortran.dg/coarray/get_to_indirect_array.f90 Modified: branches/gcc-6-branch/gcc/fortran/ChangeLog branches/gcc-6-branch/gcc/fortran/dependency.c branches/gcc-6-branch/gcc/fortran/trans-array.c branches/gcc-6-branch/gcc/fortran/trans-intrinsic.c branches/gcc-6-branch/gcc/testsuite/ChangeLog
[Bug fortran/81773] [Coarray] Get with vector index on lhs leads to incorrect caf_get_by_ref() call.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81773 --- Comment #8 from vehre at gcc dot gnu.org --- Author: vehre Date: Sat Apr 28 14:54:20 2018 New Revision: 259742 URL: https://gcc.gnu.org/viewcvs?rev=259742=gcc=rev Log: gcc/fortran/ChangeLog: 2018-04-28 Andre VehreschildPR fortran/81773 PR fortran/83606 Backport from trunk * dependency.c (gfc_dep_resolver): Coarray indexes are to be ignored during dependency computation. They define no data dependency. * trans-array.c (conv_array_index_offset): The stride can not be set here, prevent fail. * trans-intrinsic.c (conv_caf_send): Add creation of temporary array for caf_get's result and copying to the array with vectorial indexing. gcc/testsuite/ChangeLog: 2018-04-28 Andre Vehreschild PR fortran/81773 PR fortran/83606 Backport from trunk * gfortran.dg/coarray/get_to_indexed_array_1.f90: New test. * gfortran.dg/coarray/get_to_indirect_array.f90: New test. Added: branches/gcc-7-branch/gcc/testsuite/gfortran.dg/coarray/get_to_indexed_array_1.f90 branches/gcc-7-branch/gcc/testsuite/gfortran.dg/coarray/get_to_indirect_array.f90 Modified: branches/gcc-7-branch/gcc/fortran/ChangeLog branches/gcc-7-branch/gcc/fortran/dependency.c branches/gcc-7-branch/gcc/fortran/trans-array.c branches/gcc-7-branch/gcc/fortran/trans-intrinsic.c branches/gcc-7-branch/gcc/testsuite/ChangeLog
[Bug fortran/81773] [Coarray] Get with vector index on lhs leads to incorrect caf_get_by_ref() call.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81773 vehre at gcc dot gnu.org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED --- Comment #6 from vehre at gcc dot gnu.org --- Fixed by r259385.
[Bug fortran/81773] [Coarray] Get with vector index on lhs leads to incorrect caf_get_by_ref() call.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81773 --- Comment #5 from vehre at gcc dot gnu.org --- Author: vehre Date: Sat Apr 14 14:45:59 2018 New Revision: 259385 URL: https://gcc.gnu.org/viewcvs?rev=259385=gcc=rev Log: gcc/fortran/ChangeLog: 2018-04-14 Andre VehreschildPR fortran/81773 PR fortran/83606 * dependency.c (gfc_dep_resolver): Coarray indexes are to be ignored during dependency computation. They define no data dependency. * trans-array.c (conv_array_index_offset): The stride can not be set here, prevent fail. * trans-intrinsic.c (conv_caf_send): Add creation of temporary array for caf_get's result and copying to the array with vectorial indexing. gcc/testsuite/ChangeLog: 2018-04-14 Andre Vehreschild PR fortran/81773 PR fortran/83606 * gfortran.dg/coarray/get_to_indexed_array_1.f90: New test. * gfortran.dg/coarray/get_to_indirect_array.f90: New test. Added: trunk/gcc/testsuite/gfortran.dg/coarray/get_to_indexed_array_1.f90 trunk/gcc/testsuite/gfortran.dg/coarray/get_to_indirect_array.f90 Modified: trunk/gcc/fortran/ChangeLog trunk/gcc/fortran/dependency.c trunk/gcc/fortran/trans-array.c trunk/gcc/fortran/trans-intrinsic.c trunk/gcc/testsuite/ChangeLog
[Bug fortran/81773] [Coarray] Get with vector index on lhs leads to incorrect caf_get_by_ref() call.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81773 vehre at gcc dot gnu.org changed: What|Removed |Added Status|NEW |ASSIGNED --- Comment #4 from vehre at gcc dot gnu.org --- Candidate patch available at: https://gcc.gnu.org/ml/fortran/2018-04/msg00027.html
[Bug fortran/81773] [Coarray] Get with vector index on lhs leads to incorrect caf_get_by_ref() call.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81773 --- Comment #3 from vehre at gcc dot gnu.org --- Created attachment 43451 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=43451=edit Preliminary patch First shot on fixing the issue. At least for caf_get() it fixes the issue.
[Bug fortran/81773] [Coarray] Get with vector index on lhs leads to incorrect caf_get_by_ref() call.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81773 Dominique d'Humieres changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2017-12-28 Ever confirmed|0 |1 --- Comment #2 from Dominique d'Humieres --- Confirmed from 4.9 up to trunk (8.0). Related to pr83606.
[Bug fortran/81773] [Coarray] Get with vector index on lhs leads to incorrect caf_get_by_ref() call.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81773 --- Comment #1 from vehre at gcc dot gnu.org --- Created attachment 41952 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=41952=edit Example producing the bug
[Bug fortran/81773] [Coarray] Get with vector index on lhs leads to incorrect caf_get_by_ref() call.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81773 vehre at gcc dot gnu.org changed: What|Removed |Added Priority|P3 |P4 CC||vehre at gcc dot gnu.org Severity|minor |normal