diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2013-10-09 12:59:02 +0000 |
---|---|---|
committer | Eric Botcazou <ebotcazou@gcc.gnu.org> | 2013-10-09 12:59:02 +0000 |
commit | 378f8976f26a17a53c5c306f7277971e8e7a6aa7 (patch) | |
tree | 8fe48efb934d00e67f7202795323adb3f8a915e2 /gcc/testsuite/gcc.c-torture/execute/pr58570.c | |
parent | 0fe04f5c3185fa3a3beb39fb811df019ed41569c (diff) | |
download | gcc-378f8976f26a17a53c5c306f7277971e8e7a6aa7.zip gcc-378f8976f26a17a53c5c306f7277971e8e7a6aa7.tar.gz gcc-378f8976f26a17a53c5c306f7277971e8e7a6aa7.tar.bz2 |
re PR middle-end/58570 (wrong code for bitfields at -O2 and above)
PR middle-end/58570
* tree-ssa-alias.c (nonoverlapping_component_refs_of_decl_p): Return
false if both components are bitfields.
From-SVN: r203315
Diffstat (limited to 'gcc/testsuite/gcc.c-torture/execute/pr58570.c')
-rw-r--r-- | gcc/testsuite/gcc.c-torture/execute/pr58570.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.c-torture/execute/pr58570.c b/gcc/testsuite/gcc.c-torture/execute/pr58570.c new file mode 100644 index 0000000..6d5116d --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/pr58570.c @@ -0,0 +1,22 @@ +#pragma pack(1) +struct S +{ + int f0:15; + int f1:29; +}; + +int e = 1, i; +static struct S d[6]; + +int +main (void) +{ + if (e) + { + d[i].f0 = 1; + d[i].f1 = 1; + } + if (d[0].f1 != 1) + __builtin_abort (); + return 0; +} |