------- Comment #13 from hubicka at ucw dot cz 2009-02-20 14:39 ------- Subject: Re: [4.4 Regression] Inconsistent reject / accept of code
> > What that means is that we *must not* implicitly instantiate things > > declared "extern template" unless they are DECL_DECLARED_INLINE_P. As a > > consequence, at -O3, we cannot implicitly instantiate non-inline "extern > > template" functions. > > I'm not entirely sure that's what we want it to say, but it does seem like a > reasonable expectation for users to have. > > Beyond this issue, what is the compile speed impact of the earlier change to > use possibly_inlined_p? It seems like it might be making us speculatively > instantiate a lot more functions for potential inlining even at -O1, which I > would expect to cause memory bloat and slower compilation. There was no slowdowns visible on our C++ testers, so I hope it is not too bad. We now get rid of unreachable functions quite early in queue so they are not consuming too much of compilation time. Honza -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39242