From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 7250 invoked by alias); 18 Apr 2002 13:46:11 -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 7207 invoked by uid 71); 18 Apr 2002 13:46:08 -0000 Resent-Date: 18 Apr 2002 13:46:08 -0000 Resent-Message-ID: <20020418134608.7206.qmail@sources.redhat.com> Resent-From: gcc-gnats@gcc.gnu.org (GNATS Filer) Resent-To: nobody@gcc.gnu.org Resent-Cc: gcc-prs@gcc.gnu.org, gcc-bugs@gcc.gnu.org, rth@redhat.com, jakub@redhat.com Resent-Reply-To: gcc-gnats@gcc.gnu.org, gbeauchesne@mandrakesoft.com Received:(qmail 6913 invoked by uid 61); 18 Apr 2002 13:44:53 -0000 Message-Id:<20020418134453.6912.qmail@sources.redhat.com> Date: Thu, 18 Apr 2002 06:46:00 -0000 From: gbeauchesne@mandrakesoft.com Reply-To: gbeauchesne@mandrakesoft.com To: gcc-gnats@gcc.gnu.org Cc: rth@redhat.com, jakub@redhat.com X-Send-Pr-Version:gnatsweb-2.9.3 (1.1.1.1.2.31) X-GNATS-Notify:rth@redhat.com,jakub@redhat.com Subject: c/6358: GCC 3.1 ICE on statement expressions X-SW-Source: 2002-04/txt/msg00927.txt.bz2 List-Id: >Number: 6358 >Category: c >Synopsis: GCC 3.1 ICE on statement expressions >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: ice-on-legal-code >Submitter-Id: net >Arrival-Date: Thu Apr 18 06:46:08 PDT 2002 >Closed-Date: >Last-Modified: >Originator: Gwenole Beauchesne >Release: GNU C version 3.1 20020418 (prerelease) (i686-pc-linux-gnu) >Organization: >Environment: i586-mandrake-linux-gnu >Description: gcc-3.1-branch ICEs on some statement expression returning void and enclosed in a function returning a value of floating type. [gb@kernel gcc]$ ./cc1 ~/vrac/stmt_expr.c f /home/gb/vrac/stmt_expr.c: In function `f': /home/gb/vrac/stmt_expr.c:7: Internal compiler error in subst_stack_regs_pat, at reg-stack.c:1441 Please submit a full bug report, with preprocessed source if appropriate. See for instructions. >How-To-Repeat: You can compile the following testcase with or without any optimazations. The testcase came up while distilling a similar ICE for ggv 1.99.3 (bonobo/ggv-postscript-view.c). void g(); double f() { (void) ({ g(); return; }); return 0.0; } >Fix: The ICE does not occur if either return; of the statement expression is omitted or the return value of f() is changed to some other scalar (non floating) type. Besides, this is a regression from gcc-3.0.4. BTW, as far as I can tell, the enclosed testcase succeeds with GNU C version 3.1 20010617 (experimental) (i686-pc-linux-gnu) but fails with: GNU C version 3.1 20010715 (experimental) (i686-pc-linux-gnu) >Release-Note: >Audit-Trail: >Unformatted: