re PR fortran/69659 (ICE on using option -frepack-arrays, in gfc_conv_descriptor_data_get)
gcc/testsuite/ChangeLog: 2016-06-05 Andre Vehreschild <vehre@gcc.gnu.org> PR fortran/69659 * gfortran.dg/class_array_22.f03: New test. gcc/fortran/ChangeLog: 2016-06-05 Andre Vehreschild <vehre@gcc.gnu.org> PR fortran/69659 * trans-array.c (gfc_trans_dummy_array_bias): For class arrays use the address of the _data component to reference the arrays data component. From-SVN: r237105
This commit is contained in:
parent
ec81960e85
commit
b2d83bd2c7
4 changed files with 43 additions and 1 deletions
|
@ -1,3 +1,10 @@
|
|||
2016-06-05 Andre Vehreschild <vehre@gcc.gnu.org>
|
||||
|
||||
PR fortran/69659
|
||||
* trans-array.c (gfc_trans_dummy_array_bias): For class arrays use
|
||||
the address of the _data component to reference the arrays data
|
||||
component.
|
||||
|
||||
2016-06-03 Chung-Lin Tang <cltang@codesourcery.com>
|
||||
|
||||
* trans-openmp.c (gfc_trans_omp_reduction_list): Add mark_addressable
|
||||
|
|
|
@ -6386,7 +6386,12 @@ gfc_trans_dummy_array_bias (gfc_symbol * sym, tree tmpdesc,
|
|||
stmtCleanup = gfc_finish_block (&cleanup);
|
||||
|
||||
/* Only do the cleanup if the array was repacked. */
|
||||
tmp = build_fold_indirect_ref_loc (input_location, dumdesc);
|
||||
if (is_classarray)
|
||||
/* For a class array the dummy array descriptor is in the _class
|
||||
component. */
|
||||
tmp = gfc_class_data_get (dumdesc);
|
||||
else
|
||||
tmp = build_fold_indirect_ref_loc (input_location, dumdesc);
|
||||
tmp = gfc_conv_descriptor_data_get (tmp);
|
||||
tmp = fold_build2_loc (input_location, NE_EXPR, boolean_type_node,
|
||||
tmp, tmpdesc);
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2016-06-05 Andre Vehreschild <vehre@gcc.gnu.org>
|
||||
|
||||
PR fortran/69659
|
||||
* gfortran.dg/class_array_22.f03: New test.
|
||||
|
||||
2016-06-05 Jan Hubicka <hubicka@ucw.cz>
|
||||
|
||||
* gcc.dg/tree-prof/peel-1.c: Fix testcase.
|
||||
|
|
25
gcc/testsuite/gfortran.dg/class_array_22.f03
Normal file
25
gcc/testsuite/gfortran.dg/class_array_22.f03
Normal file
|
@ -0,0 +1,25 @@
|
|||
! { dg-do compile }
|
||||
! { dg-options "-frepack-arrays " }
|
||||
!
|
||||
! Original class_array_11.f03 but with -frepack-arrays a new
|
||||
! ICE was produced reported in
|
||||
! PR fortran/69659
|
||||
!
|
||||
! Original testcase by Ian Harvey <ian_harvey@bigpond.com>
|
||||
! Reduced by Janus Weil <Janus@gcc.gnu.org>
|
||||
|
||||
IMPLICIT NONE
|
||||
|
||||
TYPE :: ParentVector
|
||||
INTEGER :: a
|
||||
END TYPE ParentVector
|
||||
|
||||
CONTAINS
|
||||
|
||||
SUBROUTINE vector_operation(pvec)
|
||||
CLASS(ParentVector), INTENT(INOUT) :: pvec(:)
|
||||
print *,pvec(1)%a
|
||||
END SUBROUTINE
|
||||
|
||||
END
|
||||
|
Loading…
Add table
Reference in a new issue