[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