From: Andrew Burgess Date: Thu, 28 Apr 2016 19:13:47 +0000 (+0100) Subject: nps400-1.c: New file. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=f4cb361287ea583f91ee8b850bca576a54f5917c;p=gcc.git nps400-1.c: New file. 2016-04-28 Andrew Burgess * gcc.target/arc/nps400-1.c: New file. From-SVN: r235603 --- 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) + ; +}