* gcc.c-torture/execute/20000113-1.c: New test.
authorJeffrey A Law <law@cygnus.com>
Thu, 13 Jan 2000 09:30:08 +0000 (09:30 +0000)
committerJeff Law <law@gcc.gnu.org>
Thu, 13 Jan 2000 09:30:08 +0000 (02:30 -0700)
From-SVN: r31382

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.c-torture/execute/20000113-1.c [new file with mode: 0644]

index 73fef10fc90568810d16479916dae5bee7de4b5f..393d7cd1900c5330b6b99aac216cee075795c621 100644 (file)
@@ -1,3 +1,7 @@
+Thu Jan 13 02:29:32 2000  Jeffrey A Law  (law@cygnus.com)
+
+       * gcc.c-torture/execute/20000113-1.c: New test.
+
 Wed Jan 12 20:26:58 2000  Jeffrey A Law  (law@cygnus.com)
 
        * gcc.c-torture/execute/20000112-1.c: New test.
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 (file)
index 0000000..8b61dbb
--- /dev/null
@@ -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);
+}
+