Re: Environment to build a squid helper

From: Henrik Nordstrom <henrik_at_henriknordstrom.net>
Date: Wed, 13 Aug 2008 05:37:29 +0200

On tis, 2008-08-12 at 22:52 -0400, Tres Seaver wrote:

> Isn't 'extern inline' a contradiction? There should be *no* linkage of
> any function being inlined.

It depends on your viewpoint.

inline is only a hint that the function is a candidate for being
inlined. It may still be compiled as a separate function.

In GCC "extern inline" then meant that the function should have extern
linkage if not inlined, or to be exact a call to an external function if
outside of this compile unit if not inlined.

Quite useful to avoid repeated duplication of the same function in each
comple unit, but unfortunately not part of the standard language
definition and gcc 4.3 now changed to follow the standard.. (extern
ignored).

The change in GCC semantics has been documented in the GCC documentation
for quite some time (some years), but as always documentation is never
read until there is a problem so it was not discovered there was a
change until trying to compile Squid with gcc-4.3.

Regards
Henrik

Received on Wed Aug 13 2008 - 03:37:40 MDT

This archive was generated by hypermail 2.2.0 : Wed Aug 13 2008 - 12:00:05 MDT