diff mbox

wide-int, C++ front end

Message ID 5293AA67.6010309@naturalbridge.com
State New
Headers show

Commit Message

Kenneth Zadeck Nov. 25, 2013, 7:52 p.m. UTC
fixed on the wide-int branch 205363.
On 11/23/2013 09:00 PM, Jason Merrill wrote:
> On 11/23/2013 02:20 PM, Mike Stump wrote:
>> @@ -2605,8 +2606,7 @@ cp_tree_equal (tree t1, tree t2)
>>     switch (code1)
>>       {
>>       case INTEGER_CST:
>> -      return TREE_INT_CST_LOW (t1) == TREE_INT_CST_LOW (t2)
>> -    && TREE_INT_CST_HIGH (t1) == TREE_INT_CST_HIGH (t2);
>> +      return wi::to_widest (t1) == wi::to_widest (t2);
>
> Why not use wi::eq_p like you do in the C front end?
>
> Jason
>
diff mbox

Patch

Index: dwarf2out.c
===================================================================
--- dwarf2out.c	(revision 205360)
+++ dwarf2out.c	(working copy)
@@ -12880,10 +12880,15 @@  mem_loc_descriptor (rtx rtl, enum machin
 	{
 	  dw_die_ref type_die;
 
-	  /* Note that a CONST_DOUBLE rtx could represent either an integer
-	     or a floating-point constant.  A CONST_DOUBLE is used whenever
-	     the constant requires more than one word in order to be
-	     adequately represented.  We output CONST_DOUBLEs as blocks.  */
+	  /* Note that if TARGET_SUPPORTS_WIDE_INT == 0, a
+	     CONST_DOUBLE rtx could represent either an large integer
+	     or a floating-point constant.  If
+	     TARGET_SUPPORTS_WIDE_INT != 0, the value is always a
+	     floating point constant.
+
+	     When it is an integer, a CONST_DOUBLE is used whenever
+	     the constant requires 2 HWIs to be adequately
+	     represented.  We output CONST_DOUBLEs as blocks.  */
 	  if (mode == VOIDmode
 	      || (GET_MODE (rtl) == VOIDmode
 		  && GET_MODE_BITSIZE (mode) != HOST_BITS_PER_DOUBLE_INT))