[Ecls-list] "Problem" with overloading functions from compiled file

Dave Roberts dave at vyatta.com
Thu Sep 7 17:14:12 UTC 2006


Brian Spilsbury wrote:
>> However I discovered a problem with no easy
>> workaround. In a compiled file, functions that call each other do it by
>> calling directly the equivalent C function. As the call is "hard-coded",
>> you can't overload it.
> 
> This appears to be a bug.
> 
> The observed behaviour should only occur when there is an inline
> declaration for the function in question.
> 
> http://www.lispworks.com/documentation/HyperSpec/Body/03_bbc.htm

No, in fact it's opposite. The particular text from the page you 
reference is:

"A call within a file to a named function that is defined in the same 
file refers to that function, unless that function has been declared 
notinline. The consequences are unspecified if functions are redefined 
individually at run time or multiply defined in the same file."

It would only be a bug if the functions were specifically declared 
NOTINLINE in the ECL file in question. I don't know whether they are or 
not, but I'm guessing not given that declaration is not common unless 
you're specifically trying to allow somebody to redefine something at 
runtime.

-- Dave






More information about the ecl-devel mailing list