aboutsummaryrefslogtreecommitdiff
path: root/gcc/alias.c
diff options
context:
space:
mode:
authorAndrey Belevantsev <abel@gcc.gnu.org>2009-08-12 15:50:22 +0400
committerAndrey Belevantsev <abel@gcc.gnu.org>2009-08-12 15:50:22 +0400
commit4c7af939453060ac5129e08c7a527556500620b6 (patch)
treeec94cb477663065002f939faa0fb8777d95a11f5 /gcc/alias.c
parentc0e18b82d02f04edf9b909a75b93092582480fff (diff)
downloadgcc-4c7af939453060ac5129e08c7a527556500620b6.zip
gcc-4c7af939453060ac5129e08c7a527556500620b6.tar.gz
gcc-4c7af939453060ac5129e08c7a527556500620b6.tar.bz2
[multiple changes]
2009-08-12 Andrey Belevantsev <abel@ispras.ru> PR rtl-optimization/41033 * alias.c (nonoverlapping_component_refs_p): Punt if strict aliasing is disabled. 2009-08-12 Richard Guenther <rguenther@suse.de> PR rtl-optimization/41033 * gcc.dg/pr41033.c: New test. From-SVN: r150680
Diffstat (limited to 'gcc/alias.c')
-rw-r--r--gcc/alias.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/alias.c b/gcc/alias.c
index fc259b8..442be82 100644
--- a/gcc/alias.c
+++ b/gcc/alias.c
@@ -1980,6 +1980,9 @@ nonoverlapping_component_refs_p (const_tree x, const_tree y)
{
const_tree fieldx, fieldy, typex, typey, orig_y;
+ if (!flag_strict_aliasing)
+ return false;
+
do
{
/* The comparison has to be done at a common type, since we don't