2015-01-17 Andre Vehreschild <vehre@gmx.de>
commit50e7673a113056ecdf06b7f994a9b592317abdc1
authorpault <pault@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 17 Jan 2015 18:08:38 +0000 (17 18:08 +0000)
committerpault <pault@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 17 Jan 2015 18:08:38 +0000 (17 18:08 +0000)
tree06544cb03384b136934c7ff6d2f7abc201fc2c56
parent8f8029b20e452b893039e620d178097ebe60def1
2015-01-17  Andre Vehreschild  <vehre@gmx.de>

PR fortran/60357
* primary.c (build_actual_constructor): Prevent warning.
* trans-expr.c (alloc_scalar_allocatable_for_subcomponent_
assignment): New function encapsulates treatment of allocatable
components.
(gfc_trans_subcomponent_assign): Needed to distinguish between
regular assignment and initilization.
(gfc_trans_structure_assign): Same.
(gfc_conv_structure): Same.

PR fortran/61275
* gfortran.h: deferred_parameter is not needed, because
it artificial does the trick completely.
* primary.c (build_actual_constructor): Same.
(gfc_convert_to_structure_constructor): Same.
* resolve.c (resolve_fl_derived0): Same.
* trans-expr.c (gfc_conv_component_ref): Prevent treating
allocatable deferred length char arrays here.
(gfc_trans_subcomponent_assign): Same as above.
* trans-types.c (gfc_sym_type): This is done in
gfc_get_derived_type already.

2015-01-17  Andre Vehreschild  <vehre@gmx.de>

PR fortran/60357
* gfortran.dg/alloc_comp_assign_13.f08: New test.

PR fortran/61275
* gfortran.dg/alloc_comp_assign_14.f08: New test.

PR fortran/55932
* gfortran.dg/alloc_comp_initializer_4.f03: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219801 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/fortran/ChangeLog
gcc/fortran/gfortran.h
gcc/fortran/primary.c
gcc/fortran/resolve.c
gcc/fortran/trans-expr.c
gcc/fortran/trans-types.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/alloc_comp_assign_13.f08 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/alloc_comp_assign_14.f08 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/alloc_comp_initializer_4.f03 [new file with mode: 0644]