aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-streamer-out.c
diff options
context:
space:
mode:
authorChristian Bruel <christian.bruel@st.com>2015-12-17 14:56:05 +0100
committerChristian Bruel <chrbr@gcc.gnu.org>2015-12-17 14:56:05 +0100
commitb52b98849feb98dccfe62a6fc914be3f2e167c1d (patch)
treea7dc4160b85544cb435236dbef90b30ebb85fdbf /gcc/tree-streamer-out.c
parent2833da1d2a52591aa76c867d00ea3f838f387736 (diff)
downloadgcc-b52b98849feb98dccfe62a6fc914be3f2e167c1d.zip
gcc-b52b98849feb98dccfe62a6fc914be3f2e167c1d.tar.gz
gcc-b52b98849feb98dccfe62a6fc914be3f2e167c1d.tar.bz2
tree.h (TYPE_MODE_RAW): New macro.
2015-12-17 Christian Bruel <christian.bruel@st.com> * tree.h (TYPE_MODE_RAW): New macro. * tree-streamer-out.c (pack_ts_type_common_value_fields): Replace TYPE_MODE by TYPE_MODE_RAW. From-SVN: r231758
Diffstat (limited to 'gcc/tree-streamer-out.c')
-rw-r--r--gcc/tree-streamer-out.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/tree-streamer-out.c b/gcc/tree-streamer-out.c
index bfd0644..ddb7eee 100644
--- a/gcc/tree-streamer-out.c
+++ b/gcc/tree-streamer-out.c
@@ -308,7 +308,10 @@ pack_ts_function_decl_value_fields (struct bitpack_d *bp, tree expr)
static void
pack_ts_type_common_value_fields (struct bitpack_d *bp, tree expr)
{
- bp_pack_machine_mode (bp, TYPE_MODE (expr));
+ /* for VECTOR_TYPE, TYPE_MODE reevaluates the mode using target_flags
+ not necessary valid in a global context.
+ Use the raw value previously set by layout_type. */
+ bp_pack_machine_mode (bp, TYPE_MODE_RAW (expr));
bp_pack_value (bp, TYPE_STRING_FLAG (expr), 1);
/* TYPE_NO_FORCE_BLK is private to stor-layout and need
no streaming. */