summaryrefslogtreecommitdiffstats
path: root/clang/test/Analysis/inlining/inline-defensive-checks.c
diff options
context:
space:
mode:
authorAnna Zaks <ganna@apple.com>2013-04-20 01:15:42 +0000
committerAnna Zaks <ganna@apple.com>2013-04-20 01:15:42 +0000
commit6c0c47ede56e38568f69261b28858b3d1faa9c92 (patch)
tree0c3f5b39a1a7856bf1398c8429698c00f6ead022 /clang/test/Analysis/inlining/inline-defensive-checks.c
parent390fb10a9ba759022c5cc57393f83124945a937f (diff)
downloadbcm5719-llvm-6c0c47ede56e38568f69261b28858b3d1faa9c92.tar.gz
bcm5719-llvm-6c0c47ede56e38568f69261b28858b3d1faa9c92.zip
[analyzer] Ensure BugReporterTracking works on regions with pointer arithmetic
Introduce a new helper function, which computes the first symbolic region in the base region chain. The corresponding symbol has been used for assuming that a pointer is null. Now, it will also be used for checking if it is null. This ensures that we are tracking a null pointer correctly in the BugReporter. llvm-svn: 179916
Diffstat (limited to 'clang/test/Analysis/inlining/inline-defensive-checks.c')
-rw-r--r--clang/test/Analysis/inlining/inline-defensive-checks.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/clang/test/Analysis/inlining/inline-defensive-checks.c b/clang/test/Analysis/inlining/inline-defensive-checks.c
index df3a8f22811..aa7f70030c0 100644
--- a/clang/test/Analysis/inlining/inline-defensive-checks.c
+++ b/clang/test/Analysis/inlining/inline-defensive-checks.c
@@ -97,3 +97,16 @@ void test24(char *buffer) {
use(buffer);
buffer[1] = 'b';
}
+
+// Ensure idc works on pointers with constant offset.
+void idcchar(const char *s2) {
+ if(s2)
+ ;
+}
+void testConstantOffset(char *value) {
+ char *cursor = value + 5;
+ idcchar(cursor);
+ if (*cursor) {
+ cursor++;
+ }
+}
OpenPOWER on IntegriCloud