This is the mail archive of the
fortran@gcc.gnu.org
mailing list for the GNU Fortran project.
[PATCH] PR fortran/77380
- From: Steve Kargl <sgk at troutmask dot apl dot washington dot edu>
- To: fortran at gcc dot gnu dot org, gcc-patches at gcc dot gnu dot org
- Date: Thu, 25 Aug 2016 15:14:35 -0700
- Subject: [PATCH] PR fortran/77380
- Authentication-results: sourceware.org; auth=none
- Reply-to: kargl at uw dot edu
I plan to commit the following patch on Saturday if
no one objects in the next 40 or so hours.
2016-08-25 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/77380
* dependency.c (gfc_check_dependency): Do not assert with
-fcoarray=lib.
2016-08-25 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/77380
* gfortran.dg/pr77380.f90: New test.
Index: gcc/fortran/dependency.c
===================================================================
--- gcc/fortran/dependency.c (revision 239762)
+++ gcc/fortran/dependency.c (working copy)
@@ -1252,6 +1252,12 @@ gfc_check_dependency (gfc_expr *expr1, g
gfc_constructor *c;
int n;
+ /* -fcoarray=lib can end up here with expr1->expr_type set to EXPR_FUNCTION
+ and a reference to _F.caf_get, so skip the assert. */
+ if (expr1->expr_type == EXPR_FUNCTION
+ && strcmp (expr1->value.function.name, "_F.caf_get") == 0)
+ return 0;
+
gcc_assert (expr1->expr_type == EXPR_VARIABLE);
switch (expr2->expr_type)
Index: gcc/testsuite/gfortran.dg/pr77380.f90
===================================================================
--- gcc/testsuite/gfortran.dg/pr77380.f90 (nonexistent)
+++ gcc/testsuite/gfortran.dg/pr77380.f90 (working copy)
@@ -0,0 +1,6 @@
+! { dg-do compile }
+! { dg-options "-fcoarray=lib -O2" }
+program p
+ integer :: z(2)[*] = 1
+ z(:)[1] = z(:)[*] ! { dg-error "must be a scalar at" }
+end
--
Steve