nps400-1.c: New file.
authorAndrew Burgess <andrew.burgess@embecosm.com>
Thu, 28 Apr 2016 19:13:47 +0000 (20:13 +0100)
committerJoern Rennecke <amylaar@gcc.gnu.org>
Thu, 28 Apr 2016 19:13:47 +0000 (20:13 +0100)
2016-04-28  Andrew Burgess  <andrew.burgess@embecosm.com>

        * gcc.target/arc/nps400-1.c: New file.

From-SVN: r235603

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/arc/nps400-1.c [new file with mode: 0644]

index 36de779..96d8369 100644 (file)
@@ -1,3 +1,7 @@
+2016-04-28  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+       * gcc.target/arc/nps400-1.c: New file.
+
 2016-04-28  Joern Rennecke  <joern.rennecke@embecosm.com>
            Andrew Burgess  <andrew.burgess@embecosm.com>
 
diff --git a/gcc/testsuite/gcc.target/arc/nps400-1.c b/gcc/testsuite/gcc.target/arc/nps400-1.c
new file mode 100644 (file)
index 0000000..f3d6271
--- /dev/null
@@ -0,0 +1,23 @@
+/* { dg-do compile } */
+/* { dg-options "-mcpu=nps400 -mq-class -mbitops -munaligned-access -mcmem -O2 -fno-strict-aliasing" } */
+
+enum npsdp_mem_space_type {
+  NPSDP_EXTERNAL_MS = 1
+};
+struct npsdp_ext_addr {
+  struct {
+    struct {
+      enum npsdp_mem_space_type mem_type : 1;
+      unsigned msid : 5;
+    };
+  };
+  char user_space[];
+} a;
+char b;
+void fn1() {
+  ((struct npsdp_ext_addr *)a.user_space)->mem_type = NPSDP_EXTERNAL_MS;
+  ((struct npsdp_ext_addr *)a.user_space)->msid =
+      ((struct npsdp_ext_addr *)a.user_space)->mem_type ? 1 : 10;
+  while (b)
+    ;
+}