summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2011-05-03 10:18:29 +0000
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2011-05-03 10:18:29 +0000
commit3efe00adc6f0716ab5f8ba1d4107fcad03899c48 (patch)
treef2e093fc0b77e4f2a9a4f19ea434a6cf18dd62d4
parent8f49133b432e67d088eb41045a710c30a2e8a25d (diff)
downloadgcc-3efe00adc6f0716ab5f8ba1d4107fcad03899c48.tar.gz
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@173298 138bc75d-0d04-0410-961f-82ee72b054a4
-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 aca7c221320..468a2945b6f 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 ce5e33d0929..63fa5c0292b 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 959498312a5..61ca69a1a0a 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