This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/38587] [4.4 Regression] psim miscompiled #2
- From: "pinskia at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 21 Jan 2009 03:28:40 -0000
- Subject: [Bug middle-end/38587] [4.4 Regression] psim miscompiled #2
- References: <bug-38587-296@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- 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