summaryrefslogtreecommitdiffstats
path: root/clang/test/Analysis/array-struct.c
diff options
context:
space:
mode:
authorJordan Rose <jordan_rose@apple.com>2012-10-01 19:07:19 +0000
committerJordan Rose <jordan_rose@apple.com>2012-10-01 19:07:19 +0000
commit28c06b268eb2db0ba5df054279da9dc2f7e018e9 (patch)
tree5ce2a6c3fb246c4bd2059d8693a57c1d243d9df7 /clang/test/Analysis/array-struct.c
parent12024f8776fdfbf2c85e1b366d6709db6e56576f (diff)
downloadbcm5719-llvm-28c06b268eb2db0ba5df054279da9dc2f7e018e9.tar.gz
bcm5719-llvm-28c06b268eb2db0ba5df054279da9dc2f7e018e9.zip
[analyzer] Add a test for PR13927 "offsetof replacement flagged as null deref"
This seems to be legal according to C11 6.5.3.2. No functionality change. llvm-svn: 164959
Diffstat (limited to 'clang/test/Analysis/array-struct.c')
-rw-r--r--clang/test/Analysis/array-struct.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/clang/test/Analysis/array-struct.c b/clang/test/Analysis/array-struct.c
index 223069f9258..c22f9796e58 100644
--- a/clang/test/Analysis/array-struct.c
+++ b/clang/test/Analysis/array-struct.c
@@ -175,3 +175,11 @@ void f18() {
if (*q) { // no-warning
}
}
+
+
+// [PR13927] offsetof replacement macro flagged as "dereference of a null pointer"
+int offset_of_data_array(void)
+{
+ return ((char *)&(((struct s*)0)->data_array)) - ((char *)0); // no-warning
+}
+
OpenPOWER on IntegriCloud