2015-01-18 Andre Vehreschild <vehre@gmx.de>
commit53ec6b3f003abd3528f988fa32a07cc084128563
authorpault <pault@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 18 Jan 2015 22:01:29 +0000 (18 22:01 +0000)
committerpault <pault@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 18 Jan 2015 22:01:29 +0000 (18 22:01 +0000)
tree8897cf52c9332ef304732836b3ee4b66ef2cbb2c
parent90617f125cdee7c5bf61ba31327cdfcd8037a18f
2015-01-18  Andre Vehreschild  <vehre@gmx.de>
    Janus Weil <janus@gcc.gnu.org>

PR fortran/60255
* class.c (gfc_get_len_component): New.
(gfc_build_class_symbol): Add _len component to unlimited
polymorphic entities.
(find_intrinsic_vtab): Removed emitting of error message.
* gfortran.h: Added prototype for gfc_get_len_component.
* simplify.c (gfc_simplify_len): Use _len component where
available.
* trans-expr.c (gfc_class_len_get): New.
(gfc_conv_intrinsic_to_class): Add handling for deferred
character arrays.
(gfc_conv_structure): Treat _len component correctly.
(gfc_conv_expr): Prevent bind_c handling when not required.
(gfc_trans_pointer_assignment): Propagate _len component.
* trans-stmt.c (class_has_len_component): New.
(trans_associate_var): _len component treatment for associate
context.
(gfc_trans_allocate): Same as for trans_associate_var()
* trans.h: Added prototype for gfc_class_len_get.

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

PR fortran/60255
* gfortran.dg/unlimited_polymorphic_2.f03: Removed error.
* gfortran.dg/unlimited_polymorphic_20.f03: New test.

2015-01-18  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/64578
* gfortran.dg/unlimited_polymorphic_21.f90: New test

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219827 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/fortran/ChangeLog
gcc/fortran/class.c
gcc/fortran/gfortran.h
gcc/fortran/simplify.c
gcc/fortran/trans-expr.c
gcc/fortran/trans-stmt.c
gcc/fortran/trans.h
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/unlimited_polymorphic_2.f03
gcc/testsuite/gfortran.dg/unlimited_polymorphic_20.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/unlimited_polymorphic_21.f90 [new file with mode: 0644]