summaryrefslogtreecommitdiffstats
path: root/clang/test/SemaObjC/warn-missing-super.m
diff options
context:
space:
mode:
authorNico Weber <nicolasweber@gmx.de>2011-08-22 17:25:57 +0000
committerNico Weber <nicolasweber@gmx.de>2011-08-22 17:25:57 +0000
commit715abaf21390bb75eb1f822c41ee99408ed45045 (patch)
tree2fc35ccf936eb5a8aa44fa17df6f2fe3bedb372c /clang/test/SemaObjC/warn-missing-super.m
parent41c6dcc7341db47e59e1cb3d60a08b420efd2bfc (diff)
downloadbcm5719-llvm-715abaf21390bb75eb1f822c41ee99408ed45045.tar.gz
bcm5719-llvm-715abaf21390bb75eb1f822c41ee99408ed45045.zip
Warn on missing [super dealloc] calls.
This matches gcc's logic. Half of PR10661. llvm-svn: 138240
Diffstat (limited to 'clang/test/SemaObjC/warn-missing-super.m')
-rw-r--r--clang/test/SemaObjC/warn-missing-super.m32
1 files changed, 32 insertions, 0 deletions
diff --git a/clang/test/SemaObjC/warn-missing-super.m b/clang/test/SemaObjC/warn-missing-super.m
new file mode 100644
index 00000000000..8d04bf28667
--- /dev/null
+++ b/clang/test/SemaObjC/warn-missing-super.m
@@ -0,0 +1,32 @@
+// RUN: %clang_cc1 -fsyntax-only -verify %s
+
+@protocol NSCopying @end
+
+@interface NSObject <NSCopying>
+- (void)dealloc;
+@end
+
+@implementation NSObject
+- (void)dealloc {
+ // Root class, shouldn't warn
+}
+@end
+
+@interface Subclass1 : NSObject
+- (void)dealloc;
+@end
+
+@implementation Subclass1
+- (void)dealloc {
+} // expected-warning{{method possibly missing a [super dealloc] call}}
+@end
+
+@interface Subclass2 : NSObject
+- (void)dealloc;
+@end
+
+@implementation Subclass2
+- (void)dealloc {
+ [super dealloc]; // Shouldn't warn
+}
+@end
OpenPOWER on IntegriCloud