diff options
author | Bob Wilson <bob.wilson@apple.com> | 2011-11-30 01:57:58 +0000 |
---|---|---|
committer | Bob Wilson <bob.wilson@apple.com> | 2011-11-30 01:57:58 +0000 |
commit | 5f4e3a780f5a3d6abd9b55ea3106d1a171f68459 (patch) | |
tree | fab818ae1066664c07419328babfd601bdaf5ce1 /llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp | |
parent | abba0947dbc7a984c2bf2fbdf9bbbf105dae12f6 (diff) | |
download | bcm5719-llvm-5f4e3a780f5a3d6abd9b55ea3106d1a171f68459.tar.gz bcm5719-llvm-5f4e3a780f5a3d6abd9b55ea3106d1a171f68459.zip |
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!
llvm-svn: 145469
Diffstat (limited to 'llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp')
0 files changed, 0 insertions, 0 deletions