[cfe-commits] r163517 - in /cfe/trunk: include/clang/Basic/DiagnosticSemaKinds.td lib/Sema/SemaDecl.cpp test/SemaObjC/super-dealloc-attribute.m test/SemaObjC/warn-missing-super.m test/SemaObjCXX/warn-missing-super.mm
Fariborz Jahanian
fjahanian at apple.com
Mon Sep 10 09:51:10 PDT 2012
Author: fjahanian
Date: Mon Sep 10 11:51:09 2012
New Revision: 163517
URL: http://llvm.org/viewvc/llvm-project?rev=163517&view=rev
Log:
objective-C: Improving diagnostocs for missing call to
super's annotated methods. // rdar://6386358
Modified:
cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td
cfe/trunk/lib/Sema/SemaDecl.cpp
cfe/trunk/test/SemaObjC/super-dealloc-attribute.m
cfe/trunk/test/SemaObjC/warn-missing-super.m
cfe/trunk/test/SemaObjCXX/warn-missing-super.mm
Modified: cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td?rev=163517&r1=163516&r2=163517&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td (original)
+++ cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td Mon Sep 10 11:51:09 2012
@@ -739,7 +739,7 @@
def warn_objc_property_attr_mutually_exclusive : Warning<
"property attributes '%0' and '%1' are mutually exclusive">,
InGroup<ReadOnlySetterAttrs>, DefaultIgnore;
-def warn_objc_missing_super_dealloc : Warning<
+def warn_objc_missing_super_call : Warning<
"method possibly missing a [super %0] call">,
InGroup<ObjCMissingSuperCalls>;
def error_dealloc_bad_result_type : Error<
Modified: cfe/trunk/lib/Sema/SemaDecl.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaDecl.cpp?rev=163517&r1=163516&r2=163517&view=diff
==============================================================================
--- cfe/trunk/lib/Sema/SemaDecl.cpp (original)
+++ cfe/trunk/lib/Sema/SemaDecl.cpp Mon Sep 10 11:51:09 2012
@@ -7832,8 +7832,8 @@
computeNRVO(Body, getCurFunction());
}
if (getCurFunction()->ObjCShouldCallSuperDealloc) {
- Diag(MD->getLocEnd(), diag::warn_objc_missing_super_dealloc)
- << MD->getDeclName();
+ Diag(MD->getLocEnd(), diag::warn_objc_missing_super_call)
+ << MD->getSelector().getAsString();
getCurFunction()->ObjCShouldCallSuperDealloc = false;
}
if (getCurFunction()->ObjCShouldCallSuperFinalize) {
Modified: cfe/trunk/test/SemaObjC/super-dealloc-attribute.m
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaObjC/super-dealloc-attribute.m?rev=163517&r1=163516&r2=163517&view=diff
==============================================================================
--- cfe/trunk/test/SemaObjC/super-dealloc-attribute.m (original)
+++ cfe/trunk/test/SemaObjC/super-dealloc-attribute.m Mon Sep 10 11:51:09 2012
@@ -26,6 +26,6 @@
- (void)XXX {
[super MyDealloc];
-} // expected-warning {{method possibly missing a [super 'XXX'] call}}
+} // expected-warning {{method possibly missing a [super XXX] call}}
@end
Modified: cfe/trunk/test/SemaObjC/warn-missing-super.m
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaObjC/warn-missing-super.m?rev=163517&r1=163516&r2=163517&view=diff
==============================================================================
--- cfe/trunk/test/SemaObjC/warn-missing-super.m (original)
+++ cfe/trunk/test/SemaObjC/warn-missing-super.m Mon Sep 10 11:51:09 2012
@@ -41,11 +41,11 @@
@end
// RUN: %clang_cc1 -fsyntax-only %s 2>&1 | FileCheck %s
-// CHECK: warn-missing-super.m:24:1: warning: method possibly missing a [super 'dealloc'] call
+// CHECK: warn-missing-super.m:24:1: warning: method possibly missing a [super dealloc] call
// CHECK: 1 warning generated.
// RUN: %clang_cc1 -fsyntax-only -fobjc-gc %s 2>&1 | FileCheck --check-prefix=CHECK-GC %s
-// CHECK-GC: warn-missing-super.m:24:1: warning: method possibly missing a [super 'dealloc'] call
+// CHECK-GC: warn-missing-super.m:24:1: warning: method possibly missing a [super dealloc] call
// CHECK-GC: warn-missing-super.m:26:1: warning: method possibly missing a [super finalize] call
// CHECK-GC: 2 warnings generated.
Modified: cfe/trunk/test/SemaObjCXX/warn-missing-super.mm
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaObjCXX/warn-missing-super.mm?rev=163517&r1=163516&r2=163517&view=diff
==============================================================================
--- cfe/trunk/test/SemaObjCXX/warn-missing-super.mm (original)
+++ cfe/trunk/test/SemaObjCXX/warn-missing-super.mm Mon Sep 10 11:51:09 2012
@@ -15,5 +15,5 @@
- (void)dealloc
{
constexpr shared_ptr<int> dummy;
-} // expected-warning {{method possibly missing a [super 'dealloc'] call}}
+} // expected-warning {{method possibly missing a [super dealloc] call}}
@end
More information about the cfe-commits
mailing list