summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/vect/pr32230.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gcc.dg/vect/pr32230.c')
-rw-r--r--gcc/testsuite/gcc.dg/vect/pr32230.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/vect/pr32230.c b/gcc/testsuite/gcc.dg/vect/pr32230.c
new file mode 100644
index 000000000..bdb290ab4
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/vect/pr32230.c
@@ -0,0 +1,24 @@
+/* { dg-do compile } */
+
+typedef struct filter_buffer filter_buffer_t;
+struct filter_buffer
+{
+ char buf[1];
+};
+typedef struct sbuf_header sbuf_header_t;
+struct sbuf_header
+{
+ char buf[1];
+}
+const_f (filter_buffer_t *buf)
+{
+ float val;
+ int i;
+
+ for (i = 0; i < 10; i++)
+ ((float*) (&((sbuf_header_t *) (__PTRDIFF_TYPE__)((buf) == (filter_buffer_t *)&(buf)->buf[0]))->buf[0]))[i] = val;
+}
+
+/* { dg-final { cleanup-tree-dump "vect" } } */
+
+