[cfe-dev] Objective-C patches
David Chisnall
csdavec at swansea.ac.uk
Mon May 5 15:52:33 PDT 2008
As a result of off-list comments, I have fixed a number of 'if('
formatting issues and a couple of line-wrap problems, typedef'd
llvm::SmallVector<llvm::Constant*, 16> to ConstantVector, and removed
the StructGEP helper function which is left over from before that
functionality was added to IRBuilder. I don't want to spam everyone,
so I'll hold off sending an updated patch until I've received more
comments.
David
On 5 May 2008, at 23:20, David Chisnall wrote:
> 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
>
>
>
> <
> sema
> .diff
> >
> <
> ccc
> .diff
> ><isa.diff><objc.diff>_______________________________________________
> cfe-dev mailing list
> cfe-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
More information about the cfe-dev
mailing list