This is the mail archive of the egcs@egcs.cygnus.com mailing list for the EGCS project. See the EGCS home page for more information.


[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index] [Subject Index] [Author Index] [Thread Index]

Re: kernel-2.2.1-undefined references.



In message <199902090116.RAA15478@atrus.synopsys.com> you write:
> 
> > I've yet to see *any reference* to the claim that it is *documented*
> > that the inline declaration *guarantees* that the function will always
> > be inlined.  Even with extern.  That was your assumption, reading
> > between the lines...
> 
> RTFM.
> 
> Remember, we are not talking about ISO C++ here.  We are talking about
> *C*, and specifically the GNU "extern inline" extension.  So the M to R
> is the gcc manual.
> 
> We may have an issue later on with C9X, which may define "extern inline"
> to mean something different.

I actually did, and while the discussion of "extern inline" strongly
implies that it is guaranteed behavior, it doesn't *really* come out
and say it.  There is a hedge above though in the sentence "Note that
certain usages in a function definition can make it unsuitable for
inline substitution."  It looks like that is just a hedge on automatic
inlining, but it is really a hedge on the whole process...

I do think that the language is ambiguous and definitely suggests
something that the compiler cannot guarantee.  That's why I've
submitted a patch to egcs-patches to clarify this:

	  http://egcs.cygnus.com/ml/egcs-patches/1999-02/msg00176.html

-------------------------------------------------------------------------------
Lee Iverson     		SRI International
leei@ai.sri.com			333 Ravenswood Ave., Menlo Park CA 94025
http://www.ai.sri.com/~leei/	(650) 859-3307