PR fortran/16919
* trans-array.c (gfc_add_loop_ss_code): Handle GFC_SS_COMPONENT. (gfc_conv_array_index_offset): Allow "temporary" with nonzero delta. (gfc_trans_preloop_setup, gfc_trans_scalarized_loop_boundary): Handle GFC_SS_COMPONENT. (gfc_conv_ss_startstride): Ditto. Set ss->shape. (gfc_conv_loop_setup): Tweak commends. Remove dead code. Use ss->shape. (gfc_conv_array_initializer): Call specific initializer routines. * trans-expr.c (gfc_trans_structure_assign): New function. (gfc_trans_subarray_assign): New function. (gfc_trans_subcomponent_assign): New fucntion (gfc_conv_structure): Use them. * trans.h (gfc_ss_type): Add GFC_SS_COMPONENT. (gfc_ss): Add shape. testsuite/ * gfortran.dg/der_array_1.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85730 138bc75d-0d04-0410-961f-82ee72b054a4
Showing
- gcc/fortran/ChangeLog 18 additions, 0 deletionsgcc/fortran/ChangeLog
- gcc/fortran/trans-array.c 31 additions, 12 deletionsgcc/fortran/trans-array.c
- gcc/fortran/trans-expr.c 221 additions, 17 deletionsgcc/fortran/trans-expr.c
- gcc/fortran/trans.h 5 additions, 1 deletiongcc/fortran/trans.h
- gcc/testsuite/ChangeLog 5 additions, 0 deletionsgcc/testsuite/ChangeLog
- gcc/testsuite/gfortran.dg/der_array_1.f90 33 additions, 0 deletionsgcc/testsuite/gfortran.dg/der_array_1.f90
Loading
Please register or sign in to comment