[cfe-commits] r145469 - in /cfe/trunk: include/clang/AST/ASTContext.h lib/AST/ASTContext.cpp lib/CodeGen/CGObjCMac.cpp

jahanian fjahanian at apple.com
Wed Nov 30 09:04:22 PST 2011


On Nov 29, 2011, at 5:57 PM, Bob Wilson wrote:

> Author: bwilson
> Date: Tue Nov 29 19:57:58 2011
> New Revision: 145469
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=145469&view=rev
> Log:
> Add bigger method type encodings to protocol objects.  <rdar://problem/10492418>
> 
> The new metadata are method @encode strings with additional data.
> 
> 1. Each Objective-C object is marked with its class name and protocol names.
> The same is done for property @encode already.
> 
> 2. Each block object is marked with its function prototype's @encoding. For
> example, a method parameter that is a block object that itself returns void
> and takes an int would look like:
>    @?<v@?i>
> 
> These new method @encode strings are stored in a single array pointed to by structs protocol_t and objc_protocol_ext.
> 
> Patch provided by Greg Parker!

Please provide a test case. There are related tools; e.g. otool, , not part of clang, which are impacted by this change.
Presumably, older runtimes will not be impacted by this change.

- Fariborz





More information about the cfe-commits mailing list