From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 449 invoked by alias); 30 Apr 2003 06:26:01 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 433 invoked by uid 71); 30 Apr 2003 06:26:01 -0000 Date: Wed, 30 Apr 2003 06:26:00 -0000 Message-ID: <20030430062601.432.qmail@sources.redhat.com> To: nobody@gcc.gnu.org Cc: gcc-prs@gcc.gnu.org, From: Jim Wilson Subject: Re: middle-end/9997: Coelesce stack slots for disjoint scopes. Reply-To: Jim Wilson X-SW-Source: 2003-04/txt/msg01434.txt.bz2 List-Id: The following reply was made to PR middle-end/9997; it has been noted by GNATS. From: Jim Wilson To: Daniel Jacobowitz Cc: gcc-gnats@gcc.gnu.org Subject: Re: middle-end/9997: Coelesce stack slots for disjoint scopes. Date: 29 Apr 2003 23:19:28 -0400 While looking at this, I noticed that the var_temp_slot_level stuff seems to be broken. In expand_expr, case SAVE_EXPR, we call assign_temp with keep == 3. This ends up using var_temp_slot_level. However, there is no place in the compiler that ever sets var_temp_slot_level. It is initialized to 0, so all SAVE_TEMP temps end up at level 0, which means they live until the end of the function. This can't be right. I suspect this was also broken by the functions-as-trees stuff. I haven't looked into this yet. We can perhaps open a new PR for this problem. Jim