diff options
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/tree-ssa-structalias.c | 8 |
2 files changed, 13 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5ad860c9f75..0a16ea8fc33 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2009-04-17 Richard Guenther <rguenther@suse.de> + + * tree-ssa-structalias.c (get_constraint_for_component_ref): + Handle component references view-converting an invariant address. + 2009-04-17 Adam Nemet <anemet@caviumnetworks.com> * doc/tm.texi (TARGET_DEFAULT_TARGET_FLAGS, diff --git a/gcc/tree-ssa-structalias.c b/gcc/tree-ssa-structalias.c index aed4d1a3186..b0768d0c20b 100644 --- a/gcc/tree-ssa-structalias.c +++ b/gcc/tree-ssa-structalias.c @@ -3052,6 +3052,14 @@ get_constraint_for_component_ref (tree t, VEC(ce_s, heap) **results, else result->offset = bitpos; } + else if (result->type == ADDRESSOF) + { + /* We can end up here for component references on a + VIEW_CONVERT_EXPR <>(&foobar). */ + result->type = SCALAR; + result->var = anything_id; + result->offset = 0; + } else gcc_unreachable (); } |