diff options
| author | Erik Pilkington <erik.pilkington@gmail.com> | 2019-02-04 23:30:57 +0000 |
|---|---|---|
| committer | Erik Pilkington <erik.pilkington@gmail.com> | 2019-02-04 23:30:57 +0000 |
| commit | 3062887c9956f2eeabc2e017fbab5c3ab94710b9 (patch) | |
| tree | 40a2492244b718eea595e1c308b75f3a83f67c8a /clang/test/SemaObjC/infer-availability-from-init.m | |
| parent | ff5527718d5d3b9966f6e8948866c0dc15ffcf3c (diff) | |
| download | bcm5719-llvm-3062887c9956f2eeabc2e017fbab5c3ab94710b9.tar.gz bcm5719-llvm-3062887c9956f2eeabc2e017fbab5c3ab94710b9.zip | |
[SemaObjC] Don't infer the availabilty of +new from -init if the receiver has Class type
rdar://47713266
Differential revision: https://reviews.llvm.org/D57712
llvm-svn: 353115
Diffstat (limited to 'clang/test/SemaObjC/infer-availability-from-init.m')
| -rw-r--r-- | clang/test/SemaObjC/infer-availability-from-init.m | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/clang/test/SemaObjC/infer-availability-from-init.m b/clang/test/SemaObjC/infer-availability-from-init.m index 7aa1e53c091..6719400a9f4 100644 --- a/clang/test/SemaObjC/infer-availability-from-init.m +++ b/clang/test/SemaObjC/infer-availability-from-init.m @@ -56,3 +56,16 @@ void usenotmyobject() { [self new]; } @end + +@interface NoInit : NSObject +-(instancetype)init __attribute__((unavailable)); // expected-note {{'init' has been explicitly marked unavailable here}} +@end + +@interface NoInitSub : NoInit @end + +@implementation NoInitSub +-(void)meth:(Class)c { + [c new]; // No error; unknown interface. + [NoInitSub new]; // expected-error {{'new' is unavailable}} +} +@end |

