re PR fortran/16919 (ICE with derived type and array constructor)
authorPaul Brook <paul@codesourcery.com>
Mon, 9 Aug 2004 23:32:59 +0000 (23:32 +0000)
committerPaul Brook <pbrook@gcc.gnu.org>
Mon, 9 Aug 2004 23:32:59 +0000 (23:32 +0000)
commite9cfef641351af682f2f6e1bc0fabbd2e08982b5
tree1f5890ab4bdea842dda65be22a1cc5fb3958a381
parentb9bfca8100c3db821b58a88bea733d83d4bf2c28
re PR fortran/16919 (ICE with derived type and array constructor)

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.

From-SVN: r85730
gcc/fortran/ChangeLog
gcc/fortran/trans-array.c
gcc/fortran/trans-expr.c
gcc/fortran/trans.h
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/der_array_1.f90 [new file with mode: 0644]