From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 9215 invoked by alias); 9 Oct 2002 23:06: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 9201 invoked by uid 71); 9 Oct 2002 23:06:01 -0000 Date: Wed, 09 Oct 2002 16:06:00 -0000 Message-ID: <20021009230601.9200.qmail@sources.redhat.com> To: nobody@gcc.gnu.org Cc: gcc-prs@gcc.gnu.org, From: Janis Johnson Subject: Re: middle-end/6994: ICE in find_function_data Reply-To: Janis Johnson X-SW-Source: 2002-10/txt/msg00346.txt.bz2 List-Id: The following reply was made to PR middle-end/6994; it has been noted by GNATS. From: Janis Johnson To: gcc-gnats@gcc.gnu.org, gcc-bugs@gcc.gnu.org, adrian@suse.de, schwab@suse.de Cc: Subject: Re: middle-end/6994: ICE in find_function_data Date: Wed, 9 Oct 2002 16:00:59 -0700 This problem still exists in 3.3 20021008 and 3.2.1 20021009 on i686-pc-linux-gnu. As mentioned earlier, it's a regression from GCC 2.95.3. The PR name ought to be "c++" rather than "middle-end". At the time of the ICE in find_function_data, 'exp' in expand_expr is a SAVE_EXPR whose function context, 'context', is cloned from 'current_function_decl'. The code in expand_expr falsely assumes that since 'context' is different from 'current_function_decl', 'context' is a containing function. It calls find_function_data just to make sure that 'context' is for a containing function, but it's not so that function aborts. I don't where to go from here, but hope that this information will be of use to someone familiar with the C++ front end. Janis