From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26174 invoked by alias); 12 Jan 2008 15:14:38 -0000 Received: (qmail 26023 invoked by alias); 12 Jan 2008 15:13:50 -0000 Date: Sat, 12 Jan 2008 16:23:00 -0000 Message-ID: <20080112151350.26021.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug tree-optimization/33763] [4.1/4.2/4.3 Regression] Bogus inlining failed in call to `xxx': redefined extern inline functions are not considered for inlining In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "rguenther at suse dot de" 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: 2008-01/txt/msg01134.txt.bz2 ------- Comment #9 from rguenther at suse dot de 2008-01-12 15:13 ------- Subject: Re: [4.1/4.2/4.3 Regression] Bogus inlining failed in call to `xxx': redefined extern inline functions are not considered for inlining On Sat, 12 Jan 2008, hubicka at gcc dot gnu dot org wrote: > ------- Comment #8 from hubicka at gcc dot gnu dot org 2008-01-12 13:55 ------- > I can definitely commit the patch to silence the (IMO valid) diagnostics. > However, why programs are using always_inline and extern inline combination at > all? Just extern inline should be enough. > /* For GNU C extern inline functions disregard inline limits. */ > if (DECL_EXTERNAL (fndecl) > && DECL_DECLARED_INLINE_P (fndecl)) > DECL_DISREGARD_INLINE_LIMITS (fndecl) = 1; > > So perhaps just modifying glibc headers to not do both would do the trick? > > I agree that solving this problem correctly via two functions (not only bodies, > but simply two declarations) is probably bit tricky for stage3. We however have > related PR34609 and PR31529 demonstrating same problem in different context. Can you give it a try? If it looks reasonably safe I would certainly prefer such a solution. Richard. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33763