diff options
-rw-r--r-- | clang/test/Analysis/dead-stores.m | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/clang/test/Analysis/dead-stores.m b/clang/test/Analysis/dead-stores.m index 730b8266bd1..852e63afcda 100644 --- a/clang/test/Analysis/dead-stores.m +++ b/clang/test/Analysis/dead-stores.m @@ -59,3 +59,20 @@ void foo_rdar8527823(); } } @end + +// Don't flag dead stores to assignments to self within a nested assignment. +@interface Rdar7947686 +- (id) init; +@end + +@interface Rdar7947686_B : Rdar7947686 +- (id) init; +@end + +@implementation Rdar7947686_B +- (id) init { + id x = (self = [super init]); // no-warning + return x; +} +@end + |