aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.c-torture/execute/pr58570.c
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2013-10-09 12:59:02 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2013-10-09 12:59:02 +0000
commit378f8976f26a17a53c5c306f7277971e8e7a6aa7 (patch)
tree8fe48efb934d00e67f7202795323adb3f8a915e2 /gcc/testsuite/gcc.c-torture/execute/pr58570.c
parent0fe04f5c3185fa3a3beb39fb811df019ed41569c (diff)
downloadgcc-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.c22
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;
+}