diff options
Diffstat (limited to 'gcc/testsuite/gcc.c-torture/execute/20000113-1.c')
-rw-r--r-- | gcc/testsuite/gcc.c-torture/execute/20000113-1.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.c-torture/execute/20000113-1.c b/gcc/testsuite/gcc.c-torture/execute/20000113-1.c new file mode 100644 index 000000000..8b61dbb21 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/20000113-1.c @@ -0,0 +1,23 @@ +struct x { + unsigned x1:1; + unsigned x2:2; + unsigned x3:3; +}; + +foobar (int x, int y, int z) +{ + struct x a = {x, y, z}; + struct x b = {x, y, z}; + struct x *c = &b; + + c->x3 += (a.x2 - a.x1) * c->x2; + if (a.x1 != 1 || c->x3 != 5) + abort (); + exit (0); +} + +main() +{ + foobar (1, 2, 3); +} + |