GCC 4.2 revision 112135 failed to compile SPEC cpu2000/197.parser. Here is the minimal reproducer: struct Exp_struct { char type; unsigned char cost; }; extern void foo(); void print_expression(struct Exp_struct * n) { int i; if (n->type == 2) { for (i=0; i<n->cost; i++) foo(); foo(); } else { for (i=0; i<n->cost; i++) foo(); if (n->cost == 0) foo(); } } $ gcc-42 -c -O2 par.c par.c: In function 'print_expression': par.c:17: internal compiler error: in check_reg_live, at haifa-sched.c:4645 Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://gcc.gnu.org/bugs.html> for instructions.
Confirmed, the patch which was submitted was here: http://gcc.gnu.org/ml/gcc-patches/2006-03/msg01127.html
What's the status of this bug? Did nobody comment on the proposed patch?
This is a very common bug (seen when compiling the Debian archive). Please set priority to P1.
Richard, what's the status of your patch?
Subject: Bug 26725 Author: rsandifo Date: Tue Apr 25 21:34:48 2006 New Revision: 113257 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=113257 Log: gcc/ PR rtl-optimization/26725 * cfgrtl.c (rtl_redirect_edge_and_branch_force): Set the source block's BB_DIRTY flag. gcc/testsuite/ * gcc.c-torture/compile/pr26725.c: New test. Added: trunk/gcc/testsuite/gcc.c-torture/compile/pr26725.c Modified: trunk/gcc/ChangeLog trunk/gcc/cfgrtl.c trunk/gcc/testsuite/ChangeLog
Patch applied to trunk.