|
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 onthis?
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.htmlYeah, 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 audiofileBut 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.
[Prev in Thread] | Current Thread | [Next in Thread] |