[cfe-dev] Objective-C patches
David Chisnall
csdavec at swansea.ac.uk
Mon May 5 15:20:55 PDT 2008
Hi Everyone,
Sorry for the patch size...
Please find attached:
sema.diff includes small changes required to make constant strings and
message sends to super work. It fixes the AST so super is now a built
in decl and it eliminates the warning if NSConstantString is not
declared (which, it turns out, it isn't in most real code by the time
the first constant string is found). This is not a completely
sensible check anyway, since most people cast them to NSString* at
creation time. If NSConstantString is declared, it is used, otherwise
constant strings are of type id.
ccc.diff includes improved option parsing for a couple of things in
ccc that apparently are need to build a lot of real ObjC programs.
isa.diff fixes a small bug where the implicit isa pointer was added to
instance variable lists twice (I think this is caused by someone
fixing the bug where it wasn't added to the AST at all, but it might
just be that I'm incompetent...)
objc.diff is a big diff (sorry!) which tidies up most of Objective-C
code generation, provides working implementations for the GNU runtime
and mostly-working implementations for the Étoilé runtime. Feel free
to edit out anything from GCObjCEtoile.cpp (there are a few changes to
match the updated interfaces, but the implementation can all be left
out for now since it isn't very heavily tested). This includes
support for classes, categories, protocols, selector caching, message
sends to the superclass, and constant Objective-C strings.
David
-------------- next part --------------
A non-text attachment was scrubbed...
Name: sema.diff
Type: application/octet-stream
Size: 2688 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20080505/95990af4/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ccc.diff
Type: application/octet-stream
Size: 676 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20080505/95990af4/attachment-0001.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: isa.diff
Type: application/octet-stream
Size: 713 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20080505/95990af4/attachment-0002.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: objc.diff
Type: application/octet-stream
Size: 85671 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20080505/95990af4/attachment-0003.obj>
More information about the cfe-dev
mailing list