diff options
author | Richard Guenther <rguenther@suse.de> | 2011-05-03 10:18:29 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2011-05-03 10:18:29 +0000 |
commit | 9efdb4adb6c7ee2e70e9c071a662d910d30c5b5f (patch) | |
tree | f2e093fc0b77e4f2a9a4f19ea434a6cf18dd62d4 | |
parent | 60a45536f1179f87632fb4f8c52ce0891f3a43a9 (diff) | |
download | gcc-9efdb4adb6c7ee2e70e9c071a662d910d30c5b5f.zip gcc-9efdb4adb6c7ee2e70e9c071a662d910d30c5b5f.tar.gz gcc-9efdb4adb6c7ee2e70e9c071a662d910d30c5b5f.tar.bz2 |
re PR tree-optimization/48846 (Many -O2 -flto testsuite failures with -m32 -mavx)
2011-05-03 Richard Guenther <rguenther@suse.de>
PR lto/48846
* lto-streamer-in.c (unpack_ts_decl_common_value_fields):
Stream decl_common.off_align instead of the derived DECL_OFFSET_ALIGN.
* lto-streamer-out.c (pack_ts_decl_common_value_fields): Likewise.
From-SVN: r173298
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/lto-streamer-in.c | 4 | ||||
-rw-r--r-- | gcc/lto-streamer-out.c | 2 |
3 files changed, 9 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index aca7c22..468a294 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,12 @@ 2011-05-03 Richard Guenther <rguenther@suse.de> + PR lto/48846 + * lto-streamer-in.c (unpack_ts_decl_common_value_fields): + Stream decl_common.off_align instead of the derived DECL_OFFSET_ALIGN. + * lto-streamer-out.c (pack_ts_decl_common_value_fields): Likewise. + +2011-05-03 Richard Guenther <rguenther@suse.de> + * c-decl.c (grokdeclarator): Instead of looking at TREE_OVERFLOW check if the constant fits in the index type. diff --git a/gcc/lto-streamer-in.c b/gcc/lto-streamer-in.c index ce5e33d..63fa5c0 100644 --- a/gcc/lto-streamer-in.c +++ b/gcc/lto-streamer-in.c @@ -1653,11 +1653,9 @@ unpack_ts_decl_common_value_fields (struct bitpack_d *bp, tree expr) if (TREE_CODE (expr) == FIELD_DECL) { - unsigned HOST_WIDE_INT off_align; DECL_PACKED (expr) = (unsigned) bp_unpack_value (bp, 1); DECL_NONADDRESSABLE_P (expr) = (unsigned) bp_unpack_value (bp, 1); - off_align = (unsigned HOST_WIDE_INT) bp_unpack_value (bp, 8); - SET_DECL_OFFSET_ALIGN (expr, off_align); + expr->decl_common.off_align = bp_unpack_value (bp, 8); } if (TREE_CODE (expr) == RESULT_DECL diff --git a/gcc/lto-streamer-out.c b/gcc/lto-streamer-out.c index 9594983..61ca69a 100644 --- a/gcc/lto-streamer-out.c +++ b/gcc/lto-streamer-out.c @@ -401,7 +401,7 @@ pack_ts_decl_common_value_fields (struct bitpack_d *bp, tree expr) { bp_pack_value (bp, DECL_PACKED (expr), 1); bp_pack_value (bp, DECL_NONADDRESSABLE_P (expr), 1); - bp_pack_value (bp, DECL_OFFSET_ALIGN (expr), 8); + bp_pack_value (bp, expr->decl_common.off_align, 8); } if (TREE_CODE (expr) == RESULT_DECL |