Blob Blame History Raw
2000-10-20  Jason Merrill  <jason@redhat.com>

	* error.c (dump_expr): Use host_integerp.

2000-08-18  Nathan Sidwell  <nathan@codesourcery.com>

	* error.c (dump_expr): Correctly negate integer constant.

--- gcc/cp/error.c.jj	Mon Jul 10 09:43:58 2000
+++ gcc/cp/error.c	Wed Nov 29 15:01:13 2000
@@ -1485,16 +1485,16 @@ dump_expr (t, flags)
 	    dump_char (tree_low_cst (t, 0));
 	    OB_PUTC ('\'');
 	  }
-	else if ((unsigned HOST_WIDE_INT) TREE_INT_CST_HIGH (t)
-		 != (TREE_INT_CST_LOW (t) >> (HOST_BITS_PER_WIDE_INT - 1)))
+	else if (! host_integerp (t, 0))
 	  {
 	    tree val = t;
 
 	    if (tree_int_cst_sgn (val) < 0)
 	      {
 		OB_PUTC ('-');
-		val = build_int_2 (~TREE_INT_CST_LOW (val),
-				   -TREE_INT_CST_HIGH (val));
+		val = build_int_2 (-TREE_INT_CST_LOW (val),
+				   ~TREE_INT_CST_HIGH (val)
+				   + !TREE_INT_CST_LOW (val));
 	      }
 	    /* Would "%x%0*x" or "%x%*0x" get zero-padding on all
 	       systems?  */