diff options
author | ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-05-15 19:05:06 +0000 |
---|---|---|
committer | ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-05-15 19:05:06 +0000 |
commit | a107223431e030ac4b0e41c1f956ae43a63a5aa5 (patch) | |
tree | 9ec7215e04633e60cb2651e0efe00d834802916f /gcc/lto-streamer-in.c | |
parent | 7858b562839bc05caf0e0586bcae129b022dff5f (diff) | |
download | gcc-a107223431e030ac4b0e41c1f956ae43a63a5aa5.tar.gz |
* gimple.h (compare_field_offset): Rename into...
(gimple_compare_field_offset): ...this.
* gimple.c (compare_field_offset): Rename into...
(gimple_compare_field_offset): ...this. Compare the full access if
the offset is self-referential.
(gimple_types_compatible_p): Adjust for above renaming.
* lto-streamer-in.c (input_gimple_stmt): Likewise. Also compare the
DECL_NONADDRESSABLE_P flag of fields before merging them.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159438 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/lto-streamer-in.c')
-rw-r--r-- | gcc/lto-streamer-in.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/lto-streamer-in.c b/gcc/lto-streamer-in.c index 3c31b04f8c3..5c6658a9f99 100644 --- a/gcc/lto-streamer-in.c +++ b/gcc/lto-streamer-in.c @@ -1094,7 +1094,9 @@ input_gimple_stmt (struct lto_input_block *ib, struct data_in *data_in, { if (tem == field || (TREE_TYPE (tem) == TREE_TYPE (field) - && compare_field_offset (tem, field))) + && DECL_NONADDRESSABLE_P (tem) + == DECL_NONADDRESSABLE_P (field) + && gimple_compare_field_offset (tem, field))) break; } /* In case of type mismatches across units we can fail |