aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/validation/optim
diff options
authorLuc Van Oostenryck <luc.vanoostenryck@gmail.com>2018-08-09 17:48:33 +0200
committerLuc Van Oostenryck <luc.vanoostenryck@gmail.com>2018-08-25 17:57:10 +0200
commitb39bf76f9c3bbf8a1da7b86eddd6199de43faa58 (patch)
treefeec1a0d271fffef33a55b473d084f67a329ff48 /validation/optim
parent96f388f0f55cfa1984daa70d7dc4faa63a85c590 (diff)
downloadsparse-dev-b39bf76f9c3bbf8a1da7b86eddd6199de43faa58.tar.gz
add testcase for accesses to volatile bitfields
Accesses to bitfields must, of course, not be optimized away. This is currently not the case. Add a testcase for it. Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
Diffstat (limited to 'validation/optim')
-rw-r--r--validation/optim/volatile-bitfield.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/validation/optim/volatile-bitfield.c b/validation/optim/volatile-bitfield.c
new file mode 100644
index 00000000..c28efb09
--- /dev/null
+++ b/validation/optim/volatile-bitfield.c
@@ -0,0 +1,17 @@
+struct s {
+ int f:3;
+};
+
+void foo(volatile struct s *p)
+{
+ p->f;
+}
+
+/*
+ * check-name: volatile-bitfield
+ * check-command: test-linearize -Wno-decl $file
+ * check-known-to-fail
+ *
+ * check-output-ignore
+ * check-output-contains: load\\.
+ */