From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26298 invoked by alias); 18 Jan 2015 22:02:11 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 26212 invoked by uid 55); 18 Jan 2015 22:02:03 -0000 From: "pault at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug fortran/64578] [OOP] Seg-fault and ICE with unlimited polymorphic array pointer function Date: Sun, 18 Jan 2015 22:02:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: fortran X-Bugzilla-Version: 5.0 X-Bugzilla-Keywords: ice-on-valid-code, wrong-code X-Bugzilla-Severity: normal X-Bugzilla-Who: pault at gcc dot gnu.org X-Bugzilla-Status: NEW X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2015-01/txt/msg01760.txt.bz2 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64578 --- Comment #16 from Paul Thomas --- Author: pault Date: Sun Jan 18 22:01:29 2015 New Revision: 219827 URL: https://gcc.gnu.org/viewcvs?rev=219827&root=gcc&view=rev Log: 2015-01-18 Andre Vehreschild Janus Weil 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 PR fortran/60255 * gfortran.dg/unlimited_polymorphic_2.f03: Removed error. * gfortran.dg/unlimited_polymorphic_20.f03: New test. 2015-01-18 Paul Thomas PR fortran/64578 * gfortran.dg/unlimited_polymorphic_21.f90: New test Added: trunk/gcc/testsuite/gfortran.dg/unlimited_polymorphic_20.f90 trunk/gcc/testsuite/gfortran.dg/unlimited_polymorphic_21.f90 Modified: trunk/gcc/fortran/ChangeLog trunk/gcc/fortran/class.c trunk/gcc/fortran/gfortran.h trunk/gcc/fortran/simplify.c trunk/gcc/fortran/trans-expr.c trunk/gcc/fortran/trans-stmt.c trunk/gcc/fortran/trans.h trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/gfortran.dg/unlimited_polymorphic_2.f03