gnustep-dev
[Top][All Lists]
Advanced

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

GCC 4.x and ObjC/ObjC++ type encodings


From: Ziemowit Laski
Subject: GCC 4.x and ObjC/ObjC++ type encodings
Date: Tue, 19 Jul 2005 12:27:47 -0700

Hello,

As some of you may have noticed, the Objective-C method signature, instance variable and type encodings (including @encode expressions) have changed between GCC 3.X and GCC 4.X series of compilers. The GCC 4.X implementation, although suffering from a couple of bugs, is nevertheless an improvement over the previous schemes in that it is more orthogonal, and handles ObjC qualifiers (e.g., 'bycopy', 'inout') in a more canonical fashion (though
further improvements are certainly possible).

Thing is, it turns out that this encoding rewrite has caused quite a bit of pain in the Apple/Darwin world :-(. As a result, I'm presently working on a patch (which will go into apple-local-200502-branch for now) that will make GCC 4.X encodings match (to the extent possible) what Apple's GCC 3.3 did. This is neither pretty nor intellectually satisfying, but is nonetheless necessary to preserve release-to-release binary compatibility for the
NeXT runtime.

However, this requirement may or may not hold for the _GNU_ runtime, which is why I'm writing this e-mail. Have folks in the GNU ObjC world experienced problems with the encoding changes between GCC 4.x and earlier versions? Would it be OK for the GNU runtime to go back to GCC 3.x encodings? (Doing so would clearly be easier for me :-) ). If not, could someone come up with a collection of GNU-runtime-specific test cases that capture what the desired GNU encodings are, so that I don't break you guys once I start integrating
my encoding changes back into mainline in the future?

Thanks in advance,

--Zem
--------------------------------------------------------------
Ziemowit Laski                 1 Infinite Loop, MS 301-2K
Mac OS X Compiler Group        Cupertino, CA USA  95014-2083
Apple Computer, Inc.           +1.408.974.6229  Fax .5477





reply via email to

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