Make error in sys_ipc_wrapper

Sarah Hoffmann sh18 at os.inf.tu-dresden.de
Fri Aug 1 13:59:52 CEST 2003


> [Sarah Hoffmann]
>> On Fri, 1 Aug 2003, Michael Hohmuth wrote:
>>> Sarah Hoffmann <sh18 at os.inf.tu-dresden.de> writes:
>> Preprocess output is fine. The problem lies in how gcc 2.95.3
>> handles inlined member functions. Obviously they are automaticly
>> 'inline extern' so if the function can't be inlined there is still
>> no code generated.  With the standard gcc 2.95.3 this was not a
>> problem because it always respects the inline directive. SuSEs gcc
>> is a bit more picky and refuses to inline some functions because
>> they are too big.
>
> Actually, the old gcc version is behaving correctly in this sense.  If
> you specify 'extern inline' the function will *only* be used for
> inlining, even if you make an explicit address reference to it.  Such
> address references become external references.  If the compiler
> handles such usage the way you "expect it" it is only by accident (the
> gcc documentation clearly says that it shouldn't work this way), and
> the corresponding code should be fixed.

The functions are marked just 'inline' but _behave_ like they
had been declared 'extern inline'. For 'inline' only functions
I would expect that the compiler builds functions if it refuses
to inline them.

Sarah





More information about the l4-hackers mailing list