GNU bug report logs - #12541
Prefer plain 'static' to 'static inline'.

Previous Next

Package: emacs;

Reported by: Paul Eggert <eggert <at> cs.ucla.edu>

Date: Sun, 30 Sep 2012 08:02:01 UTC

Severity: normal

Tags: patch

Done: Paul Eggert <eggert <at> cs.ucla.edu>

Bug is archived. No further changes may be made.

Full log


Message #23 received at 12541 <at> debbugs.gnu.org (full text, mbox):

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 12541 <at> debbugs.gnu.org
Subject: Re: bug#12541: Prefer plain 'static' to 'static inline'.
Date: Sun, 30 Sep 2012 11:48:15 -0700
On 09/30/2012 11:33 AM, Eli Zaretskii wrote:
>> From: Paul Eggert <eggert <at> cs.ucla.edu>
>>
>> On my platform (GCC 4.7.2 -O3, x86-64, Fedora 17, trunk bzr 110287)
>> GCC does not always inline 'bidi_char_at_pos': in a couple of cases
>> the function is only partly inlined.
> 
> Is this so with either 'static inline' or with 'static'?

The former.  That is, the above comment is talking about the current
trunk, which uses 'static inline'.

> is there any difference, in terms of generated code, that
> you see between using and not using 'inline' for these functions?

Yes, as described below, if we omit 'inline' GCC does less inlining:
it inlines the small static functions, but some of the larger ones are
not inlined.

>> With the proposed change, the set of functions that are not always
>> inlined expands to bidi_cache_iterator_state, bidi_char_at_pos, and
>> bidi_fetch_char, and (if we also include functions that are partially
>> inlined) bidi_cache_search and bidi_get_type.
> 
> Were they also not inlined before the change?

Most of these functions were inlined before the change.  However, as
described above, bidi_char_at_pos was only partially inlined before
the change.





This bug report was last modified 12 years and 286 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.