From f4cb361287ea583f91ee8b850bca576a54f5917c Mon Sep 17 00:00:00 2001 From: Andrew Burgess Date: Thu, 28 Apr 2016 20:13:47 +0100 Subject: [PATCH] nps400-1.c: New file. 2016-04-28 Andrew Burgess * gcc.target/arc/nps400-1.c: New file. From-SVN: r235603 --- gcc/testsuite/ChangeLog | 4 ++++ gcc/testsuite/gcc.target/arc/nps400-1.c | 23 +++++++++++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 gcc/testsuite/gcc.target/arc/nps400-1.c diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 36de779b0a2..96d8369db3b 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2016-04-28 Andrew Burgess + + * gcc.target/arc/nps400-1.c: New file. + 2016-04-28 Joern Rennecke Andrew Burgess diff --git a/gcc/testsuite/gcc.target/arc/nps400-1.c b/gcc/testsuite/gcc.target/arc/nps400-1.c new file mode 100644 index 00000000000..f3d62718bb0 --- /dev/null +++ b/gcc/testsuite/gcc.target/arc/nps400-1.c @@ -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) + ; +} -- 2.30.2