diff options
author | xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e> | 2011-08-10 11:16:24 +0000 |
---|---|---|
committer | xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e> | 2011-08-10 11:16:24 +0000 |
commit | 4caa6402f1f2749b23c68338c98265db88be3c52 (patch) | |
tree | e787355a72a6fbeac8047002b5d6d8dfb159c680 /test/regression/struct11.c | |
parent | 5a62dbaf613ee5e5599faa60e5bcfe346e755877 (diff) | |
download | compcert-4caa6402f1f2749b23c68338c98265db88be3c52.tar.gz compcert-4caa6402f1f2749b23c68338c98265db88be3c52.zip |
IA32: wrong moves generated in print_builtin_memcpy_big.
git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1705 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
Diffstat (limited to 'test/regression/struct11.c')
-rw-r--r-- | test/regression/struct11.c | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/test/regression/struct11.c b/test/regression/struct11.c new file mode 100644 index 00000000..804d03c8 --- /dev/null +++ b/test/regression/struct11.c @@ -0,0 +1,39 @@ +int printf (const char *, ...); + +struct S0 { + int : 1; + int f1; + int : 31; + int : 4; + int : 0; + int : 21; +}; + +struct S1 { + struct S0 f2; + struct S0 f3; + int f4; + int f6; + struct S0 f7; +}; + +struct S5; + +struct S1 g_21; + +int g_184; +int *g_367 = &g_184; +int **g_366 = &g_367; + +struct S5 *func_27 (struct S1 p_29, struct S5 *p_31) +{ + **g_366 = p_29.f7.f1; + return p_31; +} + +int main (void) +{ + func_27 (g_21, 0); + printf ("%d\n", g_184); + return 0; +} |