From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 18349 invoked by alias); 21 Jan 2009 03:28:55 -0000 Received: (qmail 18242 invoked by uid 48); 21 Jan 2009 03:28:40 -0000 Date: Wed, 21 Jan 2009 03:28:00 -0000 Message-ID: <20090121032840.18239.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug middle-end/38587] [4.4 Regression] psim miscompiled #2 In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "pinskia 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: 2009-01/txt/msg02263.txt.bz2 ------- Comment #36 from pinskia at gcc dot gnu dot org 2009-01-21 03:28 ------- (In reply to comment #35) > (In reply to comment #34) > > C standard guarantees that automatic variable only with volatile will be > > restored after longjmp. Gcc puts volatiles on stack and don't use pseudos for > > them. So they will be never shared on stack. > > > > I think the code (its expected behavior) does not conform with the standard. > > > > Unfortunately there are a lot of code which does not conform with the standard. > > So I think we should provide the same functionality. It can be done by > > prohibiting stack slot sharing in IRA if there are setjmps in the function. > > > > Does C standard say anything about function argument? "system", which > is a function argument, is trashed here. function arguments are just local variables .... -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38587