From bae0ed25d01388093ebcb4b32db0b6d1169f17db Mon Sep 17 00:00:00 2001 From: xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e> Date: Fri, 9 Apr 2010 12:26:47 +0000 Subject: [PATCH] Test bit field of size 32 git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1313 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e --- test/regression/Makefile | 2 +- test/regression/Results/bitfields3 | 2 ++ test/regression/bitfields3.c | 15 +++++++++++++++ 3 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 test/regression/Results/bitfields3 create mode 100644 test/regression/bitfields3.c diff --git a/test/regression/Makefile b/test/regression/Makefile index 9fcd82f49..08e1f7019 100644 --- a/test/regression/Makefile +++ b/test/regression/Makefile @@ -7,7 +7,7 @@ CCOMPFLAGS=-stdlib ../../runtime -dparse -dclight -dasm \ LIBS=$(LIBMATH) # Can run and have reference output in Results -TESTS=bitfields1 bitfields2 expr1 initializers volatile2 funct3 expr5 +TESTS=bitfields1 bitfields2 bitfields3 expr1 initializers volatile2 funct3 expr5 # Other tests: should compile to .s without errors (but expect warnings) EXTRAS=commaprec expr2 expr3 expr4 extern1 funct2 funptr1 init1 \ diff --git a/test/regression/Results/bitfields3 b/test/regression/Results/bitfields3 new file mode 100644 index 000000000..4f9051539 --- /dev/null +++ b/test/regression/Results/bitfields3 @@ -0,0 +1,2 @@ +x = {a = 12345678} +x = {a = deadbeef} diff --git a/test/regression/bitfields3.c b/test/regression/bitfields3.c new file mode 100644 index 000000000..de29f4d45 --- /dev/null +++ b/test/regression/bitfields3.c @@ -0,0 +1,15 @@ +#include <stdio.h> + +struct s { + unsigned int a: 32; +}; + +struct s x = { 0x12345678 }; + +int main() +{ + printf("x = {a = %x}\n", x.a); + x.a = 0xDEADBEEF; + printf("x = {a = %x}\n", x.a); + return 0; +} -- GitLab