bug-gnustep
[Top][All Lists]
Advanced

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

Re: [bug #4189] broken bycopy in DO


From: Richard Frith-Macdonald
Subject: Re: [bug #4189] broken bycopy in DO
Date: Fri, 4 Jul 2003 13:12:38 +0100


On Friday, July 4, 2003, at 12:45  pm, Alexander Malmberg wrote:

[snip]
Changes by: Richard Frith-Macdonald <rfm@gnu.org>
Date: Fri 07/04/2003 at 10:21 (GMT)

            What     | Removed                   | Added
---------------------------------------------------------------------- -----
            Severity | 7                         | 1 - Ordinary

Why was the severity of this changed?

An infrequent problem with a trivial workaround which is already the
officially recommended (ie in the NeXT/Apple dlocumentation)
way of doing things.

[snip]
4. DO kewords like bycopy and byref are only meaningful in protocols (they
are ignored in class interfaces and implementations) ... so the bycopy
return value on the server side must be declared in a protocol to which the
class of the server instance conforms.

This doesn't make any sense to me. Why shouldn't these keywords work
without protocols?

No good reason ... other than that the language spec does not day they
are meaningful in interface/implementation, and the compiler doesn't
put them in the type information the runtime uses to build classes ... so
if you declare -(id bycopy)foo; in an interface or implementation, then
look at the structures the compiler generates, you will find that the type
info is @@:  rather than the O@@: you might expect.

After updating -base with this fix, just about every single GNUstep
program now dumps core (at start, or very soon after starting). After
digging around a bit, it turns out that -base is now incompatible with
gcc <3.3, and I'm using 3.2.

I can't think of any obvious reason for that ... presumably a bug in the
earlier compiler, in which case we will need a workaround.

Although I can understand that supporting
broken compilers can be difficult or impossible, suddenly requiring 3.3
without any discussion or warning doesn't seem very nice.

I don't think stefan urbanek is saying we should require 3.3





reply via email to

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