X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=gcc%2Ftree-streamer-in.c;h=a70c7670551a244be190e3ffd9e800d5a6d115d7;hb=fe5ad9266cba2cbb611a831aaac450d3f6decd0c;hp=560d4f8f4f7559cc456721a09e0abd4bca1c0c9c;hpb=8c53c46cebf42cb4f4ac125ca6428c5e9b519f66;p=thirdparty%2Fgcc.git diff --git a/gcc/tree-streamer-in.c b/gcc/tree-streamer-in.c index 560d4f8f4f75..a70c7670551a 100644 --- a/gcc/tree-streamer-in.c +++ b/gcc/tree-streamer-in.c @@ -147,8 +147,9 @@ unpack_ts_base_value_fields (struct bitpack_d *bp, tree expr) static void unpack_ts_int_cst_value_fields (struct bitpack_d *bp, tree expr) { - TREE_INT_CST_LOW (expr) = bp_unpack_var_len_unsigned (bp); - TREE_INT_CST_HIGH (expr) = bp_unpack_var_len_int (bp); + int i; + for (i = 0; i < TREE_INT_CST_EXT_NUNITS (expr); i++) + TREE_INT_CST_ELT (expr, i) = bp_unpack_var_len_int (bp); } @@ -568,6 +569,12 @@ streamer_alloc_tree (struct lto_input_block *ib, struct data_in *data_in, unsigned HOST_WIDE_INT len = streamer_read_uhwi (ib); result = make_tree_binfo (len); } + else if (CODE_CONTAINS_STRUCT (code, TS_INT_CST)) + { + unsigned HOST_WIDE_INT len = streamer_read_uhwi (ib); + unsigned HOST_WIDE_INT ext_len = streamer_read_uhwi (ib); + result = make_int_cst (len, ext_len); + } else if (code == CALL_EXPR) { unsigned HOST_WIDE_INT nargs = streamer_read_uhwi (ib);