aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2011-05-03 10:18:29 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2011-05-03 10:18:29 +0000
commit9efdb4adb6c7ee2e70e9c071a662d910d30c5b5f (patch)
treef2e093fc0b77e4f2a9a4f19ea434a6cf18dd62d4
parent60a45536f1179f87632fb4f8c52ce0891f3a43a9 (diff)
downloadgcc-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/ChangeLog7
-rw-r--r--gcc/lto-streamer-in.c4
-rw-r--r--gcc/lto-streamer-out.c2
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