diff --git a/gcc/ChangeLog b/gcc/ChangeLog index aca7c22132025589766f12094e95d9032f4f9e85..468a2945b6f7f08b3de71a967a5b40b271a168ad 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +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 diff --git a/gcc/lto-streamer-in.c b/gcc/lto-streamer-in.c index ce5e33d0929cae0e8d70fc4ed0cad47e8926c05d..63fa5c0292bc6429c76eab9cc571fc88c26bc110 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 959498312a565b725b030fde9abb7a42879212a6..61ca69a1a0a24d8797a9e02aa13548a22bc2aa2b 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