diff options
Diffstat (limited to 'gcc/c-pretty-print.c')
-rw-r--r-- | gcc/c-pretty-print.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/gcc/c-pretty-print.c b/gcc/c-pretty-print.c index dbb56ed4503..43bc1deaec5 100644 --- a/gcc/c-pretty-print.c +++ b/gcc/c-pretty-print.c @@ -786,9 +786,10 @@ pp_c_integer_constant (c_pretty_printer *pp, tree i) if (tree_int_cst_sgn (i) < 0) { pp_c_char (pp, '-'); - i = build_int_cst (NULL_TREE, - -TREE_INT_CST_LOW (i), - ~TREE_INT_CST_HIGH (i) + !TREE_INT_CST_LOW (i)); + i = build_int_cst_wide (NULL_TREE, + -TREE_INT_CST_LOW (i), + ~TREE_INT_CST_HIGH (i) + + !TREE_INT_CST_LOW (i)); } sprintf (pp_buffer (pp)->digit_buffer, HOST_WIDE_INT_PRINT_DOUBLE_HEX, |