This is the mail archive of the gcc@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]

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


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