discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [objc-improvements] Yet another set of fixes committed


From: David Ayers
Subject: Re: [objc-improvements] Yet another set of fixes committed
Date: Sat, 30 Aug 2003 22:01:29 +0200
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4) Gecko/20030624

Ziemowit Laski wrote:


On Wednesday, Aug 27, 2003, at 18:39 US/Pacific, Alexander Malmberg wrote:


It won't find prototypes for a type if the prototype comes from a
protocol implemented by the class, eg.:

@protocol Zot
-(void) zot;
@end

@interface Foo : Object <Zot>
@end

int main()
{
    Foo *f=nil;
    [f zot]; /* warns that f might not respond to -zot here */
    return 0;
}

I've attached a patch.

Also, it fails to detect multiple applicable prototypes in many cases,
and the behavior in case d. does not seem to have changed (so it's
compatible with the old behavior, but it matches neither my nor your
proposal for new behavior). Anyway, I want to investigate a bit more and
finish a complete set of tests before reporting on this, so that'll have
to wait until tomorrow.


Yes, the implementation does depart from both you and I were describing.
Specifically, if your receiver is of type 'id<Foo, Bar, Baz>', then the
front-end will examine the three protocols in turn, and return the first
matching method, rather than search all 3 protocols unconditionally to
reveal any conflicts.  And yes, this is what the compiler did up until
now, and I'm a bit nervous about changing it. :-(  What's your take on
this?

We're working on providing a couple of tests that will display some (hopefully most) of the potential variations, that we should consider. I think we can then agree on clear rules on how to handle the different cases.


If you don't have all the dependencies, the build guide is supposed to
be good:

http://documents.made-it.com/GNUstep/buildguide.html


Yeah, that's the write-up that frightened me so. :-(

It's just very detailed, it's not that much to do :-) ...
... Once you have the prerequisits. I'm not sure what RedHat comes with, but I think the only thing you really need to worry about is potentially:
iconv
ffcall or libffi
openssl
libtiff
libxml2
audiofile
But I'm almost certain that you have most, if not all of these. Refer to the guide for a complete list and to see how to check they are installed, if you're unsure.

If you want to use our testsuite, you'll also need
guile (1.4.1 is a good choice)

Whatever tarball someone might give, will most likely not contain any of the above, so I think, you'll just have to check, but like I said, I'd be surprised if it's actually a lot of work.

To install then core package, you can follow Alexender's suggestion by using the compile-all script or executing those couple of commands manually to see what's going on.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]