[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