diff mbox series

[fortran,committed] Fix PR 83224

Message ID 5226c21b-6a00-7955-1c47-01af479099f5@netcologne.de
State New
Headers show
Series [fortran,committed] Fix PR 83224 | expand

Commit Message

Thomas Koenig Dec. 1, 2017, 7:38 a.m. UTC
Hello world,

I just committed the attached patch as obvious and simple to trunk,
r255294.

Regards

	Thomas

2017-12-01  Thomas Koenig  <tkoenig@gcc.gnu.org>

         PR fortran/83224
         * frontend-passes.c (realloc_string_callback): Handle
         case for which the RHS is an array expression.

2017-12-01  Thomas Koenig  <tkoenig@gcc.gnu.org>

         PR fortran/83224
         * gfortran.dg/dependency_50.f90: New test.
diff mbox series

Patch

Index: frontend-passes.c
===================================================================
--- frontend-passes.c	(Revision 255181)
+++ frontend-passes.c	(Arbeitskopie)
@@ -249,7 +249,7 @@  realloc_string_callback (gfc_code **c, int *walk_s
     return 0;
 
   expr1 = co->expr1;
-  if (expr1->ts.type != BT_CHARACTER || expr1->rank != 0
+  if (expr1->ts.type != BT_CHARACTER
       || !gfc_expr_attr(expr1).allocatable
       || !expr1->ts.deferred)
     return 0;
@@ -270,8 +270,9 @@  realloc_string_callback (gfc_code **c, int *walk_s
       if (!found_substr)
 	return 0;
     }
-  else if (expr2->expr_type != EXPR_OP
-	   || expr2->value.op.op != INTRINSIC_CONCAT)
+  else if (expr2->expr_type != EXPR_ARRAY
+	   && (expr2->expr_type != EXPR_OP
+	       || expr2->value.op.op != INTRINSIC_CONCAT))
     return 0;
   
   if (!gfc_check_dependency (expr1, expr2, true))