From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 11084 invoked by alias); 1 Oct 2008 13:22:02 -0000 Received: (qmail 9673 invoked by uid 48); 1 Oct 2008 13:20:36 -0000 Date: Wed, 01 Oct 2008 13:22:00 -0000 Message-ID: <20081001132036.9672.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug middle-end/37285] [4.4 Regression] ICE while building binutils on ppc In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "rguenth 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: 2008-10/txt/msg00022.txt.bz2 ------- Comment #5 from rguenth at gcc dot gnu dot org 2008-10-01 13:20 ------- Note that after tuples we always have a default label again, just the default label isn't a default label. I have a patch to fix that, sort of Index: tree-vrp.c =================================================================== *** tree-vrp.c (revision 140810) --- tree-vrp.c (working copy) *************** execute_vrp (void) *** 7149,7157 **** --- 7149,7164 ---- { size_t j; size_t n = TREE_VEC_LENGTH (su->vec); + tree label; gimple_switch_set_num_labels (su->stmt, n); for (j = 0; j < n; j++) gimple_switch_set_label (su->stmt, j, TREE_VEC_ELT (su->vec, j)); + /* As we may have replaced the default label with a regular one + make sure to make it a real default label again. This ensures + optimal expansion. */ + label = gimple_switch_default_label (su->stmt); + CASE_LOW (label) = NULL_TREE; + CASE_HIGH (label) = NULL_TREE; } if (VEC_length (edge, to_remove_edges) > 0) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37285