From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23215 invoked by alias); 19 Feb 2009 14:59:43 -0000 Received: (qmail 22958 invoked by alias); 19 Feb 2009 14:59:19 -0000 Date: Thu, 19 Feb 2009 14:59:00 -0000 Message-ID: <20090219145919.22957.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug c++/39242] [4.4 Regression] Inconsistent reject / accept of code In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "hubicka at ucw dot cz" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2009-02/txt/msg01727.txt.bz2 ------- Comment #7 from hubicka at ucw dot cz 2009-02-19 14:59 ------- Subject: Re: [4.4 Regression] Inconsistent reject / accept of code > Index: cp/pt.c > =================================================================== > --- cp/pt.c (revision 144292) > +++ cp/pt.c (working copy) > @@ -15285,7 +15285,7 @@ instantiate_decl (tree d, int defer_ok, > /* ... but we instantiate inline functions so that we can inline > them and ... */ > && ! (TREE_CODE (d) == FUNCTION_DECL > - && possibly_inlined_p (d)) > + && DECL_DECLARED_INLINE_P (d)) this way we will lose inlining opurtunities at -O3, sine we will never instantiate methods not declared inline. Is standard really making difference in between inline and !inline here? Or we are just supposed to suppress the errors and instantiate only stuff that is complette or are we supposed to give error at -O0 too or is it up to our choice? Honza -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39242