aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/validation/packed-bitfield5.c
diff options
Diffstat (limited to 'validation/packed-bitfield5.c')
-rw-r--r--validation/packed-bitfield5.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/validation/packed-bitfield5.c b/validation/packed-bitfield5.c
new file mode 100644
index 00000000..8f44d4c2
--- /dev/null
+++ b/validation/packed-bitfield5.c
@@ -0,0 +1,21 @@
+#define __packed __attribute__((packed))
+
+typedef __UINT32_TYPE__ u32;
+
+struct s {
+ u32 a:5;
+ u32 f:30;
+ u32 z:5;
+} __packed;
+_Static_assert(sizeof(struct s) == 5);
+
+static int ld(struct s *s)
+{
+ return s->f;
+}
+
+/*
+ * check-name: packed-bitfield5
+ * check-description: is check_access() OK with 'overlapping' packed bitfields?
+ * check-known-to-fail
+ */