This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Better support for Objective-C


Jeffrey A Law wrote:
> 
> get.  Most of the GCC maintainers do not use Objective-C and thus we
> rely almost exclusively on Ovidiu & friends to "do the right thing" for
> Objective-C.
> 
Ovidiu doesn't have much time now, but none of us know anyone else with
enough expertise and time to do any work. Although I have been talking
with the author of ffcall, who seems to be interested in helping find a
solution. Plus the solutions I'm talking about need the support of GCC
guru's because it may involve changes to parts of gcc that aren't
associated with the Objective-C part.

> You're going to have a *very* difficult time implementing this -- it basically
> means trying to shove all the code to perform function calls into the runtime
> environment.   This is some of the hairiest code in GCC because there are so
> many different sets of calling conventions it must support.
> 

Yes. That's exactly the problem we're trying to solve. When I talked of
libffi, I was thinking of integrating it into libobjc, like it is
integrated into the Java runtime now. 

> What about __builtin_apply is "broken on several architectures"?  Granted,
> yes, it's a major pain to implement, but I thought we had it functional on
> the main architectures (like how many people are doing Objective-C development
> on the mn10200? :-)
> 

It doesn't work on Solaris. There has even been a patch sent in several
times, but it has never been put into gcc sources. It doesn't work
correctly on PPC either.

-- 
Adam Fedor, Digital Optics          | Fudd's law of opposition: Push
fedor@doc.com (www.doc.com)         | something hard enough, and it will
fedor@gnu.org (www.gnustep.org)     | fall over.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]