aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Berlin <dberlin@dberlin.org>2005-07-21 22:34:33 +0000
committerDaniel Berlin <dberlin@gcc.gnu.org>2005-07-21 22:34:33 +0000
commitc05a07664ed2c729182c1e8fd16e19cd27f3df44 (patch)
treec93a7013d4e5b662d8272f86ad8a5b740297ccae
parent58669148c9e700f02dcc9b489c21429375962755 (diff)
downloadgcc-c05a07664ed2c729182c1e8fd16e19cd27f3df44.zip
gcc-c05a07664ed2c729182c1e8fd16e19cd27f3df44.tar.gz
gcc-c05a07664ed2c729182c1e8fd16e19cd27f3df44.tar.bz2
alias.c (nonoverlapping_component_refs_p): Use TYPE_MAIN_VARIANT, revert to returning false.
2005-07-20 Daniel Berlin <dberlin@dberlin.org> * alias.c (nonoverlapping_component_refs_p): Use TYPE_MAIN_VARIANT, revert to returning false. From-SVN: r102256
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/alias.c6
2 files changed, 8 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 2c4059b..2764831 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2005-07-20 Daniel Berlin <dberlin@dberlin.org>
+
+ * alias.c (nonoverlapping_component_refs_p): Use TYPE_MAIN_VARIANT,
+ revert to returning false.
+
2005-07-21 Uros Bizjak <uros@kss-loka.si>
PR target/21149
diff --git a/gcc/alias.c b/gcc/alias.c
index cdbb94d..49f712e 100644
--- a/gcc/alias.c
+++ b/gcc/alias.c
@@ -1952,13 +1952,13 @@ nonoverlapping_component_refs_p (tree x, tree y)
do
{
fieldx = TREE_OPERAND (x, 1);
- typex = DECL_FIELD_CONTEXT (fieldx);
+ typex = TYPE_MAIN_VARIANT (DECL_FIELD_CONTEXT (fieldx));
y = orig_y;
do
{
fieldy = TREE_OPERAND (y, 1);
- typey = DECL_FIELD_CONTEXT (fieldy);
+ typey = TYPE_MAIN_VARIANT (DECL_FIELD_CONTEXT (fieldy));
if (typex == typey)
goto found;
@@ -1971,7 +1971,7 @@ nonoverlapping_component_refs_p (tree x, tree y)
}
while (x && TREE_CODE (x) == COMPONENT_REF);
/* Never found a common type. */
- return true;
+ return false;
found:
/* If we're left with accessing different fields of a structure,