aboutsummaryrefslogtreecommitdiff
path: root/gcc/c-pretty-print.c
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2007-01-08 18:29:18 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2007-01-08 18:29:18 +0000
commit7fb41a42a9490e41b03fe1bcfe0d3903fd8c0372 (patch)
tree39d3113999a59bc49ff73a06408842ee861973fd /gcc/c-pretty-print.c
parent738a52d3e27cc81e337c3f57e845adc0dd666eaa (diff)
downloadgcc-7fb41a42a9490e41b03fe1bcfe0d3903fd8c0372.zip
gcc-7fb41a42a9490e41b03fe1bcfe0d3903fd8c0372.tar.gz
gcc-7fb41a42a9490e41b03fe1bcfe0d3903fd8c0372.tar.bz2
tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Use type of offset to build the index.
2007-01-08 Richard Guenther <rguenther@suse.de> * tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Use type of offset to build the index. * tree-pretty-print.c (dump_generic_node): Don't build negated const just for printing. * c-pretty-print.c (pp_c_integer_constant): Likewise. * builtins.c (fold_builtin_int_roundingfn): Check if result fits the type by using force_fit_type and comparing the result. * predict.c (predict_loops): Use compare_tree_int for comparison. * tree.c (build_int_cst): Fall back to integer_type_node for NULL_TREE type. (build_int_cst_wide): Assert type is non-null. fortran/ * trans-io.c (transfer_array_desc): Use build_int_cst instead of build_int_cstu. From-SVN: r120586
Diffstat (limited to 'gcc/c-pretty-print.c')
-rw-r--r--gcc/c-pretty-print.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/gcc/c-pretty-print.c b/gcc/c-pretty-print.c
index 56b2b47..e7ca124 100644
--- a/gcc/c-pretty-print.c
+++ b/gcc/c-pretty-print.c
@@ -810,17 +810,16 @@ pp_c_integer_constant (c_pretty_printer *pp, tree i)
pp_wide_integer (pp, TREE_INT_CST_LOW (i));
else
{
+ unsigned HOST_WIDE_INT low = TREE_INT_CST_LOW (i);
+ HOST_WIDE_INT high = TREE_INT_CST_HIGH (i);
if (tree_int_cst_sgn (i) < 0)
{
pp_character (pp, '-');
- i = build_int_cst_wide (NULL_TREE,
- -TREE_INT_CST_LOW (i),
- ~TREE_INT_CST_HIGH (i)
- + !TREE_INT_CST_LOW (i));
+ high = ~high + !low;
+ low = -low;
}
sprintf (pp_buffer (pp)->digit_buffer,
- HOST_WIDE_INT_PRINT_DOUBLE_HEX,
- TREE_INT_CST_HIGH (i), TREE_INT_CST_LOW (i));
+ HOST_WIDE_INT_PRINT_DOUBLE_HEX, high, low);
pp_string (pp, pp_buffer (pp)->digit_buffer);
}
if (TYPE_UNSIGNED (type))