From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 4149 invoked by alias); 19 Jun 2009 00:20:16 -0000 Received: (qmail 3928 invoked by uid 48); 19 Jun 2009 00:20:01 -0000 Date: Fri, 19 Jun 2009 00:20:00 -0000 Message-ID: <20090619002001.3927.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug fortran/40440] Automatic deallocation component of DT function return value In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "pault at gcc dot gnu dot org" 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 X-SW-Source: 2009-06/txt/msg01334.txt.bz2 ------- Comment #12 from pault at gcc dot gnu dot org 2009-06-19 00:20 ------- Adding at trans-expr.c:2740 && !(e->symtree && e->symtree->n.sym->attr.pointer) eliminates the problem in the reduced testcase and allows the original testcase to run correctly. This has not been regtested yet - even if it introduces regressions, it will be a question of getting the condition right. Notice that pointer variables need to be excluded from deallocation of allocatable components too. My tree is sourced from a more recent version of svn than is available on the system that I am using - hence the lack of a diff. It's mine :-) Cheers Paul -- pault at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|unassigned at gcc dot gnu |pault at gcc dot gnu dot org |dot org | Status|NEW |ASSIGNED Last reconfirmed|2009-06-15 13:09:45 |2009-06-19 00:20:01 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40440