diff options
author | Douglas Gregor <dgregor@apple.com> | 2013-02-07 19:13:24 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2013-02-07 19:13:24 +0000 |
commit | 560b7fa0c44df3cc4f03b396957aaf7e8e6a8fc8 (patch) | |
tree | ad58d2b0add10e0ac3f549f02e29320ded54b94c /clang/lib | |
parent | 0b62f8a632693b0091f3b2c7a77af18ec9773e09 (diff) | |
download | bcm5719-llvm-560b7fa0c44df3cc4f03b396957aaf7e8e6a8fc8.tar.gz bcm5719-llvm-560b7fa0c44df3cc4f03b396957aaf7e8e6a8fc8.zip |
Retain all hidden methods in the global method pool, because they may become visible <rdar://problem/13172858>.
llvm-svn: 174648
Diffstat (limited to 'clang/lib')
-rw-r--r-- | clang/lib/Sema/SemaDeclObjC.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaDeclObjC.cpp b/clang/lib/Sema/SemaDeclObjC.cpp index 0b09697a8f6..43b097d1f2b 100644 --- a/clang/lib/Sema/SemaDeclObjC.cpp +++ b/clang/lib/Sema/SemaDeclObjC.cpp @@ -2045,6 +2045,10 @@ bool Sema::MatchTwoMethodDeclarations(const ObjCMethodDecl *left, left->getResultType(), right->getResultType())) return false; + // If either is hidden, it is not considered to match. + if (left->isHidden() || right->isHidden()) + return false; + if (getLangOpts().ObjCAutoRefCount && (left->hasAttr<NSReturnsRetainedAttr>() != right->hasAttr<NSReturnsRetainedAttr>() || |