modocache created this revision.
modocache added a reviewer: cfe-commits.
The tests that verify that accessing a property without using the result
emits a warning were needlessly complicated. Remove several layers of
abstraction to make the tests much simpler to read and reason about.
http://reviews.llvm.org/D12047
Files:
test/SemaObjC/access-property-getter.m
Index: test/SemaObjC/access-property-getter.m
===================================================================
--- test/SemaObjC/access-property-getter.m
+++ test/SemaObjC/access-property-getter.m
@@ -1,53 +1,17 @@
// RUN: %clang_cc1 -verify %s
-@protocol NSObject
-- (oneway void)release;
+@protocol Protocol
+- (oneway void) method;
@end
-@protocol XCOutputStreams <NSObject>
-@end
-
-
-@interface XCWorkQueueCommandInvocation
-{
- id <XCOutputStreams> _outputStream;
-}
-@end
-
-@interface XCWorkQueueCommandSubprocessInvocation :
XCWorkQueueCommandInvocation
-@end
-
-@interface XCWorkQueueCommandLocalSubprocessInvocation :
XCWorkQueueCommandSubprocessInvocation
-@end
-
-@interface XCWorkQueueCommandDistributedSubprocessInvocation :
XCWorkQueueCommandSubprocessInvocation
-@end
-
-@interface XCWorkQueueCommandCacheFetchInvocation :
XCWorkQueueCommandSubprocessInvocation
-
-@end
-
-@implementation XCWorkQueueCommandCacheFetchInvocation
-- (id)harvestPredictivelyProcessedOutputFiles
-{
- _outputStream.release; // expected-warning {{property access result
unused - getters should not be used for side effects}}
- return 0;
+void accessMethodViaPropertySyntaxAndTriggerWarning(id<Protocol> object) {
+ object.method; // expected-warning {{property access result unused -
getters should not be used for side effects}}
}
-@end
// rdar://19137815
#pragma clang diagnostic ignored "-Wunused-getter-return-value"
-@interface NSObject @end
-
-@interface I : NSObject
-@property (copy) id window;
-@end
-
-@implementation I
-- (void) Meth {
- [self window];
- self.window;
+void
accessMethodViaPropertySyntaxWhenWarningIsIgnoredDoesNotTriggerWarning(id<Protocol>
object) {
+ object.method;
}
-@end
Index: test/SemaObjC/access-property-getter.m
===================================================================
--- test/SemaObjC/access-property-getter.m
+++ test/SemaObjC/access-property-getter.m
@@ -1,53 +1,17 @@
// RUN: %clang_cc1 -verify %s
-@protocol NSObject
-- (oneway void)release;
+@protocol Protocol
+- (oneway void) method;
@end
-@protocol XCOutputStreams <NSObject>
-@end
-
-
-@interface XCWorkQueueCommandInvocation
-{
- id <XCOutputStreams> _outputStream;
-}
-@end
-
-@interface XCWorkQueueCommandSubprocessInvocation : XCWorkQueueCommandInvocation
-@end
-
-@interface XCWorkQueueCommandLocalSubprocessInvocation : XCWorkQueueCommandSubprocessInvocation
-@end
-
-@interface XCWorkQueueCommandDistributedSubprocessInvocation : XCWorkQueueCommandSubprocessInvocation
-@end
-
-@interface XCWorkQueueCommandCacheFetchInvocation : XCWorkQueueCommandSubprocessInvocation
-
-@end
-
-@implementation XCWorkQueueCommandCacheFetchInvocation
-- (id)harvestPredictivelyProcessedOutputFiles
-{
- _outputStream.release; // expected-warning {{property access result unused - getters should not be used for side effects}}
- return 0;
+void accessMethodViaPropertySyntaxAndTriggerWarning(id<Protocol> object) {
+ object.method; // expected-warning {{property access result unused - getters should not be used for side effects}}
}
-@end
// rdar://19137815
#pragma clang diagnostic ignored "-Wunused-getter-return-value"
-@interface NSObject @end
-
-@interface I : NSObject
-@property (copy) id window;
-@end
-
-@implementation I
-- (void) Meth {
- [self window];
- self.window;
+void accessMethodViaPropertySyntaxWhenWarningIsIgnoredDoesNotTriggerWarning(id<Protocol> object) {
+ object.method;
}
-@end
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits