[PATCH] Fix PR70937
Richard Biener
rguenther@suse.de
Fri May 6 11:19:00 GMT 2016
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
More information about the Fortran
mailing list