From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6160 invoked by alias); 22 Jun 2010 11:16:36 -0000 Received: (qmail 5984 invoked by uid 48); 22 Jun 2010 11:16:16 -0000 Date: Tue, 22 Jun 2010 11:16:00 -0000 Message-ID: <20100622111616.5979.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug middle-end/44613] Declaring an array with non-constant length inside a switch corrupts stack pointer. 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: 2010-06/txt/msg02175.txt.bz2 ------- Comment #5 from rguenth at gcc dot gnu dot org 2010-06-22 11:16 ------- gimplification is bogus: switch (1) , case 1: > { char x[0:D.2106] [value-expr: *x.0]; saved_stack.1 = __builtin_stack_save (); try { : ... } finally { __builtin_stack_restore (saved_stack.1); } but pre-tree-ssa we didn't get it right either. -- rguenth at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|c++ |middle-end Keywords| |wrong-code Known to fail| |3.4.6 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44613