aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/validation/backend/struct-access.c
diff options
authorJonathan Neuschäfer <j.neuschaefer@gmx.net>2013-05-18 19:52:07 +0200
committerPekka Enberg <penberg@kernel.org>2013-05-19 10:58:10 +0300
commit2afee5ceadcdfaefcb94f8d15291c977d0a990ec (patch)
tree07779497667fe628b941caa80200621dd8424a52 /validation/backend/struct-access.c
parent8c4e44129b08cc5e0c037f87d590d33c5294b764 (diff)
downloadsparse-dev-2afee5ceadcdfaefcb94f8d15291c977d0a990ec.tar.gz
sparse, llvm: add a struct access test case
Cc: Christopher Li <sparse@chrisli.org> Cc: Jeff Garzik <jgarzik@redhat.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Xi Wang <xi.wang@gmail.com> Signed-off-by: Jonathan Neuschäfer <j.neuschaefer@gmx.net> Signed-off-by: Pekka Enberg <penberg@kernel.org>
Diffstat (limited to 'validation/backend/struct-access.c')
-rw-r--r--validation/backend/struct-access.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/validation/backend/struct-access.c b/validation/backend/struct-access.c
new file mode 100644
index 00000000..884b4706
--- /dev/null
+++ b/validation/backend/struct-access.c
@@ -0,0 +1,28 @@
+struct st {
+ int i, *d;
+};
+
+static int load_i(struct st *st)
+{
+ return st->i;
+}
+
+static void store_i(struct st *st, int i)
+{
+ st->i = i;
+}
+
+static int *load_d(struct st *st)
+{
+ return st->d;
+}
+
+static void store_d(struct st *st, int *d)
+{
+ st->d = d;
+}
+
+/*
+ * check-name: struct access code generation
+ * check-command: ./sparsec -c $file -o tmp.o
+ */