Greetings! OK, you convinced me! I'm uploading now... Take care,
Andreas Schwab <[EMAIL PROTECTED]> writes: > Camm Maguire <[EMAIL PROTECTED]> writes: > > |> Greetings, and thanks for your *very helpful* reply! > |> > |> OK, now it is clear to me what is going on. I calling all functions > |> through a variable declared to return a pointer, and some functions > |> are returning a long. > |> > |> I can fix the instances in the existing code fairly easily, but the > |> issue is that the lisp compiler produces C code using these > |> interchangeable declarations. At some point, I need to either have > |> all compiled functions return the same union and use the existing > |> function link helper functions (in funlink.c, et.al.), or to duplicate > |> these functions to handle function variables returning long and modify > |> the compiler to use these in the correct instances instead. As > |> always, the implementation is much easier than the conception of the > |> proper solution. Comments most welcome. > > The only proper solution is to make all functions use the same signature, > and cast the return value at the call site. Otherwise you will get > problems on other architectures as well. > > Andreas. > > -- > Andreas Schwab, SuSE Labs, [EMAIL PROTECTED] > SuSE Linux AG, Deutschherrnstr. 15-19, D-90429 Nürnberg > Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 > "And now for something completely different." > > -- Camm Maguire [EMAIL PROTECTED] ========================================================================== "The earth is but one country, and mankind its citizens." -- Baha'u'llah