This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: inlining default
On Wed, Dec 12, 2001 at 04:44:50PM +0100, Bo Thorsen wrote:
> On Wednesday 12 December 2001 15:00, Jason Merrill wrote:
> > It seems that Neil's 2001-11-15 changes to option parsing had a side effect
> > of turning on tree inlining at -O0 for C and C++ unless suppressed with
> > -fno-inline, because we now set flag_tree_inline from flag_no_inline before
> > setting flag_no_inline from optimize. Is this what we want? I would
> > prefer to leave it off by default with -O0, but many compilers turn it on
> > unless specifically disabled. What do other people think?
>
> Is this related to the ICE I reported with latest CVS:
>
> *** ice.c ***
>
> typedef struct { long p; } pt;
>
> inline pt f(pt _p)
> {
> long p = _p.p;
>
> return (pt) { (p) };
> }
>
> static int mmap_mem(void)
> {
> pt p;
> p = f(p);
>
> return 0;
> }
>
> *** ice.c ***
>
> "gcc ice.c" gives an ICE on i386, ia-64 and x86-64 (at least) and prevents
> kernel, glibc and X compilation. Remove the inline keyword and it does fine.
>
> I have been hunting for the exact patch that started this, but you came with
> this so I thought I would ask.
Well, seeing there a compound literal, my bet is this started with the
compound literal patch...
Jakub