This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] Fix PR70937


The following patch fixes another case of missing DECL_EXPR in the FE.

Bootstrapped on x86_64-unknown-linux-gnu, testing in progress.

Ok for trunk?

Thanks,
Richard.

2016-05-06  Richard Biener  <rguenther@suse.de>

	PR fortran/70937
	* trans-decl.c (gfc_trans_vla_type_sizes): Add a DECL_EXPR for
	the TYPE_DECL as well.

	* gfortran.dg/pr70937.f90: New testcase.

Index: gcc/fortran/trans-decl.c
===================================================================
*** gcc/fortran/trans-decl.c	(revision 235945)
--- gcc/fortran/trans-decl.c	(working copy)
*************** gfc_trans_vla_type_sizes (gfc_symbol *sy
*** 3818,3823 ****
--- 3818,3828 ----
      }
  
    gfc_trans_vla_type_sizes_1 (type, body);
+   /* gfc_build_qualified_array may have built this type but left TYPE_NAME
+      pointing to the original type whose type sizes we need to expose to
+      the gimplifier unsharing.  */
+   if (TYPE_NAME (type))
+     gfc_add_expr_to_block (body, build1 (DECL_EXPR, type, TYPE_NAME (type)));
  }
  
  
Index: gcc/testsuite/gfortran.dg/pr70937.f90
===================================================================
*** gcc/testsuite/gfortran.dg/pr70937.f90	(revision 0)
--- gcc/testsuite/gfortran.dg/pr70937.f90	(working copy)
***************
*** 0 ****
--- 1,10 ----
+ ! { dg-do compile }
+ ! { dg-options "-flto" }
+   SUBROUTINE dbcsr_test_read_args(narg, args)
+     CHARACTER(len=*), DIMENSION(:), &
+       INTENT(out)         :: args
+     CHARACTER(len=80)     :: line
+     DO
+        args(narg) = line
+     ENDDO
+   END SUBROUTINE dbcsr_test_read_args


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]