diff options
| author | Nico Weber <nicolasweber@gmx.de> | 2011-08-22 17:25:57 +0000 |
|---|---|---|
| committer | Nico Weber <nicolasweber@gmx.de> | 2011-08-22 17:25:57 +0000 |
| commit | 715abaf21390bb75eb1f822c41ee99408ed45045 (patch) | |
| tree | 2fc35ccf936eb5a8aa44fa17df6f2fe3bedb372c /clang/test/SemaObjC/warn-missing-super.m | |
| parent | 41c6dcc7341db47e59e1cb3d60a08b420efd2bfc (diff) | |
| download | bcm5719-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.m | 32 |
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 |

