diff options
Diffstat (limited to 'gcc/testsuite/gcc.c-torture/execute/zero-struct-1.c')
-rw-r--r-- | gcc/testsuite/gcc.c-torture/execute/zero-struct-1.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.c-torture/execute/zero-struct-1.c b/gcc/testsuite/gcc.c-torture/execute/zero-struct-1.c new file mode 100644 index 000000000..d673adf5c --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/zero-struct-1.c @@ -0,0 +1,23 @@ +struct g{}; +char y[3]; +char *f = &y[0]; +char *ff = &y[0]; +void h(void) +{ + struct g t; + *((struct g*)(f++)) = *((struct g*)(ff++)); + *((struct g*)(f++)) = (struct g){}; + t = *((struct g*)(ff++)); +} + +void abort (void); + +int main(void) +{ + h(); + if (f != &y[2]) + abort(); + if (ff != &y[2]) + abort(); + return 0; +} |