===================================================================
@@ -1395,6 +1395,8 @@ wide_int_to_tree (tree type, const wide_
gcc_checking_assert (pcst.elt (l - 2) >= 0);
}
+ gcc_assert (prec <= pcst.get_precision ());
+
wide_int cst = wide_int::from (pcst, prec, sgn);
unsigned int ext_len = get_int_cst_ext_nunits (type, cst);
Bootstrapped / tested on x86_64-unknown-linux-gnu, applied.
Richard.
2015-09-03 Richard Biener <rguenther@suse.de>
* varasm.c (output_constant): Use fold_convert instead of
wide_int_to_tree.
===================================================================
@@ -4699,7 +4699,7 @@ output_constant (tree exp, unsigned HOST
exp = build1 (ADDR_EXPR, saved_type, TREE_OPERAND (exp, 0));
/* Likewise for constant ints. */
else if (TREE_CODE (exp) == INTEGER_CST)
- exp = wide_int_to_tree (saved_type, exp);
+ exp = fold_convert (saved_type, exp);
}