diff options
Diffstat (limited to 'test/SemaObjC/self-assign.m')
-rw-r--r-- | test/SemaObjC/self-assign.m | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/test/SemaObjC/self-assign.m b/test/SemaObjC/self-assign.m new file mode 100644 index 0000000..f05b028 --- /dev/null +++ b/test/SemaObjC/self-assign.m @@ -0,0 +1,14 @@ +// RUN: %clang_cc1 -fsyntax-only -verify %s +@interface A +@end + +@implementation A +- (id):(int)x :(int)y { + int z; + // <rdar://problem/8939352> + if (self = [self :x :y]) {} // expected-warning{{using the result of an assignment as a condition without parentheses}} \ + // expected-note{{use '==' to turn this assignment into an equality comparison}} \ + // expected-note{{place parentheses around the assignment to silence this warning}} + return self; +} +@end |