diff options
Diffstat (limited to 'gcc/testsuite/gcc.dg/vect/pr32230.c')
-rw-r--r-- | gcc/testsuite/gcc.dg/vect/pr32230.c | 24 |
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" } } */ + + |