John Darrington <[EMAIL PROTECTED]> writes:
> Interesting. I never knew there was more than one interpretation.
>
> To me, the inline keyword is a hint to the compiler that it might be
> better to replace any calls to the function concerned with the body of
> the function, rather than making a subroutine.
>
> What else might it mean?
That is always what "inline" means at the highest level. But GCC
and C99 "inline" have different linkage semantics. Here is some
information on the difference:
http://gcc.gnu.org/ml/gcc/2006-11/msg00006.html
Here is an excerpt from the GCC 4.3 manual, in the node titled
"Inline", that talks about the static inline case:
GCC implements three different semantics of declaring a function
inline. One is available with `-std=gnu89' or `-fgnu89-inline' or when
`gnu_inline' attribute is present on all inline declarations, another
when `-std=c99' or `-std=gnu99' (without `-fgnu89-inline'), and the
third is used when compiling C++.
[...]
The three types of inlining behave similarly in two important cases:
when the `inline' keyword is used on a `static' function, like the
example above, and when a function is first declared without using the
`inline' keyword and then is defined with `inline', like this:
extern int inc (int *a);
inline int
inc (int *a)
{
(*a)++;
}
In both of these common cases, the program behaves the same as if you
had not used the `inline' keyword, except for its speed.
--
Ben Pfaff
http://benpfaff.org
_______________________________________________
pspp-dev mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/pspp-dev