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
signature.asc
Description: This is a digitally signed message part
