re PR middle-end/51200 (Wrong code sequence to store restrict volatile bitfield)
authorJoey Ye <joey.ye@arm.com>
Mon, 26 Dec 2011 08:43:48 +0000 (08:43 +0000)
committerJoey Ye <jye2@gcc.gnu.org>
Mon, 26 Dec 2011 08:43:48 +0000 (08:43 +0000)
2011-12-26  Joey Ye  <joey.ye@arm.com>

PR middle-end/51200
* gcc.dg/volatile-bitfields-2.c: New test.

From-SVN: r182685

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/volatile-bitfields-2.c [new file with mode: 0644]

index c2ca72bfa16522f8cab4e138ddb17fdcfc75719f..24f5e282b3bcba23d4b64e6ca3d3f3359fe44745 100644 (file)
@@ -1,3 +1,8 @@
+2011-12-26  Joey Ye  <joey.ye@arm.com>
+
+       PR middle-end/51200
+       * gcc.dg/volatile-bitfields-2.c: New test.
+
 2011-12-23  Jason Merrill  <jason@redhat.com>
 
        PR c++/51507
diff --git a/gcc/testsuite/gcc.dg/volatile-bitfields-2.c b/gcc/testsuite/gcc.dg/volatile-bitfields-2.c
new file mode 100644 (file)
index 0000000..a57cd74
--- /dev/null
@@ -0,0 +1,15 @@
+/* { dg-do run } */
+/* { dg-options "-fstrict-volatile-bitfields" } */
+
+extern void abort(void);
+struct thing {
+  volatile unsigned short a: 8;
+  volatile unsigned short b: 8;
+} t = {1,2};
+
+int main()
+{
+  t.a = 3;
+  if (t.a !=3 || t.b !=2) abort();
+  return 0;
+}