This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug middle-end/38587] [4.4 Regression] psim miscompiled #2



------- Comment #24 from rguenther at suse dot de  2009-01-20 15:01 -------
Subject: Re:  [4.4 Regression] psim miscompiled #2

On Tue, 20 Jan 2009, hjl dot tools at gmail dot com wrote:

> ------- Comment #23 from hjl dot tools at gmail dot com  2009-01-20 14:24 -------
> (In reply to comment #22)
> > From tree-inline.c:
> > 
> >           case BUILT_IN_LONGJMP:
> >             /* We can't inline functions that call __builtin_longjmp at
> >                all.  The non-local goto machinery really requires the
> >                destination be in a different function.  If we allow the
> >                function calling __builtin_longjmp to be inlined into the
> >                function calling __builtin_setjmp, Things will Go Awry.  */
> > 
> > so IMHO we shouldn't inline foo ().  See inline_forbidden_p_stmt.
> > 
> 
> foo () isn't inlined. We inline bar () which reuses stack slot used
> to restore registers after longjmp, which is called from foo ().

Still I don't think this is an IRA bug.  Either this code is sort-of
non-conforming or we need to throttle down inlining more.

Richard.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38587


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]