aboutsummaryrefslogtreecommitdiff
path: root/test/Analysis
diff options
context:
space:
mode:
authorJordan Rose <jordan_rose@apple.com>2012-07-31 18:04:53 +0000
committerJordan Rose <jordan_rose@apple.com>2012-07-31 18:04:53 +0000
commit4fe64ad383c056774087113561063429103ac9a6 (patch)
tree7e0df9b1a3b1b3a13647307b986e889939fc7919 /test/Analysis
parent6d8ab45a203eb701c2fd1104492cb4bd7557a3e9 (diff)
[analyzer] Don't try to inline if there's no region for a message receiver.
While usually we'd use a symbolic region rather than a straight-up Unknown, we can still generate unknowns via array subscripts with symbolic indexes. (And if this ever changes in the future, we still shouldn't crash.) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161059 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Analysis')
-rw-r--r--test/Analysis/inlining/InlineObjCInstanceMethod.m8
1 files changed, 7 insertions, 1 deletions
diff --git a/test/Analysis/inlining/InlineObjCInstanceMethod.m b/test/Analysis/inlining/InlineObjCInstanceMethod.m
index 682d02aa15..8d8f28d923 100644
--- a/test/Analysis/inlining/InlineObjCInstanceMethod.m
+++ b/test/Analysis/inlining/InlineObjCInstanceMethod.m
@@ -77,4 +77,10 @@
- (int) method2 {
return 5/_attribute; // expected-warning {{Division by zero}}
}
-@end \ No newline at end of file
+@end
+
+
+// Don't crash if we don't know the receiver's region.
+void randomlyMessageAnObject(MyClass *arr[], int i) {
+ (void)[arr[i] getInt];
+} \ No newline at end of file