Steve Youngs <youngs(a)xemacs.org> wrote:
|--==> "JJ" == Jerry James <james(a)xemacs.org>
writes:
JJ> Can anyone with a gcc 3 handy see if this behavior persists?
Well, when I first reported it I was using gcc 3.3.
Oh, right. Well, doesn't it look like a compiler bug? The GCC info
manual says (under "C Extensions -> Inline"):
------------------------------------------------------------------------
If you specify both `inline' and `extern' in the function
definition, then the definition is used only for inlining. In no case
is the function compiled on its own, not even if you refer to its
address explicitly. Such an address becomes an external reference, as
if you had only declared the function, and had not defined it.
------------------------------------------------------------------------
That's what we did, and GCC inserted an undefined symbol with the
function name into the object file. That seems wrong. It's especially
suspicious that the problem goes away when the optimizer is turned on.
I'll pop over to the GCC lists tomorrow and see if this has been
discussed.
--
Jerry James
http://www.ittc.ku.edu/~james/