aboutsummaryrefslogtreecommitdiff
path: root/test/Analysis/NSContainers.m
diff options
context:
space:
mode:
Diffstat (limited to 'test/Analysis/NSContainers.m')
-rw-r--r--test/Analysis/NSContainers.m18
1 files changed, 17 insertions, 1 deletions
diff --git a/test/Analysis/NSContainers.m b/test/Analysis/NSContainers.m
index a9e76fbbcaba3..4b3492645682e 100644
--- a/test/Analysis/NSContainers.m
+++ b/test/Analysis/NSContainers.m
@@ -1,4 +1,7 @@
-// RUN: %clang_cc1 -analyze -analyzer-checker=core,osx.cocoa.NonNilReturnValue,osx.cocoa.NilArg,osx.cocoa.Loops -verify -Wno-objc-root-class %s
+// RUN: %clang_cc1 -analyze -analyzer-checker=core,osx.cocoa.NonNilReturnValue,osx.cocoa.NilArg,osx.cocoa.Loops,debug.ExprInspection -verify -Wno-objc-root-class %s
+
+void clang_analyzer_eval(int);
+
typedef unsigned long NSUInteger;
typedef signed char BOOL;
typedef struct _NSZone NSZone;
@@ -276,3 +279,16 @@ void testCountAwareNSOrderedSet(NSOrderedSet *containers, int *validptr) {
}
}
+void testLiteralsNonNil() {
+ clang_analyzer_eval(!!@[]); // expected-warning{{TRUE}}
+ clang_analyzer_eval(!!@{}); // expected-warning{{TRUE}}
+}
+
+@interface NSMutableArray (MySafeAdd)
+- (void)addObject:(id)obj safe:(BOOL)safe;
+@end
+
+void testArrayCategory(NSMutableArray *arr) {
+ [arr addObject:0 safe:1]; // no-warning
+}
+