diff options
author | Fariborz Jahanian <fjahanian@apple.com> | 2014-03-14 20:35:00 +0000 |
---|---|---|
committer | Fariborz Jahanian <fjahanian@apple.com> | 2014-03-14 20:35:00 +0000 |
commit | 312104a716a40ea3bff7048b3141ab27f953eef3 (patch) | |
tree | 3da3d65c1bca922c31d4a1d92bc84d08149c6cf1 /clang/lib/Sema/SemaDeclObjC.cpp | |
parent | f5d65b1ea73d9ec5e6739be569fd2b38acbcd7a2 (diff) | |
download | bcm5719-llvm-312104a716a40ea3bff7048b3141ab27f953eef3.tar.gz bcm5719-llvm-312104a716a40ea3bff7048b3141ab27f953eef3.zip |
Objective-C. Turn off designated initialization warnings on
'init' methods which are unavailable. Subclasses of NSObject
have to implement such methods as a common pattern to prevent
user's own implementation. // rdar://16305460
llvm-svn: 203966
Diffstat (limited to 'clang/lib/Sema/SemaDeclObjC.cpp')
-rw-r--r-- | clang/lib/Sema/SemaDeclObjC.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/clang/lib/Sema/SemaDeclObjC.cpp b/clang/lib/Sema/SemaDeclObjC.cpp index 3198b01949d..ca4d20c0994 100644 --- a/clang/lib/Sema/SemaDeclObjC.cpp +++ b/clang/lib/Sema/SemaDeclObjC.cpp @@ -392,11 +392,14 @@ void Sema::ActOnStartOfObjCMethodDef(Scope *FnBodyScope, Decl *D) { if (MDecl->getMethodFamily() == OMF_init) { if (MDecl->isDesignatedInitializerForTheInterface()) { getCurFunction()->ObjCIsDesignatedInit = true; - getCurFunction()->ObjCWarnForNoDesignatedInitChain = + // Don't issue this warning for unavaialable inits. + if (!MDecl->isUnavailable()) + getCurFunction()->ObjCWarnForNoDesignatedInitChain = IC->getSuperClass() != 0; } else if (IC->hasDesignatedInitializers()) { getCurFunction()->ObjCIsSecondaryInit = true; - getCurFunction()->ObjCWarnForNoInitDelegation = true; + // Don't issue this warning for unavaialable inits. + getCurFunction()->ObjCWarnForNoInitDelegation = !MDecl->isUnavailable(); } } |