diff options
| author | Fariborz Jahanian <fjahanian@apple.com> | 2011-07-05 22:38:59 +0000 | 
|---|---|---|
| committer | Fariborz Jahanian <fjahanian@apple.com> | 2011-07-05 22:38:59 +0000 | 
| commit | b7a773626fea0bed31db9c28da912ea1200c28ae (patch) | |
| tree | 6d0d6cef98507e63a0d22ffab364ab3939b4fd48 /clang/lib/Basic | |
| parent | 44f19ac3fb3df536b1a9cbfa429c7c7a0d77d7da (diff) | |
| download | bcm5719-llvm-b7a773626fea0bed31db9c28da912ea1200c28ae.tar.gz bcm5719-llvm-b7a773626fea0bed31db9c28da912ea1200c28ae.zip  | |
objc-arc: enforce performSelector rules in rejecting retaining selectors
passed to it, and unknown selectors causing potential leak.
// rdar://9659270
llvm-svn: 134449
Diffstat (limited to 'clang/lib/Basic')
| -rw-r--r-- | clang/lib/Basic/IdentifierTable.cpp | 2 | 
1 files changed, 2 insertions, 0 deletions
diff --git a/clang/lib/Basic/IdentifierTable.cpp b/clang/lib/Basic/IdentifierTable.cpp index 109761c9dc9..188e2d46f58 100644 --- a/clang/lib/Basic/IdentifierTable.cpp +++ b/clang/lib/Basic/IdentifierTable.cpp @@ -397,6 +397,8 @@ ObjCMethodFamily Selector::getMethodFamilyImpl(Selector sel) {      if (name == "retainCount") return OMF_retainCount;      if (name == "self") return OMF_self;    } +  +  if (name == "performSelector") return OMF_performSelector;    // The other method families may begin with a prefix of underscores.    while (!name.empty() && name.front() == '_')  | 

